@hybridaione/hybridclaw 0.14.0 → 0.15.0

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 (357) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +18 -8
  3. package/config.example.json +17 -3
  4. package/console/dist/assets/{chat-DSj1yysO.js → chat-CwaxVsg1.js} +25 -25
  5. package/console/dist/assets/chat-DN6j8zuG.css +1 -0
  6. package/console/dist/assets/cx-BhUTAaHw.js +1 -0
  7. package/console/dist/assets/index-BmK2dcpa.css +1 -0
  8. package/console/dist/assets/index-De9e9-ta.js +16 -0
  9. package/console/dist/assets/{terminal-Cax15rBK.js → terminal-DFbKWIqg.js} +1 -1
  10. package/console/dist/icons/codex.svg +1 -0
  11. package/console/dist/icons/hybridai.png +0 -0
  12. package/console/dist/index.html +3 -3
  13. package/container/dist/approval-policy.js +29 -5
  14. package/container/dist/approval-policy.js.map +1 -1
  15. package/container/dist/index.js +118 -8
  16. package/container/dist/index.js.map +1 -1
  17. package/container/dist/tools.js +21 -8
  18. package/container/dist/tools.js.map +1 -1
  19. package/container/dist/types.js +9 -0
  20. package/container/dist/types.js.map +1 -1
  21. package/container/dist/web-search.js +9 -0
  22. package/container/dist/web-search.js.map +1 -1
  23. package/container/package-lock.json +2 -2
  24. package/container/package.json +1 -1
  25. package/container/shared/sensitive-env.d.ts +16 -0
  26. package/container/shared/sensitive-env.js +66 -0
  27. package/container/shared/web-search-config.d.ts +22 -0
  28. package/container/shared/web-search-config.js +7 -0
  29. package/container/src/approval-policy.ts +37 -5
  30. package/container/src/index.ts +166 -128
  31. package/container/src/tools.ts +28 -9
  32. package/container/src/types.ts +23 -20
  33. package/container/src/web-search.ts +21 -27
  34. package/dist/agent/executor-types.d.ts +2 -1
  35. package/dist/agent/executor-types.d.ts.map +1 -1
  36. package/dist/agents/agent-config-command.d.ts +1 -1
  37. package/dist/agents/agent-config-command.d.ts.map +1 -1
  38. package/dist/agents/agent-config-command.js +53 -0
  39. package/dist/agents/agent-config-command.js.map +1 -1
  40. package/dist/agents/agent-registry.d.ts +5 -0
  41. package/dist/agents/agent-registry.d.ts.map +1 -1
  42. package/dist/agents/agent-registry.js +153 -22
  43. package/dist/agents/agent-registry.js.map +1 -1
  44. package/dist/agents/agent-runtime-config.d.ts.map +1 -1
  45. package/dist/agents/agent-runtime-config.js +6 -2
  46. package/dist/agents/agent-runtime-config.js.map +1 -1
  47. package/dist/agents/agent-types.d.ts +10 -0
  48. package/dist/agents/agent-types.d.ts.map +1 -1
  49. package/dist/agents/agent-types.js +71 -0
  50. package/dist/agents/agent-types.js.map +1 -1
  51. package/dist/agents/team-structure-revisions.d.ts +19 -0
  52. package/dist/agents/team-structure-revisions.d.ts.map +1 -0
  53. package/dist/agents/team-structure-revisions.js +74 -0
  54. package/dist/agents/team-structure-revisions.js.map +1 -0
  55. package/dist/agents/team-structure.d.ts +38 -0
  56. package/dist/agents/team-structure.d.ts.map +1 -0
  57. package/dist/agents/team-structure.js +158 -0
  58. package/dist/agents/team-structure.js.map +1 -0
  59. package/dist/audit/audit-cli.d.ts.map +1 -1
  60. package/dist/audit/audit-cli.js +22 -0
  61. package/dist/audit/audit-cli.js.map +1 -1
  62. package/dist/audit/audit-events.d.ts +1 -0
  63. package/dist/audit/audit-events.d.ts.map +1 -1
  64. package/dist/audit/audit-events.js +26 -2
  65. package/dist/audit/audit-events.js.map +1 -1
  66. package/dist/cli/backup-command.d.ts +41 -0
  67. package/dist/cli/backup-command.d.ts.map +1 -0
  68. package/dist/cli/backup-command.js +477 -0
  69. package/dist/cli/backup-command.js.map +1 -0
  70. package/dist/cli/help.d.ts +1 -0
  71. package/dist/cli/help.d.ts.map +1 -1
  72. package/dist/cli/help.js +29 -2
  73. package/dist/cli/help.js.map +1 -1
  74. package/dist/cli.d.ts.map +1 -1
  75. package/dist/cli.js +37 -8
  76. package/dist/cli.js.map +1 -1
  77. package/dist/command-registry.d.ts.map +1 -1
  78. package/dist/command-registry.js +19 -2
  79. package/dist/command-registry.js.map +1 -1
  80. package/dist/config/config.d.ts +2 -0
  81. package/dist/config/config.d.ts.map +1 -1
  82. package/dist/config/config.js +152 -2
  83. package/dist/config/config.js.map +1 -1
  84. package/dist/config/runtime-config-edit.d.ts +2 -0
  85. package/dist/config/runtime-config-edit.d.ts.map +1 -1
  86. package/dist/config/runtime-config-edit.js +14 -0
  87. package/dist/config/runtime-config-edit.js.map +1 -1
  88. package/dist/config/runtime-config-revisions.d.ts +20 -1
  89. package/dist/config/runtime-config-revisions.d.ts.map +1 -1
  90. package/dist/config/runtime-config-revisions.js +130 -67
  91. package/dist/config/runtime-config-revisions.js.map +1 -1
  92. package/dist/config/runtime-config.d.ts +14 -1
  93. package/dist/config/runtime-config.d.ts.map +1 -1
  94. package/dist/config/runtime-config.js +116 -3
  95. package/dist/config/runtime-config.js.map +1 -1
  96. package/dist/doctor/checks/providers.d.ts.map +1 -1
  97. package/dist/doctor/checks/providers.js +1 -12
  98. package/dist/doctor/checks/providers.js.map +1 -1
  99. package/dist/evals/eval-command.d.ts +2 -1
  100. package/dist/evals/eval-command.d.ts.map +1 -1
  101. package/dist/evals/eval-command.js +10 -4
  102. package/dist/evals/eval-command.js.map +1 -1
  103. package/dist/evals/hybridai-skills-command.js +3 -3
  104. package/dist/evals/hybridai-skills-command.js.map +1 -1
  105. package/dist/evals/trace-judge.d.ts +42 -0
  106. package/dist/evals/trace-judge.d.ts.map +1 -0
  107. package/dist/evals/trace-judge.js +236 -0
  108. package/dist/evals/trace-judge.js.map +1 -0
  109. package/dist/evals/trace-preparation.d.ts +58 -0
  110. package/dist/evals/trace-preparation.d.ts.map +1 -0
  111. package/dist/evals/trace-preparation.js +447 -0
  112. package/dist/evals/trace-preparation.js.map +1 -0
  113. package/dist/gateway/auth-token.d.ts +4 -0
  114. package/dist/gateway/auth-token.d.ts.map +1 -1
  115. package/dist/gateway/auth-token.js +44 -9
  116. package/dist/gateway/auth-token.js.map +1 -1
  117. package/dist/gateway/chat-approval.d.ts.map +1 -1
  118. package/dist/gateway/chat-approval.js +3 -0
  119. package/dist/gateway/chat-approval.js.map +1 -1
  120. package/dist/gateway/fullauto-runtime.d.ts +1 -0
  121. package/dist/gateway/fullauto-runtime.d.ts.map +1 -1
  122. package/dist/gateway/fullauto-runtime.js.map +1 -1
  123. package/dist/gateway/gateway-agent-cards.d.ts.map +1 -1
  124. package/dist/gateway/gateway-agent-cards.js +1 -12
  125. package/dist/gateway/gateway-agent-cards.js.map +1 -1
  126. package/dist/gateway/gateway-chat-service.d.ts.map +1 -1
  127. package/dist/gateway/gateway-chat-service.js +138 -3
  128. package/dist/gateway/gateway-chat-service.js.map +1 -1
  129. package/dist/gateway/gateway-health-service.d.ts +11 -0
  130. package/dist/gateway/gateway-health-service.d.ts.map +1 -0
  131. package/dist/gateway/gateway-health-service.js +61 -0
  132. package/dist/gateway/gateway-health-service.js.map +1 -0
  133. package/dist/gateway/gateway-http-proxy.d.ts.map +1 -1
  134. package/dist/gateway/gateway-http-proxy.js +26 -7
  135. package/dist/gateway/gateway-http-proxy.js.map +1 -1
  136. package/dist/gateway/gateway-http-server.d.ts.map +1 -1
  137. package/dist/gateway/gateway-http-server.js +196 -27
  138. package/dist/gateway/gateway-http-server.js.map +1 -1
  139. package/dist/gateway/gateway-service.d.ts +16 -2
  140. package/dist/gateway/gateway-service.d.ts.map +1 -1
  141. package/dist/gateway/gateway-service.js +151 -77
  142. package/dist/gateway/gateway-service.js.map +1 -1
  143. package/dist/gateway/gateway-tunnel-service.d.ts +5 -0
  144. package/dist/gateway/gateway-tunnel-service.d.ts.map +1 -0
  145. package/dist/gateway/gateway-tunnel-service.js +137 -0
  146. package/dist/gateway/gateway-tunnel-service.js.map +1 -0
  147. package/dist/gateway/gateway-types.d.ts +42 -1
  148. package/dist/gateway/gateway-types.d.ts.map +1 -1
  149. package/dist/gateway/gateway-types.js.map +1 -1
  150. package/dist/gateway/gateway.js +98 -57
  151. package/dist/gateway/gateway.js.map +1 -1
  152. package/dist/gateway/text-channel-commands.d.ts +1 -1
  153. package/dist/gateway/text-channel-commands.d.ts.map +1 -1
  154. package/dist/gateway/text-channel-commands.js +3 -1
  155. package/dist/gateway/text-channel-commands.js.map +1 -1
  156. package/dist/infra/container-runner.d.ts +2 -0
  157. package/dist/infra/container-runner.d.ts.map +1 -1
  158. package/dist/infra/container-runner.js +247 -56
  159. package/dist/infra/container-runner.js.map +1 -1
  160. package/dist/infra/host-runner.d.ts +2 -0
  161. package/dist/infra/host-runner.d.ts.map +1 -1
  162. package/dist/infra/host-runner.js +223 -51
  163. package/dist/infra/host-runner.js.map +1 -1
  164. package/dist/infra/ipc.d.ts.map +1 -1
  165. package/dist/infra/ipc.js +11 -0
  166. package/dist/infra/ipc.js.map +1 -1
  167. package/dist/infra/warm-process-pool.d.ts +51 -0
  168. package/dist/infra/warm-process-pool.d.ts.map +1 -0
  169. package/dist/infra/warm-process-pool.js +211 -0
  170. package/dist/infra/warm-process-pool.js.map +1 -0
  171. package/dist/infra/warm-runner-utils.d.ts +76 -0
  172. package/dist/infra/warm-runner-utils.d.ts.map +1 -0
  173. package/dist/infra/warm-runner-utils.js +138 -0
  174. package/dist/infra/warm-runner-utils.js.map +1 -0
  175. package/dist/memory/db.d.ts +52 -3
  176. package/dist/memory/db.d.ts.map +1 -1
  177. package/dist/memory/db.js +359 -25
  178. package/dist/memory/db.js.map +1 -1
  179. package/dist/plugins/plugin-api.d.ts.map +1 -1
  180. package/dist/plugins/plugin-api.js +3 -0
  181. package/dist/plugins/plugin-api.js.map +1 -1
  182. package/dist/plugins/plugin-manager.d.ts +5 -1
  183. package/dist/plugins/plugin-manager.d.ts.map +1 -1
  184. package/dist/plugins/plugin-manager.js +126 -0
  185. package/dist/plugins/plugin-manager.js.map +1 -1
  186. package/dist/plugins/plugin-sdk.d.ts +1 -1
  187. package/dist/plugins/plugin-sdk.d.ts.map +1 -1
  188. package/dist/plugins/plugin-sdk.js.map +1 -1
  189. package/dist/plugins/plugin-types.d.ts +40 -1
  190. package/dist/plugins/plugin-types.d.ts.map +1 -1
  191. package/dist/providers/auxiliary.d.ts +7 -0
  192. package/dist/providers/auxiliary.d.ts.map +1 -1
  193. package/dist/providers/auxiliary.js +74 -9
  194. package/dist/providers/auxiliary.js.map +1 -1
  195. package/dist/providers/codex-discovery.d.ts.map +1 -1
  196. package/dist/providers/codex-discovery.js +8 -0
  197. package/dist/providers/codex-discovery.js.map +1 -1
  198. package/dist/providers/model-catalog.d.ts +27 -2
  199. package/dist/providers/model-catalog.d.ts.map +1 -1
  200. package/dist/providers/model-catalog.js +128 -27
  201. package/dist/providers/model-catalog.js.map +1 -1
  202. package/dist/providers/model-metadata.d.ts.map +1 -1
  203. package/dist/providers/model-metadata.js +6 -0
  204. package/dist/providers/model-metadata.js.map +1 -1
  205. package/dist/providers/model-names.d.ts +2 -2
  206. package/dist/providers/model-names.d.ts.map +1 -1
  207. package/dist/providers/model-names.js +2 -2
  208. package/dist/providers/model-names.js.map +1 -1
  209. package/dist/providers/task-routing.d.ts +1 -1
  210. package/dist/providers/task-routing.d.ts.map +1 -1
  211. package/dist/providers/task-routing.js +2 -2
  212. package/dist/providers/task-routing.js.map +1 -1
  213. package/dist/scheduler/scheduled-task-runner.d.ts.map +1 -1
  214. package/dist/scheduler/scheduled-task-runner.js +3 -2
  215. package/dist/scheduler/scheduled-task-runner.js.map +1 -1
  216. package/dist/skills/adaptive-skills-types.d.ts +8 -0
  217. package/dist/skills/adaptive-skills-types.d.ts.map +1 -1
  218. package/dist/skills/agent-cv.d.ts +15 -0
  219. package/dist/skills/agent-cv.d.ts.map +1 -0
  220. package/dist/skills/agent-cv.js +707 -0
  221. package/dist/skills/agent-cv.js.map +1 -0
  222. package/dist/skills/agent-scoreboard.d.ts +1 -10
  223. package/dist/skills/agent-scoreboard.d.ts.map +1 -1
  224. package/dist/skills/agent-scoreboard.js +4 -160
  225. package/dist/skills/agent-scoreboard.js.map +1 -1
  226. package/dist/skills/skill-run-events.d.ts +1 -0
  227. package/dist/skills/skill-run-events.d.ts.map +1 -1
  228. package/dist/skills/skill-run-events.js.map +1 -1
  229. package/dist/skills/skill-run-trajectories.d.ts +29 -2
  230. package/dist/skills/skill-run-trajectories.d.ts.map +1 -1
  231. package/dist/skills/skill-run-trajectories.js +268 -18
  232. package/dist/skills/skill-run-trajectories.js.map +1 -1
  233. package/dist/skills/skills-inspection.d.ts.map +1 -1
  234. package/dist/skills/skills-inspection.js +30 -2
  235. package/dist/skills/skills-inspection.js.map +1 -1
  236. package/dist/skills/skills-observation.d.ts.map +1 -1
  237. package/dist/skills/skills-observation.js +1 -0
  238. package/dist/skills/skills-observation.js.map +1 -1
  239. package/dist/tunnel/ngrok-tunnel-provider.d.ts +39 -1
  240. package/dist/tunnel/ngrok-tunnel-provider.d.ts.map +1 -1
  241. package/dist/tunnel/ngrok-tunnel-provider.js +257 -20
  242. package/dist/tunnel/ngrok-tunnel-provider.js.map +1 -1
  243. package/dist/tunnel/tailscale-tunnel-provider.d.ts +61 -0
  244. package/dist/tunnel/tailscale-tunnel-provider.d.ts.map +1 -0
  245. package/dist/tunnel/tailscale-tunnel-provider.js +382 -0
  246. package/dist/tunnel/tailscale-tunnel-provider.js.map +1 -0
  247. package/dist/tunnel/tunnel-provider-utils.d.ts +46 -0
  248. package/dist/tunnel/tunnel-provider-utils.d.ts.map +1 -0
  249. package/dist/tunnel/tunnel-provider-utils.js +126 -0
  250. package/dist/tunnel/tunnel-provider-utils.js.map +1 -0
  251. package/dist/tunnel/tunnel-provider.d.ts +10 -0
  252. package/dist/tunnel/tunnel-provider.d.ts.map +1 -1
  253. package/dist/tunnel/tunnel-provider.js +4 -1
  254. package/dist/tunnel/tunnel-provider.js.map +1 -1
  255. package/dist/types/container.d.ts +4 -9
  256. package/dist/types/container.d.ts.map +1 -1
  257. package/dist/types/execution.d.ts +8 -0
  258. package/dist/types/execution.d.ts.map +1 -1
  259. package/dist/types/execution.js +16 -1
  260. package/dist/types/execution.js.map +1 -1
  261. package/dist/types/models.d.ts +1 -1
  262. package/dist/types/models.d.ts.map +1 -1
  263. package/dist/types/models.js +1 -0
  264. package/dist/types/models.js.map +1 -1
  265. package/dist/types/usage.d.ts +1 -0
  266. package/dist/types/usage.d.ts.map +1 -1
  267. package/dist/usage/token-usage-buffer.d.ts +96 -0
  268. package/dist/usage/token-usage-buffer.d.ts.map +1 -0
  269. package/dist/usage/token-usage-buffer.js +471 -0
  270. package/dist/usage/token-usage-buffer.js.map +1 -0
  271. package/dist/utils/hash.d.ts +2 -0
  272. package/dist/utils/hash.d.ts.map +1 -0
  273. package/dist/utils/hash.js +5 -0
  274. package/dist/utils/hash.js.map +1 -0
  275. package/dist/utils/normalized-strings.d.ts +1 -0
  276. package/dist/utils/normalized-strings.d.ts.map +1 -1
  277. package/dist/utils/normalized-strings.js +12 -0
  278. package/dist/utils/normalized-strings.js.map +1 -1
  279. package/docs/content/README.md +2 -1
  280. package/docs/content/channels/admin-console.md +6 -0
  281. package/docs/content/extensibility/adaptive-skills.md +17 -16
  282. package/docs/content/extensibility/agent-packages.md +61 -0
  283. package/docs/content/extensibility/plugins.md +6 -0
  284. package/docs/content/guides/README.md +2 -0
  285. package/docs/content/guides/remote-access.md +21 -7
  286. package/docs/content/guides/skills/communication.md +37 -0
  287. package/docs/content/guides/tailscale-funnel.md +148 -0
  288. package/docs/content/internal/roadmap.md +22 -12
  289. package/docs/content/reference/commands.md +146 -9
  290. package/docs/content/reference/configuration.md +19 -20
  291. package/package.json +1 -1
  292. package/skills/brand-voice/SKILL.md +79 -0
  293. package/skills/salesforce/SKILL.md +70 -13
  294. package/skills/salesforce/agents/openai.yaml +2 -2
  295. package/skills/salesforce/evals/scenarios.json +212 -0
  296. package/skills/salesforce/references/metadata-and-queries.md +24 -2
  297. package/skills/salesforce/scripts/salesforce_query.py +1078 -96
  298. package/console/dist/assets/chat-rX_Zff0A.css +0 -1
  299. package/console/dist/assets/cx-DXBDPsU_.js +0 -1
  300. package/console/dist/assets/index-B2-VRNy7.css +0 -1
  301. package/console/dist/assets/index-BPAyWCYB.js +0 -15
  302. package/docs/development/README.md +0 -64
  303. package/docs/development/_category_.json +0 -5
  304. package/docs/development/agents.md +0 -71
  305. package/docs/development/extensibility/README.md +0 -195
  306. package/docs/development/extensibility/_category_.json +0 -5
  307. package/docs/development/extensibility/adaptive-skills.md +0 -129
  308. package/docs/development/extensibility/agent-packages.md +0 -515
  309. package/docs/development/extensibility/byterover-memory-plugin.md +0 -390
  310. package/docs/development/extensibility/gbrain-plugin.md +0 -692
  311. package/docs/development/extensibility/honcho-memory-plugin.md +0 -575
  312. package/docs/development/extensibility/mem0-memory-plugin.md +0 -180
  313. package/docs/development/extensibility/memory-plugins.md +0 -128
  314. package/docs/development/extensibility/mempalace-memory-plugin.md +0 -654
  315. package/docs/development/extensibility/otel-plugin.md +0 -269
  316. package/docs/development/extensibility/plugins.md +0 -420
  317. package/docs/development/extensibility/qmd-memory-plugin.md +0 -291
  318. package/docs/development/extensibility/skills.md +0 -189
  319. package/docs/development/getting-started/README.md +0 -25
  320. package/docs/development/getting-started/_category_.json +0 -5
  321. package/docs/development/getting-started/authentication.md +0 -183
  322. package/docs/development/getting-started/channels.md +0 -632
  323. package/docs/development/getting-started/installation.md +0 -113
  324. package/docs/development/getting-started/quickstart.md +0 -113
  325. package/docs/development/guides/README.md +0 -23
  326. package/docs/development/guides/_category_.json +0 -5
  327. package/docs/development/guides/bundled-skills.md +0 -45
  328. package/docs/development/guides/local-providers.md +0 -49
  329. package/docs/development/guides/office-dependencies.md +0 -50
  330. package/docs/development/guides/remote-access.md +0 -221
  331. package/docs/development/guides/skills/README.md +0 -71
  332. package/docs/development/guides/skills/apple.md +0 -112
  333. package/docs/development/guides/skills/business-skills.md +0 -114
  334. package/docs/development/guides/skills/communication.md +0 -82
  335. package/docs/development/guides/skills/development.md +0 -289
  336. package/docs/development/guides/skills/integrations.md +0 -358
  337. package/docs/development/guides/skills/memory-knowledge.md +0 -189
  338. package/docs/development/guides/skills/office.md +0 -250
  339. package/docs/development/guides/skills/productivity.md +0 -116
  340. package/docs/development/guides/skills/publishing.md +0 -169
  341. package/docs/development/guides/tui-mcp.md +0 -35
  342. package/docs/development/guides/twilio-voice.md +0 -453
  343. package/docs/development/guides/voice-tts.md +0 -133
  344. package/docs/development/internals/README.md +0 -21
  345. package/docs/development/internals/_category_.json +0 -5
  346. package/docs/development/internals/approvals.md +0 -336
  347. package/docs/development/internals/architecture.md +0 -114
  348. package/docs/development/internals/memory.md +0 -379
  349. package/docs/development/internals/runtime.md +0 -412
  350. package/docs/development/internals/session-routing.md +0 -113
  351. package/docs/development/reference/README.md +0 -18
  352. package/docs/development/reference/_category_.json +0 -5
  353. package/docs/development/reference/commands.md +0 -454
  354. package/docs/development/reference/configuration.md +0 -254
  355. package/docs/development/reference/diagnostics.md +0 -62
  356. package/docs/development/reference/faq.md +0 -132
  357. package/docs/development/reference/model-selection.md +0 -161
