@hybridaione/hybridclaw 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +12 -4
  3. package/config.example.json +1 -0
  4. package/console/dist/assets/{chat-FEmn1-LG.js → chat-B3W1Ca_5.js} +24 -24
  5. package/console/dist/assets/chat-BWpulWPN.css +1 -0
  6. package/console/dist/assets/index-BnOCY0ZR.css +1 -0
  7. package/console/dist/assets/index-DIF3rME4.js +15 -0
  8. package/console/dist/assets/{terminal-Bg7qhQCF.js → terminal-D03p0Tw7.js} +1 -1
  9. package/console/dist/index.html +2 -2
  10. package/container/dist/approval-policy.js +15 -0
  11. package/container/dist/approval-policy.js.map +1 -1
  12. package/container/dist/index.js +4 -1
  13. package/container/dist/index.js.map +1 -1
  14. package/container/dist/providers/local-openai-compat.js +21 -2
  15. package/container/dist/providers/local-openai-compat.js.map +1 -1
  16. package/container/dist/tools.js +2 -2
  17. package/container/dist/tools.js.map +1 -1
  18. package/container/package-lock.json +2 -2
  19. package/container/package.json +1 -1
  20. package/container/src/approval-policy.ts +17 -0
  21. package/container/src/index.ts +4 -1
  22. package/container/src/providers/local-openai-compat.ts +39 -2
  23. package/container/src/tools.ts +2 -2
  24. package/dist/agent/prompt-hooks.d.ts.map +1 -1
  25. package/dist/agent/prompt-hooks.js +2 -1
  26. package/dist/agent/prompt-hooks.js.map +1 -1
  27. package/dist/channels/discord/runtime.d.ts.map +1 -1
  28. package/dist/channels/discord/runtime.js +2 -1
  29. package/dist/channels/discord/runtime.js.map +1 -1
  30. package/dist/channels/whatsapp/debounce.d.ts +1 -0
  31. package/dist/channels/whatsapp/debounce.d.ts.map +1 -1
  32. package/dist/channels/whatsapp/debounce.js +7 -0
  33. package/dist/channels/whatsapp/debounce.js.map +1 -1
  34. package/dist/channels/whatsapp/runtime.d.ts.map +1 -1
  35. package/dist/channels/whatsapp/runtime.js +57 -6
  36. package/dist/channels/whatsapp/runtime.js.map +1 -1
  37. package/dist/command-parsing.d.ts +12 -0
  38. package/dist/command-parsing.d.ts.map +1 -0
  39. package/dist/command-parsing.js +30 -0
  40. package/dist/command-parsing.js.map +1 -0
  41. package/dist/commands/policy-command.d.ts.map +1 -1
  42. package/dist/commands/policy-command.js +9 -14
  43. package/dist/commands/policy-command.js.map +1 -1
  44. package/dist/config/config.d.ts +4 -0
  45. package/dist/config/config.d.ts.map +1 -1
  46. package/dist/config/config.js +16 -10
  47. package/dist/config/config.js.map +1 -1
  48. package/dist/config/runtime-config.d.ts +1 -0
  49. package/dist/config/runtime-config.d.ts.map +1 -1
  50. package/dist/config/runtime-config.js +2 -0
  51. package/dist/config/runtime-config.js.map +1 -1
  52. package/dist/gateway/concierge-commands.d.ts.map +1 -1
  53. package/dist/gateway/concierge-commands.js +5 -4
  54. package/dist/gateway/concierge-commands.js.map +1 -1
  55. package/dist/gateway/gateway-chat-service.js +22 -12
  56. package/dist/gateway/gateway-chat-service.js.map +1 -1
  57. package/dist/gateway/gateway-client.d.ts +2 -2
  58. package/dist/gateway/gateway-client.d.ts.map +1 -1
  59. package/dist/gateway/gateway-client.js.map +1 -1
  60. package/dist/gateway/gateway-http-server.d.ts.map +1 -1
  61. package/dist/gateway/gateway-http-server.js +2 -1
  62. package/dist/gateway/gateway-http-server.js.map +1 -1
  63. package/dist/gateway/gateway-plugin-service.d.ts.map +1 -1
  64. package/dist/gateway/gateway-plugin-service.js +11 -10
  65. package/dist/gateway/gateway-plugin-service.js.map +1 -1
  66. package/dist/gateway/gateway-service.d.ts +16 -0
  67. package/dist/gateway/gateway-service.d.ts.map +1 -1
  68. package/dist/gateway/gateway-service.js +724 -168
  69. package/dist/gateway/gateway-service.js.map +1 -1
  70. package/dist/gateway/gateway-session-status.d.ts +6 -0
  71. package/dist/gateway/gateway-session-status.d.ts.map +1 -1
  72. package/dist/gateway/gateway-session-status.js +18 -1
  73. package/dist/gateway/gateway-session-status.js.map +1 -1
  74. package/dist/gateway/skill-commands.d.ts.map +1 -1
  75. package/dist/gateway/skill-commands.js +12 -13
  76. package/dist/gateway/skill-commands.js.map +1 -1
  77. package/dist/gateway/text-channel-commands.d.ts.map +1 -1
  78. package/dist/gateway/text-channel-commands.js +4 -3
  79. package/dist/gateway/text-channel-commands.js.map +1 -1
  80. package/dist/infra/container-runner.d.ts.map +1 -1
  81. package/dist/infra/container-runner.js +4 -4
  82. package/dist/infra/container-runner.js.map +1 -1
  83. package/dist/infra/host-runner.d.ts.map +1 -1
  84. package/dist/infra/host-runner.js +4 -4
  85. package/dist/infra/host-runner.js.map +1 -1
  86. package/dist/memory/db.d.ts +1 -0
  87. package/dist/memory/db.d.ts.map +1 -1
  88. package/dist/memory/db.js +14 -0
  89. package/dist/memory/db.js.map +1 -1
  90. package/dist/security/runtime-secrets.d.ts +1 -1
  91. package/dist/security/runtime-secrets.d.ts.map +1 -1
  92. package/dist/security/runtime-secrets.js +2 -0
  93. package/dist/security/runtime-secrets.js.map +1 -1
  94. package/dist/tui-proactive.d.ts.map +1 -1
  95. package/dist/tui-proactive.js +10 -1
  96. package/dist/tui-proactive.js.map +1 -1
  97. package/dist/tui-thinking.d.ts +1 -0
  98. package/dist/tui-thinking.d.ts.map +1 -1
  99. package/dist/tui-thinking.js +11 -0
  100. package/dist/tui-thinking.js.map +1 -1
  101. package/dist/tui.d.ts +4 -0
  102. package/dist/tui.d.ts.map +1 -1
  103. package/dist/tui.js +298 -32
  104. package/dist/tui.js.map +1 -1
  105. package/docs/content/README.md +7 -0
  106. package/docs/content/developer-guide/approvals.md +6 -3
  107. package/docs/content/developer-guide/runtime.md +6 -2
  108. package/docs/content/reference/configuration.md +7 -0
  109. package/package.json +1 -1
  110. package/console/dist/assets/chat-BSXPZ8qI.css +0 -1
  111. package/console/dist/assets/index-D63KL_Xr.js +0 -15
  112. package/console/dist/assets/index-DbvykpXR.css +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,58 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.13.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.13.1) - 2026-04-24
