@hybridaione/hybridclaw 0.12.10 → 0.12.11

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 (109) hide show
  1. package/CHANGELOG.md +32 -4
  2. package/README.md +9 -2
  3. package/config.example.json +2 -1
  4. package/console/dist/assets/{chat-99PtDMpR.js → chat-BzfDrs0I.js} +27 -27
  5. package/console/dist/assets/chat-DAI4OGIa.css +1 -0
  6. package/console/dist/assets/{index-Oer5XQrC.js → index-Cr9FpxIn.js} +4 -4
  7. package/console/dist/assets/{terminal-CCSFrUcy.js → terminal-CHC7yoWJ.js} +1 -1
  8. package/console/dist/index.html +1 -1
  9. package/container/dist/index.js +8 -4
  10. package/container/dist/index.js.map +1 -1
  11. package/container/dist/model-retry.js +104 -0
  12. package/container/dist/model-retry.js.map +1 -1
  13. package/container/dist/runtime-paths.js +5 -2
  14. package/container/dist/runtime-paths.js.map +1 -1
  15. package/container/dist/tool-parallelism.js +1 -1
  16. package/container/dist/tool-parallelism.js.map +1 -1
  17. package/container/dist/tools.js +234 -99
  18. package/container/dist/tools.js.map +1 -1
  19. package/container/package-lock.json +2 -2
  20. package/container/package.json +1 -1
  21. package/container/src/index.ts +9 -2
  22. package/container/src/model-retry.ts +134 -0
  23. package/container/src/runtime-paths.ts +6 -2
  24. package/container/src/tool-parallelism.ts +1 -1
  25. package/container/src/tools.ts +272 -112
  26. package/container/src/types.ts +1 -0
  27. package/dist/agent/prompt-hooks.d.ts.map +1 -1
  28. package/dist/agent/prompt-hooks.js +7 -3
  29. package/dist/agent/prompt-hooks.js.map +1 -1
  30. package/dist/audit/observability-ingest.d.ts.map +1 -1
  31. package/dist/audit/observability-ingest.js +36 -8
  32. package/dist/audit/observability-ingest.js.map +1 -1
  33. package/dist/channels/discord/reactions.d.ts.map +1 -1
  34. package/dist/channels/discord/reactions.js +21 -10
  35. package/dist/channels/discord/reactions.js.map +1 -1
  36. package/dist/channels/discord/runtime.d.ts.map +1 -1
  37. package/dist/channels/discord/runtime.js +13 -5
  38. package/dist/channels/discord/runtime.js.map +1 -1
  39. package/dist/channels/discord/stream.d.ts.map +1 -1
  40. package/dist/channels/discord/stream.js +6 -1
  41. package/dist/channels/discord/stream.js.map +1 -1
  42. package/dist/channels/discord/transport-errors.d.ts +12 -0
  43. package/dist/channels/discord/transport-errors.d.ts.map +1 -0
  44. package/dist/channels/discord/transport-errors.js +59 -0
  45. package/dist/channels/discord/transport-errors.js.map +1 -0
  46. package/dist/channels/discord/typing.d.ts.map +1 -1
  47. package/dist/channels/discord/typing.js +8 -2
  48. package/dist/channels/discord/typing.js.map +1 -1
  49. package/dist/channels/email/connection.d.ts.map +1 -1
  50. package/dist/channels/email/connection.js +42 -4
  51. package/dist/channels/email/connection.js.map +1 -1
  52. package/dist/channels/whatsapp/connection.d.ts.map +1 -1
  53. package/dist/channels/whatsapp/connection.js +105 -13
  54. package/dist/channels/whatsapp/connection.js.map +1 -1
  55. package/dist/command-registry.d.ts.map +1 -1
  56. package/dist/command-registry.js +24 -0
  57. package/dist/command-registry.js.map +1 -1
  58. package/dist/commands/btw-command.d.ts +3 -0
  59. package/dist/commands/btw-command.d.ts.map +1 -0
  60. package/dist/commands/btw-command.js +57 -0
  61. package/dist/commands/btw-command.js.map +1 -0
  62. package/dist/config/config.d.ts +1 -0
  63. package/dist/config/config.d.ts.map +1 -1
  64. package/dist/config/config.js +2 -0
  65. package/dist/config/config.js.map +1 -1
  66. package/dist/config/runtime-config.d.ts +1 -0
  67. package/dist/config/runtime-config.d.ts.map +1 -1
  68. package/dist/config/runtime-config.js +2 -0
  69. package/dist/config/runtime-config.js.map +1 -1
  70. package/dist/gateway/gateway-service.d.ts.map +1 -1
  71. package/dist/gateway/gateway-service.js +13 -0
  72. package/dist/gateway/gateway-service.js.map +1 -1
  73. package/dist/infra/container-runner.d.ts.map +1 -1
  74. package/dist/infra/container-runner.js +11 -5
  75. package/dist/infra/container-runner.js.map +1 -1
  76. package/dist/infra/host-runner.d.ts.map +1 -1
  77. package/dist/infra/host-runner.js +2 -1
  78. package/dist/infra/host-runner.js.map +1 -1
  79. package/dist/logger.d.ts +6 -0
  80. package/dist/logger.d.ts.map +1 -1
  81. package/dist/logger.js +41 -15
  82. package/dist/logger.js.map +1 -1
  83. package/dist/skills/skill-import-commons.d.ts +16 -0
  84. package/dist/skills/skill-import-commons.d.ts.map +1 -0
  85. package/dist/skills/skill-import-commons.js +95 -0
  86. package/dist/skills/skill-import-commons.js.map +1 -0
  87. package/dist/skills/skills-import-github.d.ts +0 -1
  88. package/dist/skills/skills-import-github.d.ts.map +1 -1
  89. package/dist/skills/skills-import-github.js +2 -46
  90. package/dist/skills/skills-import-github.js.map +1 -1
  91. package/dist/skills/skills-import-hubs.d.ts.map +1 -1
  92. package/dist/skills/skills-import-hubs.js +7 -42
  93. package/dist/skills/skills-import-hubs.js.map +1 -1
  94. package/dist/skills/skills-import.d.ts.map +1 -1
  95. package/dist/skills/skills-import.js +2 -1
  96. package/dist/skills/skills-import.js.map +1 -1
  97. package/dist/types/container.d.ts +1 -0
  98. package/dist/types/container.d.ts.map +1 -1
  99. package/dist/utils/transport-errors.d.ts +3 -0
  100. package/dist/utils/transport-errors.d.ts.map +1 -0
  101. package/dist/utils/transport-errors.js +156 -0
  102. package/dist/utils/transport-errors.js.map +1 -0
  103. package/docs/chat.html +197 -11
  104. package/docs/content/README.md +15 -10
  105. package/docs/content/channels/overview.md +3 -0
  106. package/docs/content/reference/commands.md +8 -2
  107. package/docs/content/reference/configuration.md +5 -1
  108. package/package.json +1 -1
  109. package/console/dist/assets/chat-Bsx9fu6P.css +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.12.11](https://github.com/HybridAIOne/hybridclaw/tree/v0.12.11)
6
+
7
+ ### Added
8
+
9
+ - **Ephemeral `/btw` side-question command**: Added `/btw <question>` across
10
+ local and Discord slash-command surfaces. It answers side questions from
11
+ recent conversation context with a tool-less model call, without persisting
12
+ the side exchange to session history.
13
+ - **Concurrent `/btw` threads in browser chat**: The built-in `/chat` surface
14
+ accepts `/btw ...` while a primary run is active and renders those replies in
15
+ a distinct side-thread presentation.
16
+ - **Bash tool state can persist between calls**: Added persistent bash state
17
+ support so bash tool calls can preserve
18
+ working directory, exported environment variables, and aliases for the active
19
+ session by default, plus `container.persistBashState` and a matching
20
+ `/admin/config` toggle (`Persistent bash state`) to disable this behavior
21
+ when stateless shell calls are preferred.
22
+
23
+ ### Fixed
24
+
25
+ - **Expected transport outages stay local and less noisy**: Discord, Email
26
+ IMAP, and WhatsApp transport handlers now classify expected transient
27
+ transport failures, keep reconnect loops local, and rate-limit repetitive
28
+ outage logs.
29
+ - **Cloud artifact path remapping remains stable across workspace roots**:
30
+ Artifact remapping now preserves host-resolved workspace paths when runtime
31
+ and display roots differ, keeping generated files downloadable and attachable
32
+ in cloud-backed sessions.
33
+ - **Remote skill import guardrails close unsafe/over-budget paths**: GitHub
34
+ and skill-hub imports now enforce shared file-count/byte budgets during
35
+ streaming downloads and consistently reject unsafe relative paths.
36
+
5
37
  ## [0.12.10](https://github.com/HybridAIOne/hybridclaw/tree/v0.12.10)
6
38
 
7
39
  ### Added
@@ -29,10 +61,6 @@
29
61
  output artifacts are remapped against the active workspace path even when the
30
62
  runtime exposes a different display root such as `/app`, keeping generated
31
63
  files downloadable and attachable from chat surfaces.
32
- - **Web chat history search respects authenticated session identity**:
33
- `/api/chat/recent` title search now uses the signed session subject for
34
- authenticated browser sessions, restoring recent-search access after the auth
35
- regression in the initial chat-search rollout.
36
64
 
37
65
  ## [0.12.9](https://github.com/HybridAIOne/hybridclaw/tree/v0.12.9)
38
66
 
package/README.md CHANGED
@@ -95,6 +95,9 @@ Once the gateway is running, open HybridClaw locally:
95
95
  - Web Chat: `http://127.0.0.1:9090/chat`
96
96
  - Web Chat keeps a recent-session sidebar and can search conversation titles
97
97
  with contextual snippets before you reopen an older browser session
98
+ - Web Chat accepts `/btw <question>` side questions while a primary run is
99
+ active, so you can ask an ephemeral follow-up without interrupting the
100
+ current run
98
101
  - Admin Console: `http://127.0.0.1:9090/admin` for channels, versioned agent files,
99
102
  scheduler, audit, config, and channel-specific instructions
100
103
  - Agent Dashboard: `http://127.0.0.1:9090/agents`
@@ -118,6 +121,9 @@ Once the gateway is running, open HybridClaw locally:
118
121
  - `/admin/gateway` reloads runtime config and refreshes secrets from the
119
122
  browser without tearing down the enclosing workspace container; keep
120
123
  `hybridclaw gateway restart` for local/manual full restarts.
124
+ - `container.persistBashState` controls whether bash tool calls share shell
125
+ state (`cd`, exported env vars, aliases) across turns in the same active
126
+ runtime session; `/admin/config` exposes the same setting as `Persistent bash state`.
121
127
  - Generated artifacts remain downloadable and attachable even when the sandbox
122
128
  exposes a custom workspace display root such as `/app`.
123
129
  - `hybridclaw tui` includes a keyboard-driven approval picker and prints a
@@ -134,8 +140,9 @@ Once the gateway is running, open HybridClaw locally:
134
140
  observed skill, artifact presence, and counted tool-call totals.
135
141
  - Channel delivery stays predictable: email seeds its first mailbox cursor from
136
142
  the current head instead of replaying old inbox mail, retry-aware transports
137
- honor server `Retry-After` backoff, and WhatsApp startup avoids intermittent
138
- init-query bad-request failures.
143
+ honor server `Retry-After` backoff, expected transient Discord/Email/WhatsApp
144
+ transport outages stay local with rate-limited logging, and WhatsApp startup
145
+ avoids intermittent init-query bad-request failures.
139
146
 
140
147
  ## Models, Skills, and Memory
141
148
 
@@ -373,7 +373,8 @@
373
373
  "binds": [],
374
374
  "additionalMounts": "",
375
375
  "maxOutputBytes": 10485760,
376
- "maxConcurrent": 5
376
+ "maxConcurrent": 5,
377
+ "persistBashState": true
377
378
  },
378
379
  "mcpServers": {
379
380
  "filesystem": {