@hybridaione/hybridclaw 0.22.0 → 0.24.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.
- package/AGENTS.md +13 -5
- package/CHANGELOG.md +205 -0
- package/README.md +178 -409
- package/SECURITY.md +10 -4
- package/config.example.json +2 -1
- package/console/dist/assets/chat-B93tgCqc.js +96 -0
- package/console/dist/assets/index-BEIJ5kEP.css +1 -0
- package/console/dist/assets/index-BGTqIrpz.js +80 -0
- package/console/dist/assets/query-o_Dd9s85.js +1 -0
- package/console/dist/assets/router-DoNPHesn.js +1 -0
- package/console/dist/assets/terminal-CCHv1x3w.js +7 -0
- package/console/dist/assets/terminal-g781NRbK.js +1 -0
- package/console/dist/assets/terminal-kHJ-D0s7.css +1 -0
- package/console/dist/assets/{vendor-WdvgvXHT.js → vendor-GuSYcVD5.js} +2 -2
- package/console/dist/index.html +5 -5
- package/console/package.json +9 -8
- package/container/dist/browser-tools.js +2 -1
- package/container/dist/browser-tools.js.map +1 -1
- package/container/dist/codex-app-server.js +1 -0
- package/container/dist/codex-app-server.js.map +1 -1
- package/container/dist/codex-hybridclaw-mcp.js +1 -1
- package/container/dist/codex-hybridclaw-mcp.js.map +1 -1
- package/container/dist/context-guard.js +4 -2
- package/container/dist/context-guard.js.map +1 -1
- package/container/dist/index.js +97 -179
- package/container/dist/index.js.map +1 -1
- package/container/dist/model-behavior.js +14 -0
- package/container/dist/model-behavior.js.map +1 -0
- package/container/dist/providers/auxiliary.js +3 -0
- package/container/dist/providers/auxiliary.js.map +1 -1
- package/container/dist/providers/hybridai.js +4 -2
- package/container/dist/providers/hybridai.js.map +1 -1
- package/container/dist/providers/local-ollama.js +16 -7
- package/container/dist/providers/local-ollama.js.map +1 -1
- package/container/dist/providers/local-openai-compat.js +84 -31
- package/container/dist/providers/local-openai-compat.js.map +1 -1
- package/container/dist/providers/openai-codex.js +7 -4
- package/container/dist/providers/openai-codex.js.map +1 -1
- package/container/dist/providers/router.js +13 -1
- package/container/dist/providers/router.js.map +1 -1
- package/container/dist/providers/shared.js +27 -4
- package/container/dist/providers/shared.js.map +1 -1
- package/container/dist/providers/tool-call-normalizer.js +45 -48
- package/container/dist/providers/tool-call-normalizer.js.map +1 -1
- package/container/dist/shutdown-output.js +10 -0
- package/container/dist/shutdown-output.js.map +1 -0
- package/container/dist/tool-approval.js +135 -0
- package/container/dist/tool-approval.js.map +1 -0
- package/container/dist/tools.js +90 -2
- package/container/dist/tools.js.map +1 -1
- package/container/dist/types.js.map +1 -1
- package/container/npm-shrinkwrap.json +22 -23
- package/container/package-lock.json +22 -23
- package/container/package.json +6 -6
- package/container/shared/unicode-utils.d.ts +5 -0
- package/container/shared/unicode-utils.js +55 -0
- package/container/src/browser-tools.ts +4 -1
- package/container/src/codex-app-server.ts +3 -0
- package/container/src/codex-app-types.ts +1 -0
- package/container/src/codex-hybridclaw-mcp.ts +1 -0
- package/container/src/context-guard.ts +10 -2
- package/container/src/index.ts +123 -197
- package/container/src/model-behavior.ts +24 -0
- package/container/src/providers/auxiliary.ts +3 -0
- package/container/src/providers/hybridai.ts +4 -2
- package/container/src/providers/local-ollama.ts +22 -3
- package/container/src/providers/local-openai-compat.ts +108 -55
- package/container/src/providers/openai-codex.ts +7 -4
- package/container/src/providers/router.ts +21 -0
- package/container/src/providers/shared.ts +54 -7
- package/container/src/providers/tool-call-normalizer.ts +49 -51
- package/container/src/shutdown-output.ts +13 -0
- package/container/src/tool-approval.ts +199 -0
- package/container/src/tools.ts +106 -0
- package/container/src/types.ts +14 -0
- package/dist/a2a/a2a-inbound.d.ts +12 -4
- package/dist/a2a/a2a-inbound.d.ts.map +1 -1
- package/dist/a2a/a2a-inbound.js +282 -58
- package/dist/a2a/a2a-inbound.js.map +1 -1
- package/dist/a2a/a2a-outbox-delivery.d.ts.map +1 -1
- package/dist/a2a/a2a-outbox-delivery.js +3 -2
- package/dist/a2a/a2a-outbox-delivery.js.map +1 -1
- package/dist/a2a/a2a-outbox-persistence.d.ts.map +1 -1
- package/dist/a2a/a2a-outbox-persistence.js +1 -3
- package/dist/a2a/a2a-outbox-persistence.js.map +1 -1
- package/dist/a2a/envelope.d.ts +3 -0
- package/dist/a2a/envelope.d.ts.map +1 -1
- package/dist/a2a/envelope.js +64 -3
- package/dist/a2a/envelope.js.map +1 -1
- package/dist/a2a/identity-resolver.d.ts.map +1 -1
- package/dist/a2a/identity-resolver.js +5 -2
- package/dist/a2a/identity-resolver.js.map +1 -1
- package/dist/a2a/pairing.d.ts +69 -0
- package/dist/a2a/pairing.d.ts.map +1 -0
- package/dist/a2a/pairing.js +562 -0
- package/dist/a2a/pairing.js.map +1 -0
- package/dist/a2a/trust-ledger.d.ts +9 -1
- package/dist/a2a/trust-ledger.d.ts.map +1 -1
- package/dist/a2a/trust-ledger.js +17 -4
- package/dist/a2a/trust-ledger.js.map +1 -1
- package/dist/a2a/utils.d.ts +1 -1
- package/dist/a2a/utils.d.ts.map +1 -1
- package/dist/a2a/utils.js +1 -3
- package/dist/a2a/utils.js.map +1 -1
- package/dist/agent/conversation.d.ts.map +1 -1
- package/dist/agent/conversation.js +4 -0
- package/dist/agent/conversation.js.map +1 -1
- package/dist/agent/executor-types.d.ts +2 -1
- package/dist/agent/executor-types.d.ts.map +1 -1
- package/dist/agent/prompt-hooks.d.ts.map +1 -1
- package/dist/agent/prompt-hooks.js +32 -1
- package/dist/agent/prompt-hooks.js.map +1 -1
- package/dist/agents/agent-config-command.d.ts.map +1 -1
- package/dist/agents/agent-config-command.js +14 -4
- package/dist/agents/agent-config-command.js.map +1 -1
- package/dist/agents/agent-registry.d.ts.map +1 -1
- package/dist/agents/agent-registry.js +33 -1
- package/dist/agents/agent-registry.js.map +1 -1
- package/dist/agents/agent-runtime-config.d.ts.map +1 -1
- package/dist/agents/agent-runtime-config.js +3 -2
- package/dist/agents/agent-runtime-config.js.map +1 -1
- package/dist/agents/agent-types.d.ts +12 -0
- package/dist/agents/agent-types.d.ts.map +1 -1
- package/dist/agents/agent-types.js +92 -0
- package/dist/agents/agent-types.js.map +1 -1
- package/dist/agents/claw-archive.d.ts.map +1 -1
- package/dist/agents/claw-archive.js +1 -3
- package/dist/agents/claw-archive.js.map +1 -1
- package/dist/agents/claw-manifest.d.ts.map +1 -1
- package/dist/agents/claw-manifest.js +1 -3
- package/dist/agents/claw-manifest.js.map +1 -1
- package/dist/audit/observability-ingest.d.ts.map +1 -1
- package/dist/audit/observability-ingest.js +6 -2
- package/dist/audit/observability-ingest.js.map +1 -1
- package/dist/auth/anthropic-auth.d.ts.map +1 -1
- package/dist/auth/anthropic-auth.js +1 -3
- package/dist/auth/anthropic-auth.js.map +1 -1
- package/dist/auth/codex-auth.d.ts.map +1 -1
- package/dist/auth/codex-auth.js +1 -3
- package/dist/auth/codex-auth.js.map +1 -1
- package/dist/board/card-store.d.ts +4 -2
- package/dist/board/card-store.d.ts.map +1 -1
- package/dist/board/card-store.js +28 -8
- package/dist/board/card-store.js.map +1 -1
- package/dist/browser/managed-browser-tenant-policy.d.ts.map +1 -1
- package/dist/browser/managed-browser-tenant-policy.js +1 -3
- package/dist/browser/managed-browser-tenant-policy.js.map +1 -1
- package/dist/channels/agent-addressing.d.ts +3 -0
- package/dist/channels/agent-addressing.d.ts.map +1 -0
- package/dist/channels/agent-addressing.js +29 -0
- package/dist/channels/agent-addressing.js.map +1 -0
- package/dist/channels/discord/inbound.d.ts.map +1 -1
- package/dist/channels/discord/inbound.js +2 -1
- package/dist/channels/discord/inbound.js.map +1 -1
- package/dist/channels/email/delivery.d.ts +1 -0
- package/dist/channels/email/delivery.d.ts.map +1 -1
- package/dist/channels/email/delivery.js +11 -1
- package/dist/channels/email/delivery.js.map +1 -1
- package/dist/channels/email/runtime.d.ts +2 -0
- package/dist/channels/email/runtime.d.ts.map +1 -1
- package/dist/channels/email/runtime.js +2 -0
- package/dist/channels/email/runtime.js.map +1 -1
- package/dist/channels/message/tool-actions.d.ts.map +1 -1
- package/dist/channels/message/tool-actions.js +32 -13
- package/dist/channels/message/tool-actions.js.map +1 -1
- package/dist/channels/msteams/inbound.d.ts.map +1 -1
- package/dist/channels/msteams/inbound.js +13 -11
- package/dist/channels/msteams/inbound.js.map +1 -1
- package/dist/channels/whatsapp/inbound.d.ts.map +1 -1
- package/dist/channels/whatsapp/inbound.js +2 -1
- package/dist/channels/whatsapp/inbound.js.map +1 -1
- package/dist/cli/agent-command.d.ts.map +1 -1
- package/dist/cli/agent-command.js +122 -0
- package/dist/cli/agent-command.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js +129 -16
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/coworker-command.d.ts +2 -0
- package/dist/cli/coworker-command.d.ts.map +1 -0
- package/dist/cli/coworker-command.js +460 -0
- package/dist/cli/coworker-command.js.map +1 -0
- package/dist/cli/help.d.ts +1 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +52 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/secret-command.d.ts.map +1 -1
- package/dist/cli/secret-command.js +2 -2
- package/dist/cli/secret-command.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -1
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +31 -0
- package/dist/command-registry.js.map +1 -1
- package/dist/commands/aux-command.d.ts +7 -0
- package/dist/commands/aux-command.d.ts.map +1 -0
- package/dist/commands/aux-command.js +135 -0
- package/dist/commands/aux-command.js.map +1 -0
- package/dist/commands/second-opinion-web-search.d.ts.map +1 -1
- package/dist/commands/second-opinion-web-search.js +1 -3
- package/dist/commands/second-opinion-web-search.js.map +1 -1
- package/dist/config/app-version.d.ts +2 -0
- package/dist/config/app-version.d.ts.map +1 -0
- package/dist/config/app-version.js +49 -0
- package/dist/config/app-version.js.map +1 -0
- package/dist/config/config.d.ts +6 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +19 -47
- package/dist/config/config.js.map +1 -1
- package/dist/config/runtime-config.d.ts +3 -2
- package/dist/config/runtime-config.d.ts.map +1 -1
- package/dist/config/runtime-config.js +139 -7
- package/dist/config/runtime-config.js.map +1 -1
- package/dist/distill/analysis.d.ts +58 -0
- package/dist/distill/analysis.d.ts.map +1 -0
- package/dist/distill/analysis.js +181 -0
- package/dist/distill/analysis.js.map +1 -0
- package/dist/distill/audit.d.ts +12 -0
- package/dist/distill/audit.d.ts.map +1 -0
- package/dist/distill/audit.js +35 -0
- package/dist/distill/audit.js.map +1 -0
- package/dist/distill/collectors.d.ts +16 -0
- package/dist/distill/collectors.d.ts.map +1 -0
- package/dist/distill/collectors.js +436 -0
- package/dist/distill/collectors.js.map +1 -0
- package/dist/distill/consent.d.ts +21 -0
- package/dist/distill/consent.d.ts.map +1 -0
- package/dist/distill/consent.js +109 -0
- package/dist/distill/consent.js.map +1 -0
- package/dist/distill/corpus.d.ts +27 -0
- package/dist/distill/corpus.d.ts.map +1 -0
- package/dist/distill/corpus.js +123 -0
- package/dist/distill/corpus.js.map +1 -0
- package/dist/distill/corrections.d.ts +16 -0
- package/dist/distill/corrections.d.ts.map +1 -0
- package/dist/distill/corrections.js +83 -0
- package/dist/distill/corrections.js.map +1 -0
- package/dist/distill/eval.d.ts +47 -0
- package/dist/distill/eval.d.ts.map +1 -0
- package/dist/distill/eval.js +137 -0
- package/dist/distill/eval.js.map +1 -0
- package/dist/distill/export.d.ts +46 -0
- package/dist/distill/export.d.ts.map +1 -0
- package/dist/distill/export.js +198 -0
- package/dist/distill/export.js.map +1 -0
- package/dist/distill/forget.d.ts +14 -0
- package/dist/distill/forget.d.ts.map +1 -0
- package/dist/distill/forget.js +118 -0
- package/dist/distill/forget.js.map +1 -0
- package/dist/distill/interview.d.ts +14 -0
- package/dist/distill/interview.d.ts.map +1 -0
- package/dist/distill/interview.js +132 -0
- package/dist/distill/interview.js.map +1 -0
- package/dist/distill/masking.d.ts +17 -0
- package/dist/distill/masking.d.ts.map +1 -0
- package/dist/distill/masking.js +57 -0
- package/dist/distill/masking.js.map +1 -0
- package/dist/distill/merge.d.ts +32 -0
- package/dist/distill/merge.d.ts.map +1 -0
- package/dist/distill/merge.js +328 -0
- package/dist/distill/merge.js.map +1 -0
- package/dist/distill/paths.d.ts +32 -0
- package/dist/distill/paths.d.ts.map +1 -0
- package/dist/distill/paths.js +85 -0
- package/dist/distill/paths.js.map +1 -0
- package/dist/distill/pipeline.d.ts +23 -0
- package/dist/distill/pipeline.d.ts.map +1 -0
- package/dist/distill/pipeline.js +133 -0
- package/dist/distill/pipeline.js.map +1 -0
- package/dist/distill/render.d.ts +22 -0
- package/dist/distill/render.d.ts.map +1 -0
- package/dist/distill/render.js +286 -0
- package/dist/distill/render.js.map +1 -0
- package/dist/distill/run.d.ts +26 -0
- package/dist/distill/run.d.ts.map +1 -0
- package/dist/distill/run.js +141 -0
- package/dist/distill/run.js.map +1 -0
- package/dist/distill/state.d.ts +6 -0
- package/dist/distill/state.d.ts.map +1 -0
- package/dist/distill/state.js +17 -0
- package/dist/distill/state.js.map +1 -0
- package/dist/distill/subject.d.ts +18 -0
- package/dist/distill/subject.d.ts.map +1 -0
- package/dist/distill/subject.js +65 -0
- package/dist/distill/subject.js.map +1 -0
- package/dist/distill/types.d.ts +199 -0
- package/dist/distill/types.d.ts.map +1 -0
- package/dist/distill/types.js +24 -0
- package/dist/distill/types.js.map +1 -0
- package/dist/evals/hybridai-skills-command.d.ts.map +1 -1
- package/dist/evals/hybridai-skills-command.js +1 -3
- package/dist/evals/hybridai-skills-command.js.map +1 -1
- package/dist/evals/trace-preparation.d.ts.map +1 -1
- package/dist/evals/trace-preparation.js +1 -3
- package/dist/evals/trace-preparation.js.map +1 -1
- package/dist/gateway/agent-addressing.d.ts +33 -0
- package/dist/gateway/agent-addressing.d.ts.map +1 -0
- package/dist/gateway/agent-addressing.js +170 -0
- package/dist/gateway/agent-addressing.js.map +1 -0
- package/dist/gateway/auth-token.d.ts +1 -0
- package/dist/gateway/auth-token.d.ts.map +1 -1
- package/dist/gateway/auth-token.js +3 -3
- package/dist/gateway/auth-token.js.map +1 -1
- package/dist/gateway/chat-approval.d.ts.map +1 -1
- package/dist/gateway/chat-approval.js +3 -0
- package/dist/gateway/chat-approval.js.map +1 -1
- package/dist/gateway/coworker-liveness.d.ts.map +1 -1
- package/dist/gateway/coworker-liveness.js +2 -1
- package/dist/gateway/coworker-liveness.js.map +1 -1
- package/dist/gateway/gateway-admin-secrets.d.ts +8 -0
- package/dist/gateway/gateway-admin-secrets.d.ts.map +1 -1
- package/dist/gateway/gateway-admin-secrets.js +5 -0
- package/dist/gateway/gateway-admin-secrets.js.map +1 -1
- package/dist/gateway/gateway-chat-service.d.ts.map +1 -1
- package/dist/gateway/gateway-chat-service.js +252 -22
- package/dist/gateway/gateway-chat-service.js.map +1 -1
- package/dist/gateway/gateway-distill-service.d.ts +143 -0
- package/dist/gateway/gateway-distill-service.d.ts.map +1 -0
- package/dist/gateway/gateway-distill-service.js +485 -0
- package/dist/gateway/gateway-distill-service.js.map +1 -0
- package/dist/gateway/gateway-fleet-topology.d.ts +15 -0
- package/dist/gateway/gateway-fleet-topology.d.ts.map +1 -0
- package/dist/gateway/gateway-fleet-topology.js +146 -0
- package/dist/gateway/gateway-fleet-topology.js.map +1 -0
- package/dist/gateway/gateway-http-proxy.d.ts.map +1 -1
- package/dist/gateway/gateway-http-proxy.js +460 -75
- package/dist/gateway/gateway-http-proxy.js.map +1 -1
- package/dist/gateway/gateway-http-server.d.ts.map +1 -1
- package/dist/gateway/gateway-http-server.js +414 -75
- package/dist/gateway/gateway-http-server.js.map +1 -1
- package/dist/gateway/gateway-plugin-service.d.ts.map +1 -1
- package/dist/gateway/gateway-plugin-service.js +1 -3
- package/dist/gateway/gateway-plugin-service.js.map +1 -1
- package/dist/gateway/gateway-scheduled-task-service.d.ts.map +1 -1
- package/dist/gateway/gateway-scheduled-task-service.js +5 -5
- package/dist/gateway/gateway-scheduled-task-service.js.map +1 -1
- package/dist/gateway/gateway-service.d.ts +19 -4
- package/dist/gateway/gateway-service.d.ts.map +1 -1
- package/dist/gateway/gateway-service.js +421 -44
- package/dist/gateway/gateway-service.js.map +1 -1
- package/dist/gateway/gateway-types.d.ts +112 -6
- package/dist/gateway/gateway-types.d.ts.map +1 -1
- package/dist/gateway/gateway-types.js.map +1 -1
- package/dist/gateway/gateway-utils.d.ts.map +1 -1
- package/dist/gateway/gateway-utils.js +2 -9
- package/dist/gateway/gateway-utils.js.map +1 -1
- package/dist/gateway/gateway.js +15 -3
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/openai-compatible-model.d.ts.map +1 -1
- package/dist/gateway/openai-compatible-model.js +27 -18
- package/dist/gateway/openai-compatible-model.js.map +1 -1
- package/dist/gateway/output-guard-admin.d.ts.map +1 -1
- package/dist/gateway/output-guard-admin.js +1 -3
- package/dist/gateway/output-guard-admin.js.map +1 -1
- package/dist/gateway/proactive-delivery.d.ts +2 -0
- package/dist/gateway/proactive-delivery.d.ts.map +1 -1
- package/dist/gateway/proactive-delivery.js +8 -1
- package/dist/gateway/proactive-delivery.js.map +1 -1
- package/dist/gateway/proxy-agent.d.ts +11 -0
- package/dist/gateway/proxy-agent.d.ts.map +1 -0
- package/dist/gateway/proxy-agent.js +366 -0
- package/dist/gateway/proxy-agent.js.map +1 -0
- package/dist/gateway/response-ratings.d.ts.map +1 -1
- package/dist/gateway/response-ratings.js +80 -0
- package/dist/gateway/response-ratings.js.map +1 -1
- package/dist/gateway/secret-command-guard.d.ts +6 -0
- package/dist/gateway/secret-command-guard.d.ts.map +1 -0
- package/dist/gateway/secret-command-guard.js +22 -0
- package/dist/gateway/secret-command-guard.js.map +1 -0
- package/dist/gateway/text-channel-commands.d.ts +2 -1
- package/dist/gateway/text-channel-commands.d.ts.map +1 -1
- package/dist/gateway/text-channel-commands.js +22 -5
- package/dist/gateway/text-channel-commands.js.map +1 -1
- package/dist/identity/actor.d.ts +27 -0
- package/dist/identity/actor.d.ts.map +1 -0
- package/dist/identity/actor.js +123 -0
- package/dist/identity/actor.js.map +1 -0
- package/dist/identity/agent-id.d.ts.map +1 -1
- package/dist/identity/agent-id.js +1 -3
- package/dist/identity/agent-id.js.map +1 -1
- package/dist/infra/container-runner.d.ts.map +1 -1
- package/dist/infra/container-runner.js +15 -4
- package/dist/infra/container-runner.js.map +1 -1
- package/dist/infra/container-setup.d.ts.map +1 -1
- package/dist/infra/container-setup.js +1 -3
- package/dist/infra/container-setup.js.map +1 -1
- package/dist/infra/host-runner.d.ts.map +1 -1
- package/dist/infra/host-runner.js +8 -3
- package/dist/infra/host-runner.js.map +1 -1
- package/dist/infra/host-runtime-setup.d.ts.map +1 -1
- package/dist/infra/host-runtime-setup.js +13 -5
- package/dist/infra/host-runtime-setup.js.map +1 -1
- package/dist/infra/install-root.d.ts +1 -0
- package/dist/infra/install-root.d.ts.map +1 -1
- package/dist/infra/install-root.js +5 -0
- package/dist/infra/install-root.js.map +1 -1
- package/dist/infra/warm-runner-utils.d.ts +1 -0
- package/dist/infra/warm-runner-utils.d.ts.map +1 -1
- package/dist/infra/warm-runner-utils.js +10 -1
- package/dist/infra/warm-runner-utils.js.map +1 -1
- package/dist/infra/worker-signature.d.ts +7 -0
- package/dist/infra/worker-signature.d.ts.map +1 -1
- package/dist/infra/worker-signature.js +7 -0
- package/dist/infra/worker-signature.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +7 -0
- package/dist/logger.js.map +1 -1
- package/dist/memory/cloud-memory.d.ts +16 -0
- package/dist/memory/cloud-memory.d.ts.map +1 -0
- package/dist/memory/cloud-memory.js +333 -0
- package/dist/memory/cloud-memory.js.map +1 -0
- package/dist/memory/db.d.ts +26 -1
- package/dist/memory/db.d.ts.map +1 -1
- package/dist/memory/db.js +286 -15
- package/dist/memory/db.js.map +1 -1
- package/dist/migration/agent-home-migration.d.ts.map +1 -1
- package/dist/migration/agent-home-migration.js +1 -3
- package/dist/migration/agent-home-migration.js.map +1 -1
- package/dist/observability/otel.d.ts.map +1 -1
- package/dist/observability/otel.js +26 -0
- package/dist/observability/otel.js.map +1 -1
- package/dist/observability/sentry.d.ts +10 -0
- package/dist/observability/sentry.d.ts.map +1 -0
- package/dist/observability/sentry.js +121 -0
- package/dist/observability/sentry.js.map +1 -0
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins/plugin-manager.js +1 -3
- package/dist/plugins/plugin-manager.js.map +1 -1
- package/dist/providers/auxiliary.d.ts.map +1 -1
- package/dist/providers/auxiliary.js +12 -7
- package/dist/providers/auxiliary.js.map +1 -1
- package/dist/providers/factory.d.ts.map +1 -1
- package/dist/providers/factory.js +13 -0
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/hybridai-bots.d.ts +1 -0
- package/dist/providers/hybridai-bots.d.ts.map +1 -1
- package/dist/providers/hybridai-bots.js +14 -5
- package/dist/providers/hybridai-bots.js.map +1 -1
- package/dist/providers/local-discovery.d.ts +2 -1
- package/dist/providers/local-discovery.d.ts.map +1 -1
- package/dist/providers/local-discovery.js +118 -38
- package/dist/providers/local-discovery.js.map +1 -1
- package/dist/providers/local-endpoints.d.ts +17 -0
- package/dist/providers/local-endpoints.d.ts.map +1 -0
- package/dist/providers/local-endpoints.js +58 -0
- package/dist/providers/local-endpoints.js.map +1 -0
- package/dist/providers/local-health.d.ts.map +1 -1
- package/dist/providers/local-health.js +15 -4
- package/dist/providers/local-health.js.map +1 -1
- package/dist/providers/local-ollama.d.ts.map +1 -1
- package/dist/providers/local-ollama.js +21 -6
- package/dist/providers/local-ollama.js.map +1 -1
- package/dist/providers/local-openai-compat.d.ts.map +1 -1
- package/dist/providers/local-openai-compat.js +57 -15
- package/dist/providers/local-openai-compat.js.map +1 -1
- package/dist/providers/local-types.d.ts +11 -1
- package/dist/providers/local-types.d.ts.map +1 -1
- package/dist/providers/model-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog.js +23 -9
- package/dist/providers/model-catalog.js.map +1 -1
- package/dist/providers/model-names.d.ts.map +1 -1
- package/dist/providers/model-names.js +6 -0
- package/dist/providers/model-names.js.map +1 -1
- package/dist/providers/task-routing.d.ts.map +1 -1
- package/dist/providers/task-routing.js +9 -2
- package/dist/providers/task-routing.js.map +1 -1
- package/dist/providers/types.d.ts +3 -2
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/scheduler/heartbeat-prompt.d.ts +2 -0
- package/dist/scheduler/heartbeat-prompt.d.ts.map +1 -0
- package/dist/scheduler/heartbeat-prompt.js +2 -0
- package/dist/scheduler/heartbeat-prompt.js.map +1 -0
- package/dist/scheduler/heartbeat.d.ts.map +1 -1
- package/dist/scheduler/heartbeat.js +6 -6
- package/dist/scheduler/heartbeat.js.map +1 -1
- package/dist/scheduler/scheduler.d.ts +0 -5
- package/dist/scheduler/scheduler.d.ts.map +1 -1
- package/dist/scheduler/scheduler.js +19 -7
- package/dist/scheduler/scheduler.js.map +1 -1
- package/dist/security/admin-rbac.d.ts +2 -1
- package/dist/security/admin-rbac.d.ts.map +1 -1
- package/dist/security/admin-rbac.js +5 -0
- package/dist/security/admin-rbac.js.map +1 -1
- package/dist/security/runtime-secrets.d.ts +1 -0
- package/dist/security/runtime-secrets.d.ts.map +1 -1
- package/dist/security/runtime-secrets.js +12 -3
- package/dist/security/runtime-secrets.js.map +1 -1
- package/dist/security/secret-refs.d.ts.map +1 -1
- package/dist/security/secret-refs.js +1 -3
- package/dist/security/secret-refs.js.map +1 -1
- package/dist/session/session-trace-export.d.ts.map +1 -1
- package/dist/session/session-trace-export.js +3 -3
- package/dist/session/session-trace-export.js.map +1 -1
- package/dist/session/token-efficiency.d.ts.map +1 -1
- package/dist/session/token-efficiency.js +32 -5
- package/dist/session/token-efficiency.js.map +1 -1
- package/dist/skills/adaptive-skills-types.d.ts +3 -0
- package/dist/skills/adaptive-skills-types.d.ts.map +1 -1
- package/dist/skills/agent-scoreboard.d.ts.map +1 -1
- package/dist/skills/agent-scoreboard.js +1 -0
- package/dist/skills/agent-scoreboard.js.map +1 -1
- package/dist/tui-approval-prompt.d.ts.map +1 -1
- package/dist/tui-approval-prompt.js +7 -50
- package/dist/tui-approval-prompt.js.map +1 -1
- package/dist/tui-banner.d.ts.map +1 -1
- package/dist/tui-banner.js +3 -32
- package/dist/tui-banner.js.map +1 -1
- package/dist/tui-skill-config.d.ts.map +1 -1
- package/dist/tui-skill-config.js +7 -47
- package/dist/tui-skill-config.js.map +1 -1
- package/dist/tui-slash-menu.d.ts.map +1 -1
- package/dist/tui-slash-menu.js +47 -0
- package/dist/tui-slash-menu.js.map +1 -1
- package/dist/tui-thinking.d.ts.map +1 -1
- package/dist/tui-thinking.js +2 -44
- package/dist/tui-thinking.js.map +1 -1
- package/dist/tui.d.ts +1 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +42 -116
- package/dist/tui.js.map +1 -1
- package/dist/tunnel/tailscale-tunnel-provider.d.ts.map +1 -1
- package/dist/tunnel/tailscale-tunnel-provider.js +1 -3
- package/dist/tunnel/tailscale-tunnel-provider.js.map +1 -1
- package/dist/types/audit.d.ts +2 -0
- package/dist/types/audit.d.ts.map +1 -1
- package/dist/types/container.d.ts +8 -0
- package/dist/types/container.d.ts.map +1 -1
- package/dist/types/execution.d.ts +3 -0
- package/dist/types/execution.d.ts.map +1 -1
- package/dist/types/model-behavior.d.ts +10 -0
- package/dist/types/model-behavior.d.ts.map +1 -0
- package/dist/types/model-behavior.js +14 -0
- package/dist/types/model-behavior.js.map +1 -0
- package/dist/types/models.d.ts +2 -0
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/models.js.map +1 -1
- package/dist/types/session.d.ts +1 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +9 -1
- package/dist/update.js.map +1 -1
- package/dist/usage/media-generation-usage.d.ts.map +1 -1
- package/dist/usage/media-generation-usage.js +1 -3
- package/dist/usage/media-generation-usage.js.map +1 -1
- package/dist/utils/ansi.d.ts +14 -0
- package/dist/utils/ansi.d.ts.map +1 -0
- package/dist/utils/ansi.js +151 -0
- package/dist/utils/ansi.js.map +1 -0
- package/dist/workspace.d.ts +4 -3
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +108 -5
- package/dist/workspace.js.map +1 -1
- package/docs/content/README.md +23 -1
- package/docs/content/channels/admin-console.md +28 -1
- package/docs/content/developer-guide/README.md +2 -0
- package/docs/content/developer-guide/approvals.md +3 -0
- package/docs/content/developer-guide/desktop-release.md +199 -0
- package/docs/content/developer-guide/memory.md +27 -1
- package/docs/content/developer-guide/runtime.md +31 -1
- package/docs/content/extensibility/skills.md +13 -3
- package/docs/content/getting-started/installation.md +49 -13
- package/docs/content/guides/README.md +3 -0
- package/docs/content/guides/bundled-skills.md +10 -4
- package/docs/content/guides/hatching-task-ideas.md +149 -0
- package/docs/content/guides/human-distillation.md +115 -0
- package/docs/content/guides/local-providers.md +27 -3
- package/docs/content/guides/skills/README.md +12 -6
- package/docs/content/guides/skills/business-skills.md +23 -0
- package/docs/content/guides/skills/development.md +159 -0
- package/docs/content/guides/skills/integrations.md +47 -1
- package/docs/content/guides/skills/productivity.md +48 -1
- package/docs/content/internal/roadmap.md +77 -60
- package/docs/content/reference/commands.md +17 -8
- package/docs/content/reference/configuration.md +14 -0
- package/docs/content/reference/model-selection.md +11 -7
- package/docs/index.html +2 -2
- package/docs/static/docs.js +1 -0
- package/npm-shrinkwrap.json +1704 -1691
- package/package.json +30 -25
- package/scripts/postinstall-container.mjs +20 -11
- package/skills/blink/SKILL.md +244 -0
- package/skills/blink/blink.cjs +2767 -0
- package/skills/byd-battery/SKILL.md +181 -0
- package/skills/byd-battery/byd-battery.cjs +1454 -0
- package/skills/hue/SKILL.md +378 -0
- package/skills/hue/hue.cjs +524 -0
- package/skills/human-distill/SKILL.md +138 -0
- package/skills/human-distill/references/extraction-contract.md +96 -0
- package/skills/human-distill/references/interview-protocol.md +47 -0
- package/skills/human-distill/references/mirroring.md +50 -0
- package/skills/human-distill/references/six-dimensions.md +60 -0
- package/skills/mailchimp/SKILL.md +296 -0
- package/skills/mailchimp/mailchimp.cjs +1274 -0
- package/templates/BOOTSTRAP.md +72 -7
- package/templates/TASK_IDEAS.md +149 -0
- package/templates/USER.md +19 -0
- package/console/dist/assets/chat-D-0oOWq6.js +0 -94
- package/console/dist/assets/index-SFw3GH_b.js +0 -80
- package/console/dist/assets/index-z7-uHEVk.css +0 -1
- package/console/dist/assets/query-ME417NFS.js +0 -1
- package/console/dist/assets/router-BkmmjtJ_.js +0 -1
- package/console/dist/assets/terminal-CaRX6YXB.js +0 -7
- package/console/dist/assets/terminal-TdnZ7DQy.css +0 -1
- package/console/dist/assets/terminal-p-Sr8mRs.js +0 -1
package/AGENTS.md
CHANGED
|
@@ -171,8 +171,11 @@ should verify no broken references.
|
|
|
171
171
|
|
|
172
172
|
### Prerequisites
|
|
173
173
|
|
|
174
|
-
- Node.js 22 (matches CI and `engines` field)
|
|
175
|
-
- npm
|
|
174
|
+
- Node.js 22 (matches CI and the `engines` field)
|
|
175
|
+
- npm 11.10+ — run `corepack enable` so repo commands use the `packageManager`
|
|
176
|
+
pin (`npm@11.10.0`). Contributors need this version because npm's
|
|
177
|
+
`min-release-age` supply-chain gate (see `SECURITY.md`) only takes effect on
|
|
178
|
+
npm 11.10+; it is deliberately not enforced on end users via `engines.npm`.
|
|
176
179
|
- Docker when working on container-mode behavior or image builds
|
|
177
180
|
|
|
178
181
|
### Common Commands
|
|
@@ -347,11 +350,16 @@ Skill resolution order (first match wins):
|
|
|
347
350
|
When the user says "bump release":
|
|
348
351
|
|
|
349
352
|
1. Bump the requested semantic version (if unspecified, default to patch).
|
|
350
|
-
2. Update version
|
|
353
|
+
2. Update `package.json` to the new version, then run `npm run version:sync`
|
|
354
|
+
to propagate it through product package metadata:
|
|
351
355
|
- `package.json`
|
|
352
|
-
- `package-lock.json`
|
|
356
|
+
- `package-lock.json` and `npm-shrinkwrap.json` (root `version`,
|
|
357
|
+
`packages[""]`, and product workspace entries)
|
|
358
|
+
- `console/package.json`
|
|
359
|
+
- `desktop/package.json`
|
|
353
360
|
- `container/package.json`
|
|
354
|
-
- `container/package-lock.json`
|
|
361
|
+
- `container/package-lock.json` and `container/npm-shrinkwrap.json` (root
|
|
362
|
+
`version` and `packages[""]`)
|
|
355
363
|
- any user-facing version text (for example `src/tui.ts` banner)
|
|
356
364
|
3. Move `CHANGELOG.md` release notes from `Unreleased` to the new version
|
|
357
365
|
heading (or create one).
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,211 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [0.24.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.24.0) - 2026-06-11
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Human distillation (R72)**: New `hybridclaw coworker` command group and
|
|
10
|
+
bundled `human-distill` skill that distills a real person's source material
|
|
11
|
+
into a coworker agent. Collectors normalise Slack exports, mbox email,
|
|
12
|
+
meeting transcripts, chat JSONL, documents, and gap-driven interview
|
|
13
|
+
questionnaires into an agent-scoped corpus with quality weighting, stable
|
|
14
|
+
provenance ids, and third-party PII masking at ingest. A resumable
|
|
15
|
+
ingest → analyse → build → merge → correct pipeline writes the persona into
|
|
16
|
+
the standard identity files (`IDENTITY.md`, `SOUL.md`, `USER.md`, `CV.md`)
|
|
17
|
+
and a generated work-module skill, with `/admin/distill` managing subjects,
|
|
18
|
+
consent, source uploads, corpus documents, and runs from the browser. Every
|
|
19
|
+
claim cites corpus documents (uncited claims are flagged, not written),
|
|
20
|
+
every merge is an F4-versioned reversible edit, and conflicting evidence is
|
|
21
|
+
surfaced as operator review items. Distilling a real, named human is
|
|
22
|
+
hard-blocked until a consent artefact is recorded; all lifecycle actions
|
|
23
|
+
emit hash-chained `distill.*` audit events; `coworker forget` erases corpus,
|
|
24
|
+
persona, work module, runs, and revision snapshots as one identifier set.
|
|
25
|
+
Includes a leakage/fidelity eval (`coworker eval`), conversational
|
|
26
|
+
corrections (`coworker correct`), and one-bundle multi-host export/install
|
|
27
|
+
for Claude Code, Codex, OpenClaw, and HybridClaw. Manifesto: Principle VII -
|
|
28
|
+
A coworker you can trust with real responsibility.
|
|
29
|
+
- **Cloud memory sync**: Agents now sync local memory files (`MEMORY.md`,
|
|
30
|
+
`USER.md`, and recent daily memory notes) with the HybridAI cloud and receive
|
|
31
|
+
shared installation- and company-scoped memory back for prompt context. Sync
|
|
32
|
+
runs at conversation start and periodically every five minutes with
|
|
33
|
+
per-agent rate limiting, requires `HYBRIDAI_API_KEY`, `HYBRIDAI_BASE_URL`
|
|
34
|
+
(HTTPS only), and `HYBRIDAI_CHATBOT_ID`, and stays disabled when those are
|
|
35
|
+
unset. Shared memory appears read-only in the agent file editor under a
|
|
36
|
+
"Shared memory" group.
|
|
37
|
+
- **A2A operator pairing**: Added `/admin/a2a-trust` for pairing two HybridClaw
|
|
38
|
+
instances: operators fetch a peer Agent Card by URL or canonical DNS
|
|
39
|
+
identifier, preview its identity and key fingerprint, and trust it with an
|
|
40
|
+
optional peer-side approval prompt. Incoming pairing requests arrive through
|
|
41
|
+
a rate-limited `/a2a/pairing/requests` endpoint and can be approved or
|
|
42
|
+
declined from the console with audit-trail decision reasons.
|
|
43
|
+
- **Inbound A2A envelopes**: Added a JSON-RPC Agent Card envelope receiver for
|
|
44
|
+
cross-instance A2A delivery, including canonical sender/recipient metadata,
|
|
45
|
+
idempotent persistence, signed bearer-token validation, read-only admin
|
|
46
|
+
inbox visibility, and audit events for malformed or rejected envelopes.
|
|
47
|
+
- **HybridAI proxy agents**: Agents can now proxy conversations to hosted
|
|
48
|
+
HybridAI chatbots via per-agent `proxy` config, SecretRef-backed API keys,
|
|
49
|
+
HTTPS-only upstreams, selectable channel- or user-scoped conversation ids,
|
|
50
|
+
streaming response forwarding, and `/status` visibility for proxy mode.
|
|
51
|
+
- **Explicit agent addressing**: Chat channels and web chat can address
|
|
52
|
+
specific agents inline, with mention autocomplete, avatar-backed mention
|
|
53
|
+
pills, canonical recipient handling, and fanout hardening for local
|
|
54
|
+
proactive delivery.
|
|
55
|
+
- **`byd-battery` skill**: Added read-only monitoring for BYD Battery-Box
|
|
56
|
+
Premium HVS/HVM/LVS/LVL home-storage systems over local Modbus TCP or
|
|
57
|
+
Fronius inverter delegation, covering state of charge, pack telemetry, cell
|
|
58
|
+
extremes, tower/module inventory, decoded alarms, firmware info, and energy
|
|
59
|
+
counters, with allowlisted register ranges and no write operations.
|
|
60
|
+
- **`mailchimp` skill**: Added Mailchimp Marketing and Mailchimp
|
|
61
|
+
Transactional/Mandrill workflows for credential checks, audience/member
|
|
62
|
+
reads, guarded subscriber and tag mutations, campaign draft/content/report
|
|
63
|
+
operations, automations, journeys, and approval-gated campaign or
|
|
64
|
+
transactional sends through the gateway HTTP proxy.
|
|
65
|
+
- **Amber approval cards**: Web chat approval prompts now render as structured
|
|
66
|
+
confirmation cards with an approval-tier badge, parsed action/tool/reason
|
|
67
|
+
detail rows, and separated confirm/deny and trust-scope button groups.
|
|
68
|
+
- **Named local model endpoints**: Local provider config now supports
|
|
69
|
+
additional named Ollama, LM Studio, llama.cpp, and vLLM endpoints with
|
|
70
|
+
endpoint-prefixed model ids, CLI setup via `--name`, and per-endpoint model
|
|
71
|
+
behavior flags for Qwen thinking markup and Gemma tool-call formats.
|
|
72
|
+
- **Auxiliary model testing**: Added `/aux test <task> <prompt>` so operators
|
|
73
|
+
can exercise configured auxiliary model routes directly and see the
|
|
74
|
+
provider/model used for the request.
|
|
75
|
+
- **Response rating forwarding**: Thumbs up/down ratings on web chat responses
|
|
76
|
+
are forwarded to the HybridAI feedback API when HybridAI authentication is
|
|
77
|
+
active, alongside the existing local rating store and audit events.
|
|
78
|
+
Forwarding is non-blocking and skips silently when auth is unavailable.
|
|
79
|
+
|
|
80
|
+
### Changed
|
|
81
|
+
|
|
82
|
+
- **README and skill docs positioning**: The public README and skills docs now
|
|
83
|
+
lead with HybridClaw's validated business-skill workflow: helper-backed
|
|
84
|
+
production skills, eval scenarios, approval tiers, credential boundaries, and
|
|
85
|
+
`Qwen/Qwen3.6-27B-FP8` as the small-model validation baseline.
|
|
86
|
+
- **Multi-agent and credential-isolation positioning**: The README and docs
|
|
87
|
+
now call out multi-instance A2A workflows, hosted proxy agents, explicit
|
|
88
|
+
addressing, and SecretRef-backed execution that keeps raw credentials out of
|
|
89
|
+
model context.
|
|
90
|
+
- **HybridAI Cloud launch path**: The README, docs landing page, and
|
|
91
|
+
installation guide now link to the managed HybridClaw cloud offering at
|
|
92
|
+
`hybridclaw.io`.
|
|
93
|
+
- **Desktop release order docs**: The macOS desktop release guide now
|
|
94
|
+
recommends building and notarizing from the exact version tag, uploading
|
|
95
|
+
desktop assets to a draft GitHub Release, then publishing after assets are
|
|
96
|
+
verified.
|
|
97
|
+
- **Provider request payloads**: Empty tool definitions are omitted from
|
|
98
|
+
HybridAI, OpenAI-compatible, Codex, and Ollama provider requests instead of
|
|
99
|
+
sending empty `tools` arrays.
|
|
100
|
+
- **Local vLLM tool behavior**: OpenAI-compatible local providers infer and
|
|
101
|
+
remember native-tool fallback support, count prompt-side tool overhead in
|
|
102
|
+
context guards, refresh named-endpoint metadata, and parse Gemma text tool
|
|
103
|
+
calls emitted before or after Markdown wrappers.
|
|
104
|
+
- **Structured actors in audit data**: Audit/event records now carry unified
|
|
105
|
+
actor identities across A2A envelopes, board cards, adaptive-skill
|
|
106
|
+
observations, scoreboards, and structured audit queries.
|
|
107
|
+
- **Coworker liveness scan**: Skill scans during coworker liveness checks use
|
|
108
|
+
set-based agent filtering, speeding up gateways with many agents.
|
|
109
|
+
- **Release version sync tooling**: `npm run version:sync` now keeps root,
|
|
110
|
+
console, desktop, container, lockfile, and shrinkwrap package versions in
|
|
111
|
+
sync, with `release:check` validating the same invariant.
|
|
112
|
+
- **Dependency updates**: Routine minor and patch dependency updates across the
|
|
113
|
+
gateway, console, container, and desktop packages, plus overrides that lift
|
|
114
|
+
transitive `shell-quote` and `tmp` to patched releases flagged by npm audit.
|
|
115
|
+
|
|
116
|
+
### Fixed
|
|
117
|
+
|
|
118
|
+
- **Gateway token timing safety**: Gateway API and bearer token checks use
|
|
119
|
+
constant-time comparison to avoid timing side channels.
|
|
120
|
+
- **Delegation identifiers**: Delegation session and batch job identifiers use
|
|
121
|
+
cryptographic UUIDs instead of seeded pseudo-random strings.
|
|
122
|
+
- **Containment check stalls**: Media and artifact path containment checks
|
|
123
|
+
resolve real paths asynchronously so large directory validation no longer
|
|
124
|
+
blocks the gateway event loop.
|
|
125
|
+
- **TUI ANSI truncation**: Terminal output truncation handles incomplete ANSI
|
|
126
|
+
escape sequences and wide glyphs without corrupting styled text.
|
|
127
|
+
- **Duplicate hatching after onboarding**: Switching agents after onboarding
|
|
128
|
+
no longer re-triggers the workspace bootstrap kickoff, and bootstrap job
|
|
129
|
+
detection recognizes both bulleted and numbered job lists.
|
|
130
|
+
- **Host runtime dependency detection**: Source-checkout host runtime checks
|
|
131
|
+
no longer misreport container dependencies as missing when npm hoists a
|
|
132
|
+
package whose `exports` map does not expose `package.json` (e.g.
|
|
133
|
+
`dompurify`).
|
|
134
|
+
- **Installer and setup hardening**: The one-line installer, postinstall
|
|
135
|
+
container setup, Node version guard, and Homebrew/source-checkout paths handle
|
|
136
|
+
no-sudo installs, user npm prefixes, and container dependency setup more
|
|
137
|
+
reliably.
|
|
138
|
+
|
|
139
|
+
## [0.23.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.23.0) - 2026-06-09
|
|
140
|
+
|
|
141
|
+
### Added
|
|
142
|
+
|
|
143
|
+
- **`blink` skill**: Added Blink camera and video-doorbell workflows for
|
|
144
|
+
OAuth v2 login with PIN handoff, device/network/camera inventory, motion
|
|
145
|
+
clip listing and artifact-backed downloads, guarded arm/disarm and motion
|
|
146
|
+
control plans, and fresh-thumbnail refresh handling that keeps Blink media
|
|
147
|
+
bytes out of model context.
|
|
148
|
+
- **`hue` skill**: Added Philips Hue Bridge support for local CLIP v2 reads,
|
|
149
|
+
bridge-link credential capture, self-signed bridge TLS handling, guarded
|
|
150
|
+
light/group/scene/behavior changes, Remote API token refresh support, and
|
|
151
|
+
LAN policy diagnostics for Hue Bridge requests.
|
|
152
|
+
- **Fleet topology admin UI**: Added `/admin/fleet-topology` for viewing the
|
|
153
|
+
local A2A instance identity, checking trusted child instances through their
|
|
154
|
+
Agent Card URLs, and adding, editing, or removing A2A trust-ledger peers from
|
|
155
|
+
the console.
|
|
156
|
+
- **Admin secrets console**: Added `/admin/secrets` as a write-only secret
|
|
157
|
+
manager that lists set and declared-but-empty secrets by metadata, supports
|
|
158
|
+
overwrite and unset actions, and never returns cleartext secret values to the
|
|
159
|
+
browser.
|
|
160
|
+
- **Chat code rendering**: Web chat now syntax-highlights completed code
|
|
161
|
+
blocks, shows language labels, and provides a touch-reachable copy button
|
|
162
|
+
with success feedback while skipping highlighter work for actively streaming
|
|
163
|
+
messages.
|
|
164
|
+
- **Sentry error reporting**: `hybridclaw env set SENTRY_DSN <dsn>` enables
|
|
165
|
+
optional gateway Sentry reporting for startup failures, uncaught exceptions,
|
|
166
|
+
unhandled rejections, and errors recorded through shared gateway/agent spans,
|
|
167
|
+
with default `production` environment, automatic
|
|
168
|
+
`hybridclaw@<package-version>` release naming, secret redaction, and graceful
|
|
169
|
+
shutdown flushes.
|
|
170
|
+
- **Scheduler heartbeat polling action**: Config-backed scheduler jobs can use
|
|
171
|
+
the explicit `heartbeat_poll` action kind so empty `HEARTBEAT.md` files are
|
|
172
|
+
skipped before any model turn is started.
|
|
173
|
+
|
|
174
|
+
### Changed
|
|
175
|
+
|
|
176
|
+
- **Installer and npm policy alignment**: The bootstrap installer works more
|
|
177
|
+
cleanly on fresh Debian/Ubuntu hosts and no-sudo system Node setups, while
|
|
178
|
+
contributor docs, CI, Docker, and package metadata pin npm 11.10+ without
|
|
179
|
+
forcing consumer-facing `engines.npm` warnings.
|
|
180
|
+
- **Second-opinion TUI formatting**: `/second-opinion` output in the terminal
|
|
181
|
+
wraps long model-comparison and validation responses instead of spilling past
|
|
182
|
+
the viewport.
|
|
183
|
+
- **Skill setup guidance**: Skill authoring docs now require chat-friendly
|
|
184
|
+
`/env` and `/secret` setup alternatives alongside local `hybridclaw env` and
|
|
185
|
+
`hybridclaw secret` commands.
|
|
186
|
+
- **Web agent hatching kickoff**: Switching to an agent with an active
|
|
187
|
+
`BOOTSTRAP.md` in web chat now sends a hidden kickoff turn so hatching starts
|
|
188
|
+
immediately while the visible slash-command response remains local command
|
|
189
|
+
output.
|
|
190
|
+
|
|
191
|
+
### Fixed
|
|
192
|
+
|
|
193
|
+
- **Interrupted agent shutdown output**: Container/runtime shutdown output now
|
|
194
|
+
distinguishes expected interrupted-run signal errors from real runtime
|
|
195
|
+
failures.
|
|
196
|
+
- **Slash autocomplete flags**: TUI slash-command autocomplete keeps literal
|
|
197
|
+
argument and flag completions instead of rewriting them.
|
|
198
|
+
- **Chat delete guard**: Deleting browser chat sessions is blocked while a run
|
|
199
|
+
is still active for that session.
|
|
200
|
+
- **Malformed Unicode in prompts**: Container utilities sanitize malformed
|
|
201
|
+
Unicode so provider prompts and local OpenAI-compatible requests do not fail
|
|
202
|
+
on invalid surrogate data.
|
|
203
|
+
- **Trace export identity preservation**: Session trace exports preserve trace
|
|
204
|
+
hash identifiers while applying secret redaction.
|
|
205
|
+
- **Web approval buttons**: Approval buttons now emit gateway-supported
|
|
206
|
+
commands: `Allow once` sends `/approve yes`, `Allow always` sends
|
|
207
|
+
`/approve all`, and scoped buttons send their matching `session` or `agent`
|
|
208
|
+
approvals.
|
|
209
|
+
|
|
5
210
|
## [0.22.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.22.0) - 2026-06-05
|
|
6
211
|
|
|
7
212
|
### Added
|