package/CHANGELOG.md CHANGED
@@ -2,6 +2,82 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.15.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.15.0) - 2026-04-29
6
+
7
+ ### Added
8
+
9
+ - **Backup and restore CLI**: `hybridclaw backup` creates WAL-safe runtime-home
10
+ archives and `hybridclaw backup restore` validates manifests before
11
+ rehydrating `~/.hybridclaw` on a fresh or recovered host.
12
+ - **Brand-voice output guard**: A repo-shipped `brand-voice` plugin can flag,
13
+ rewrite, or block off-brand final responses using configured voice rules,
14
+ banned phrases or patterns, required phrases, and optional classifier/rewriter
15
+ models. The bundled `brand-voice` skill helps agents draft within those rules
16
+ before the output guard fires.
17
+ - **Production Salesforce skill**: The bundled Salesforce skill now ships a
18
+ fuller read-only helper, metadata/query references, eval scenarios, and
19
+ server-side secret placeholder handling for inspecting org schema and SOQL
20
+ records without writing credentials to disk.
21
+ - **Tailscale Funnel tunnel provider and admin status**: Local deployments can
22
+ use `deployment.tunnel.provider=tailscale`, with `TS_AUTHKEY` resolved from
23
+ encrypted runtime secrets when needed and kept out of process arguments. The
24
+ admin console surfaces public URL and tunnel status alongside the existing
25
+ gateway controls.
26
+ - **Web chat model switcher**: The chat composer can switch models from the
27
+ browser using discovered provider catalogs, provider icons, model capability
28
+ metadata, and the same active-session routing used by local slash commands.
29
+ - **Agent org chart, team revisions, and chronological CVs**: Agent metadata
30
+ can model role, reporting, delegation, and peer relationships; admin agent
31
+ pages keep restorable team-structure revisions; observed skill history can
32
+ refresh per-agent CV output.
33
+ - **Warm process pool**: Host and container runners can keep a bounded adaptive
34
+ pool of idle runtime processes for recently active agents, reducing cold-start
35
+ latency while respecting max-idle, startup-claim, config-change, and
36
+ memory-pressure limits.
37
+ - **Trace judge and trace preparation**: Local eval workflows can prepare
38
+ redacted traces and dispatch them through an auxiliary judge model for skill,
39
+ leak, and output-quality evaluation foundations.
40
+ - **Config value inspection**: `hybridclaw config get <key>` and `/config get
41
+ <key>` return one resolved runtime config value without dumping the full
42
+ config file.
43
+ - **GPT-5.5 model support**: Static and Codex-discovered model catalogs include
44
+ `gpt-5.5`, `gpt-5.5-pro`, and `openai-codex/gpt-5.5`.
45
+
46
+ ### Changed
47
+
48
+ - **Gateway health is less fragile**: Gateway status and health endpoints rely
49
+ on cached provider checks instead of blocking on live model-provider probes,
50
+ so transient provider failures no longer make the local gateway look down.
51
+ - **Token usage recording is buffered**: Usage events are normalized,
52
+ size-capped, and batch-flushed asynchronously to reduce hot-path overhead
53
+ while preserving audit records.
54
+ - **Runtime secrets are scrubbed more consistently**: Host/container agent
55
+ runtimes share sensitive environment filtering and web-search credential
56
+ injection so Brave, Perplexity, and Tavily keys are passed only through the
57
+ intended secret channels.
58
+ - **Trajectory capture is stricter**: Stored skill trajectories run through
59
+ PII, secret, and confidential-info redaction, and retention can be capped
60
+ globally or per tenant.
61
+ - **Docs are consolidated under `docs/content`**: The duplicate legacy
62
+ `docs/development` tree was removed after the content moved into the current
63
+ docs hierarchy.
64
+
65
+ ### Fixed
66
+
67
+ - **Loopback API auth is no longer bypassed**: Local OpenAI-compatible API
68
+ requests require `WEB_API_TOKEN` or `GATEWAY_API_TOKEN`; loopback address
69
+ alone is not treated as authentication.
70
+ - **Local TUI and gateway token handling is safer**: Generated gateway tokens
71
+ are persisted once with serialized creation, shared with local TUI/eval
72
+ clients, and no longer rewritten during later config reloads.
73
+ - **Ngrok tunnel reconnects are quieter**: Reconnect errors are deduplicated by
74
+ normalized cause, audit run ids are correlated, and tunnel health checks stay
75
+ enabled by default.
76
+ - **HybridAI-prefixed model names resolve cleanly**: Provider prefix handling
77
+ recognizes `hybridai/...` model ids without noisy warnings.
78
+ - **Context ring popovers render correctly**: The web chat context usage ring
79
+ once again shows its detail popover.
80
+
5
81
  ## [0.14.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.14.0) - 2026-04-28
