iris
476a7a3c9f
web_ui: support unix:<path> upstreams in extraWebProxies
...
reqwest has no UDS transport, so unix: upstreams dial the socket
directly with a raw hyper/1.1 client per request instead. http(s)://
upstreams are unaffected (still go through the existing reqwest path).
Adds hyper (client, http1), hyper-util (tokio IO adapter), and
http-body-util as direct hive-ag3nt dependencies - all three were
already present transitively via reqwest, this just uses them
directly for the new code path.
2026-07-10 12:53:09 +02:00
damocles
89ce8790ff
feat(web_ui): per-path reverse-proxy via HIVE_EXTRA_WEB_PROXIES
2026-07-10 12:14:21 +02:00
damocles
493face93c
feat( #2300 ): recv reports remaining inbox depth so agents know how many messages are left
2026-07-10 02:03:29 +02:00
damocles
5027068e31
feat( #2109 ): harness-side idle watchdog to bail on anthropic api stall storms
2026-07-07 22:45:18 +02:00
müde
261f02439b
fix(forge): review fixes for the forgejo-api port
2026-07-07 14:42:43 +02:00
müde
4468e86e2d
refactor(hive-ag3nt): port forge_notify to forgejo-api
2026-07-07 09:10:24 +02:00
müde
0f035ce1e9
build: add time + url deps for forgejo-api port
2026-07-07 08:50:35 +02:00
müde
39fe0f306a
build: add forgejo-api workspace dep (sync feature for hive-forge)
2026-07-07 08:48:07 +02:00
müde
5b062dca55
refactor(hive-ag3nt): split hive bin into hive-agent / hive-agent-mcp / hive-agent-wake
2026-07-06 23:48:05 +02:00
müde
dc6a37b29a
style: import ordering + blank lines after now_unix sweep (treefmt)
2026-07-06 22:08:40 +02:00
müde
8cdebb1752
fix(hive-ag3nt): drop attribute orphaned by now_unix removal
2026-07-06 22:07:39 +02:00
müde
b0736e6f3e
refactor(hive-ag3nt): split mcp into submodules
...
mod.rs keeps the #[tool_router] impl + server wiring untouched;
rendering/format helpers move to mcp/render.rs, the 24 tool arg
structs to mcp/args.rs
2026-07-06 22:00:30 +02:00
müde
c84028ddcf
refactor: single now_unix in hive_sh4re::wire_time
...
replaces 15 per-module copies (now_unix/now_secs) across hive-c0re and
hive-ag3nt; wire_time already owns the epoch-seconds convention
2026-07-06 21:58:32 +02:00
müde
d190420946
refactor(hive-c0re): shared additive-migration helper in db
...
db::apply_migrations runs ALTER lists and ignores duplicate-column
errors (turn_stats' pattern); approvals, operator_questions, broker
reminders, and scheduled_prompts drop their hand-rolled
pragma_table_info guards. broker's acked_at migration stays bespoke —
its backfill must only run when the column was just created
2026-07-06 21:53:48 +02:00
müde
8a78b8a464
docs(agent): clarify cred-file set + settings doc pointer, fix forge_notify cross-ref
2026-07-06 00:03:43 +02:00
müde
b4f54a194b
fix(agent): don't eat /compact flag on failed turn; restore ctx fallback; requeue on SessionNotFound
2026-07-06 00:01:15 +02:00
müde
216eb8ae9b
docs(turn-loop): split into index + claude-invocation/config/mcp sub-pages, condense the loop
2026-07-05 23:04:48 +02:00
müde
746f518250
fix(agent): show Compacting state during in-flight operator /compact
2026-07-05 22:54:20 +02:00
müde
59dd7955aa
fix(stats): last_usage orders by id (insertion order); clarify Window default
2026-07-05 22:53:16 +02:00
müde
f2f104627d
refactor(agent): drop vestigial install_configured param, non_empty_env helper, explicit infallible expect in client
2026-07-05 22:49:45 +02:00
müde
9cebc128e2
refactor(web_ui): Bus::effective_context_window, sigint_claude + per-connection hello, relocate fetch_reminder_stats, drop redundant guard
2026-07-05 22:47:14 +02:00
müde
77f31b44bb
refactor(agent): fire_and_forget helper, drop dead default_model + compact_percent fallback, fix stale comment
2026-07-05 22:43:23 +02:00
müde
9721be7bc3
docs(turn_stats): mark unread columns as forward-capture, not consumed
2026-07-05 22:39:45 +02:00
müde
f490e07509
refactor(prompt): drop unreachable role-block defensive branches; keep marker grammar
2026-07-05 22:36:10 +02:00
müde
20ff891962
refactor(forge_notify): share render_body_excerpt across formatters; fix nits + docs
2026-07-05 22:32:00 +02:00
müde
90af3e8d0b
refactor(mcp): split claude launch-config layer into mcp_config.rs
2026-07-05 22:24:46 +02:00
müde
e1e3bda94a
style: apply nix fmt
2026-07-05 22:24:42 +02:00
müde
9a0d525fdf
refactor(mcp): drop vestigial SocketReply, match hive_sh4re::Response directly; remove dead code
2026-07-05 22:12:45 +02:00
müde
543177ed74
refactor(mcp): collapse repeated failure-arm triplet into reply_err helper
2026-07-05 22:05:06 +02:00
müde
785a36b907
refactor(web_ui): share one broker_request helper; /send timeout now 409 not 500
2026-07-05 21:55:28 +02:00
müde
d83d03e4c0
fix(agent): key session detection off credential filenames; own clear_session in login.rs
2026-07-05 21:48:56 +02:00
müde
d004fdc0eb
fix(stats): set busy_timeout on agent snapshot reader so a concurrent write can't blank the page
2026-07-05 21:43:25 +02:00
müde
2b5edef4d1
fix(agent): recover PromptTooLong via archive+requeue; model TurnOutcome as Result
2026-07-05 21:42:13 +02:00
müde
7c851c5dd3
fix(web_ui): cap bind_with_retry at 12 attempts, then return AddrInUse
2026-07-05 20:41:37 +02:00
müde
bdfeac80a7
refactor(web_ui): split into a module dir by concern, serve stays in mod.rs
2026-07-05 20:40:07 +02:00
müde
efaf56c2d5
refactor(agent): remove vestigial turn_lock (serve loop is single-driver)
2026-07-05 20:26:04 +02:00
müde
66f5b8720d
refactor(agent): use hive_claude::TokenUsage directly, drop the duplicate
2026-07-05 20:21:33 +02:00
müde
c9de2eeb97
refactor(agent): build the InfiniteSession once in the serve loop, thread it
2026-07-05 20:16:06 +02:00
müde
487e62a9ca
feat(hive-claude): parse turn telemetry in the lib, return it from run
2026-07-05 20:06:30 +02:00
müde
faa7f982af
feat(web_ui): defer operator /compact to turn end, run when idle too
2026-07-05 19:49:00 +02:00
müde
80d819e444
feat(hive-claude): add InfiniteSession (name+store+compaction policy)
2026-07-05 19:38:16 +02:00
müde
bf93a81e1d
refactor(agent): move login-wait into login.rs, dedupe env resolvers
2026-07-05 19:08:48 +02:00
müde
a3b66241d1
refactor(agent): extract claude driver into hive-claude crate
2026-07-05 18:50:12 +02:00
müde
e35acca814
fix(agent): pin claude session by constant title, archive on reset
2026-07-05 18:13:54 +02:00
damocles
6d2e56e7c8
fix formatting (treefmt)
2026-07-05 12:00:18 +02:00
damocles
fac326aa35
fix(broker): route all wakes through sqlite, remove transient ping buffer
2026-07-05 11:55:40 +02:00
atlas
f111dac231
fix(test): update effort_validation test to accept low and max levels
...
The test's invalid-values list included "low" which was valid before
this PR but is now a legitimate effort level. Replace with "lowest"
(still invalid) so the test keeps its coverage without false-failing.
2026-07-04 19:52:33 +02:00
atlas
742f4ef916
feat( #2220 ): add low and max effort levels
...
claude --effort now accepts low, medium, high, xhigh, max.
Expand EFFORT_LEVELS from 3 to 5, update NixOS enum + description,
and fix the stale doc comment in web_ui.rs.
Closes #2220
2026-07-04 19:52:33 +02:00
damocles
9b2d16ae6a
fix( #2190 ): replace MANAGER_AGENT fallbacks with "operator" for attribution
...
- loose_ends.rs: NULL submitter on legacy approval rows → "operator"
- questions.rs: NULL submitter on cancel_loose_end → "operator"
- server.rs: HostRequest::RequestSpawn submitter → "operator"
- dashboard.rs: web-UI spawn submitter → "operator"
- socket_server.rs: submit_init_config with no declared parent → "operator"
- mcp.rs: drop MANAGER_AGENT exception from check_send_allowed; keep <parent> only
2026-07-04 18:56:16 +02:00
damocles
c708f698ee
fix( #2175 ): return 409/400 not 500 for turn-in-flight + validation errors
2026-07-04 13:13:20 +02:00