6
+
7
+ ### Added
8
+
9
+ - **Delegation runtime reporting**: Delegated agent runs now persist their own
10
+ request logs, audit tool events, model usage, token counts, and artifacts.
11
+ `/status` rolls first-level delegate usage into the session summary when a
12
+ dedicated delegate model is configured.
13
+ - **Dedicated proactive delegate model**: Added
14
+ `proactive.delegation.model`, allowing operators to run delegated tasks on a
15
+ different model from the parent orchestration turn.
16
+ - **Live delegate progress in the TUI**: Delegate batches now stream status
17
+ blocks, child tool progress, token totals, and synthesized final-answer
18
+ deltas into local TUI sessions without interrupting the active prompt.
19
+ - **Shared gateway command parsing helpers**: Added common parsing utilities
20
+ for command ids, lower-case subcommands, and integer arguments across
21
+ policy, concierge, skill, session, usage, export, audit, and schedule
22
+ commands.
23
+
24
+ ### Changed
25
+
26
+ - **Delegation prompts and approvals are clearer**: Delegation metadata moves
27
+ into the child user prompt, subagents get more explicit tool-use guidance,
28
+ duplicate delegate task titles are tracked independently, and `delegate` is
29
+ classified as green because child tool calls are approved separately.
30
+ - **TUI activity rendering is more stable**: Running tools pulse in place,
31
+ completed tools switch to a green checkmark, streamed text row counts are
32
+ tracked incrementally, and delegate tool calls suppress partial parent text
33
+ until delegate output is ready.
34
+ - **Console chat navigation is easier to reach**: The chat sidebar collapses
35
+ to an icon rail on desktop, exposes a mobile topbar trigger, and respects
36
+ reduced-motion preferences.
37
+ - **Encrypted web-search credentials feed runtimes consistently**: Brave,
38
+ Perplexity, and Tavily API keys are resolved through the runtime secret store
39
+ and injected into host/container agent runtimes from the active encrypted
40
+ credentials, with environment variables used as fallback.
41
+ - **Liquid/LFM local model tool prompts are more compatible**: Local
42
+ OpenAI-compatible Liquid/LFM requests include a compact tool list in the
43
+ system prompt while preserving normal tool-choice request fields.
44
+
45
+ ### Fixed
46
+
47
+ - **WhatsApp shutdown no longer waits on stale inbound batches**: Runtime
48
+ shutdown cancels debounced WhatsApp batches, aborts in-flight handlers,
49
+ stops typing indicators, and avoids starting new typing state after shutdown
50
+ begins.
51
+ - **Console audit inspection stays visible while browsing events**: The audit
52
+ detail panel remains sticky as the event list scrolls.
53
+ - **Whitespace-padded command arguments normalize consistently**: Gateway
54
+ command handlers now trim ids and lower-case subcommands through shared
55
+ helpers before dispatching.
56
+
5
57
  ## [0.13.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.13.0) - 2026-04-22