6
82
 
7
83
  ### Added
package/README.md CHANGED
@@ -96,7 +96,7 @@ Once the gateway is running, open HybridClaw locally:
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
98
  - Web Chat shows live context-window usage, accepts `/context`, and lets you
99
- switch the active agent from the composer
99
+ switch the active agent and model from the composer
100
100
  - Web Chat accepts `/btw <question>` side questions while a primary run is
101
101
  active, so you can ask an ephemeral follow-up without interrupting the
102
102
  current run
@@ -113,6 +113,9 @@ Once the gateway is running, open HybridClaw locally:
113
113
  - `hybridclaw gateway status` reports sandbox/runtime details, and in
114
114
  container mode it includes the configured image name plus the resolved
115
115
  version and short image id.
116
+ - `hybridclaw backup` creates a WAL-safe archive of the runtime home, and
117
+ `hybridclaw backup restore <archive.zip>` validates the archive before
118
+ replacing local runtime state.
116
119
  - `hybridclaw update --yes` upgrades a global npm install and auto-restarts a
117
120
  running local gateway with its original launch parameters when possible,
118
121
  falling back to `hybridclaw gateway restart` if not.
@@ -131,16 +134,21 @@ Once the gateway is running, open HybridClaw locally:
131
134
  are injected into prompts at runtime.
