Commit graph hyperhive/hive-ag3nt
Author SHA1 Message Date
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