6
58
 
7
59
  ### Added
package/README.md CHANGED
@@ -124,13 +124,17 @@ Once the gateway is running, open HybridClaw locally:
124
124
  - `/admin/gateway` reloads runtime config and refreshes secrets from the
125
125
  browser without tearing down the enclosing workspace container; keep
126
126
  `hybridclaw gateway restart` for local/manual full restarts.
127
+ - `proactive.delegation.model` can pin delegated work to a different model
128
+ from the parent turn; `/status` shows delegate token totals and local-token
129
+ share when that split is configured.
127
130
  - `container.persistBashState` controls whether bash tool calls share shell
128
131
  state (`cd`, exported env vars, aliases) across turns in the same active
129
132
  runtime session; `/admin/config` exposes the same setting as `Persistent bash state`.
130
133
  - Generated artifacts remain downloadable and attachable even when the sandbox
131
134
  exposes a custom workspace display root such as `/app`.
132
- - `hybridclaw tui` includes a keyboard-driven approval picker and prints a
133
- ready-to-run `hybridclaw tui --resume <sessionId>` command on exit.
135
+ - `hybridclaw tui` includes live delegate progress, pulsing tool rows,
136
+ completion checkmarks, a keyboard-driven approval picker, and a ready-to-run
137
+ `hybridclaw tui --resume <sessionId>` command on exit.
134
138
  - `hybridclaw doctor` checks runtime health including resource hygiene
135
139
  maintenance for stale gateway artifacts.
136
140
  - `hybridclaw onboarding` and related local setup flows can restore the last
@@ -159,6 +163,9 @@ Once the gateway is running, open HybridClaw locally:
159
163
  can merge runtime-discovered model catalogs with operator-pinned lists.
160
164
  - Anthropic can run through the direct Messages API with `ANTHROPIC_API_KEY`
161
165
  or through the official Claude CLI transport in host sandbox mode.
166
+ - Brave, Perplexity, and Tavily web-search credentials can live in the
167
+ encrypted runtime secret store and are passed into host or container agent
168
+ runtimes from the active config.
162
169
  - Google OAuth credentials for Workspace skills live in the encrypted runtime
163
170
  secret store; agent runtimes receive short-lived access tokens for `gog` and
164
171
  `gws` instead of long-lived refresh tokens.
@@ -229,8 +236,9 @@ Once the gateway is running, open HybridClaw locally:
229
236
  - **Gateway service** (Node.js) — shared message/command handlers, SQLite persistence (KV + semantic + knowledge graph + canonical sessions + usage events), scheduler, heartbeat, web/API, loopback OpenAI-compatible API, and channel integrations for Discord, Slack, Microsoft Teams, Telegram, iMessage, WhatsApp, Twilio voice, and email
230
237
  - **TUI client** — thin client over HTTP (`/api/chat`, `/api/command`) with
231
238
  a structured startup banner that surfaces model, sandbox, gateway, and
232
- chatbot context before the first prompt, an interactive approval picker for
233
- pending approvals, and an exit summary with a ready-to-run resume command
239
+ chatbot context before the first prompt, live delegate status/progress,
240
+ an interactive approval picker for pending approvals, and an exit summary
241
+ with a ready-to-run resume command
234
242
  - **Container** (Docker, ephemeral) — HybridAI API client, sandboxed tool executor, and preinstalled browser automation runtime with cursor-aware snapshots for JS-heavy custom UI
235
243
  - Communication via file-based IPC (input.json / output.json)
236
244
 
@@ -525,6 +525,7 @@
525
525
  },
526
526
  "delegation": {
527
527
  "enabled": true,
528
+ "model": "",
528
529
  "maxConcurrent": 3,
529
530
  "maxDepth": 2,
530
531
  "maxPerTurn": 3