132
135
  - `/admin/approvals` manages approval policies from the browser.
133
136
  - `/admin/gateway` reloads runtime config and refreshes secrets from the
134
- browser without tearing down the enclosing workspace container; keep
135
- `hybridclaw gateway restart` for local/manual full restarts.
137
+ browser, and shows public URL plus tunnel status, without tearing down the
138
+ enclosing workspace container; keep `hybridclaw gateway restart` for
139
+ local/manual full restarts.
136
140
  - `/context` and the web chat context ring show current context-window usage,
137
141
  remaining headroom, and compaction counts for the active session.
138
142
  - `proactive.delegation.model` can pin delegated work to a different model
139
143
  from the parent turn; `/status` shows delegate token totals and local-token
140
144
  share when that split is configured.
141
- - `deployment.mode`, `deployment.public_url`, and `deployment.tunnel.provider`
142
- describe local/cloud exposure. The built-in ngrok tunnel provider reads
143
- `NGROK_AUTHTOKEN` from the encrypted runtime secret store.
145
+ - `deployment.mode`, `deployment.public_url`, `deployment.tunnel.provider`, and
146
+ `deployment.tunnel.health_check_interval_ms` describe local/cloud exposure
147
+ and tunnel health cadence. The built-in ngrok and Tailscale Funnel providers
148
+ read `NGROK_AUTHTOKEN` and `TS_AUTHKEY` from the encrypted runtime secret
149
+ store.
150
+ - `container.warmPool` keeps a bounded adaptive pool of idle host/container
151
+ runtimes for recently active agents when low cold-start latency matters.
144
152
  - `container.persistBashState` controls whether bash tool calls share shell
145
153
  state (`cd`, exported env vars, aliases) across turns in the same active
146
154
  runtime session; `/admin/config` exposes the same setting as `Persistent bash state`.
@@ -199,8 +207,10 @@ Once the gateway is running, open HybridClaw locally:
199
207
  - Packaged skills can declare versioned manifests, capabilities, required
200
208
  credentials, supported channels, and per-agent autonomy policy.
201
209
  - Bundled skills include API-backed Google Workspace workflows (`gog`, `gws`),
202
- GitHub issue queue processing (`gh-issues`), and editable Excalidraw diagram
203
- creation.
210
+ Salesforce inspection, GitHub issue queue processing (`gh-issues`),
211
+ brand-voice drafting, and editable Excalidraw diagram creation.
212
+ - The repo-shipped `brand-voice` plugin can flag, rewrite, or block final
213
+ responses that violate configured voice rules before they reach users.
204
214
  - Built-in office skills handle longer PDF creation flows cleanly: the bundled
205
215
  PDF creator wraps long lines, honors explicit `\n`, and adds pages
206
216
  automatically when reports or invoices spill past the first page.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": 23,
2
+ "version": 26,
3
3
  "security": {
4
4
  "trustModelAccepted": false,
5
5
  "trustModelAcceptedAt": "",
@@ -10,7 +10,8 @@
10
10
  "mode": "local",
11
11
  "public_url": "",
12
12
  "tunnel": {
13
- "provider": "manual"
13
+ "provider": "manual",
14
+ "health_check_interval_ms": 30000
14
15
  }
15
16
  },
16
17
  "skills": {
@@ -383,6 +384,11 @@
383
384
  "model": "",
384
385
  "maxTokens": 0
385
386
  },
387
+ "eval_judge": {
388
+ "provider": "auto",
389
+ "model": "",
390
+ "maxTokens": 0
391
+ },
386
392
  "mcp": {
387
393
  "provider": "auto",
388
394
  "model": "",
@@ -406,7 +412,15 @@
406
412
  "additionalMounts": "",
407
413
  "maxOutputBytes": 10485760,
408
414
  "maxConcurrent": 5,
409
- "persistBashState": true
415
+ "persistBashState": true,
416
+ "warmPool": {
417
+ "enabled": true,
418
+ "coldStartBudgetMs": 200,
419
+ "trafficWindowMs": 3600000,
420
+ "minIdlePerActiveAgent": 1,
421
+ "maxIdlePerAgent": 2,
422
+ "memoryPressureRssMb": 2048
423
+ }
410
424
  },
411
425
  "mcpServers": {
412
426
  "filesystem": {