@hybridaione/hybridclaw 0.13.1 → 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.
- package/CHANGELOG.md +170 -0
- package/README.md +52 -13
- package/SECURITY.md +33 -0
- package/config.example.json +43 -3
- package/console/dist/assets/chat-CwaxVsg1.js +93 -0
- package/console/dist/assets/chat-DN6j8zuG.css +1 -0
- package/console/dist/assets/cx-BhUTAaHw.js +1 -0
- package/console/dist/assets/index-BmK2dcpa.css +1 -0
- package/console/dist/assets/index-De9e9-ta.js +16 -0
- package/console/dist/assets/{router-CUFYqD1a.js → router-NXexqZsi.js} +1 -1
- package/console/dist/assets/{terminal-D03p0Tw7.js → terminal-DFbKWIqg.js} +1 -1
- package/console/dist/assets/{vendor-C4WPVvdh.js → vendor-BCIzCfhA.js} +1 -1
- package/console/dist/icons/codex.svg +1 -0
- package/console/dist/icons/hybridai.png +0 -0
- package/console/dist/index.html +5 -5
- package/container/dist/approval-policy.js +161 -85
- package/container/dist/approval-policy.js.map +1 -1
- package/container/dist/browser-tools.js +96 -5
- package/container/dist/browser-tools.js.map +1 -1
- package/container/dist/extensions.js +63 -9
- package/container/dist/extensions.js.map +1 -1
- package/container/dist/index.js +227 -22
- package/container/dist/index.js.map +1 -1
- package/container/dist/providers/anthropic.js +42 -4
- package/container/dist/providers/anthropic.js.map +1 -1
- package/container/dist/providers/auxiliary.js +3 -0
- package/container/dist/providers/auxiliary.js.map +1 -1
- package/container/dist/providers/hybridai.js +61 -5
- package/container/dist/providers/hybridai.js.map +1 -1
- package/container/dist/providers/local-ollama.js +44 -4
- package/container/dist/providers/local-ollama.js.map +1 -1
- package/container/dist/providers/local-openai-compat.js +214 -26
- package/container/dist/providers/local-openai-compat.js.map +1 -1
- package/container/dist/providers/openai-codex.js +41 -7
- package/container/dist/providers/openai-codex.js.map +1 -1
- package/container/dist/providers/router.js +27 -2
- package/container/dist/providers/router.js.map +1 -1
- package/container/dist/providers/shared.js +53 -0
- package/container/dist/providers/shared.js.map +1 -1
- package/container/dist/providers/thinking-extractor.js +25 -3
- package/container/dist/providers/thinking-extractor.js.map +1 -1
- package/container/dist/providers/tool-call-normalizer.js +66 -6
- package/container/dist/providers/tool-call-normalizer.js.map +1 -1
- package/container/dist/stakes-classifier.js +316 -0
- package/container/dist/stakes-classifier.js.map +1 -0
- package/container/dist/stalled-turns.js +5 -0
- package/container/dist/stalled-turns.js.map +1 -1
- package/container/dist/text-normalization.js +6 -0
- package/container/dist/text-normalization.js.map +1 -0
- package/container/dist/token-usage.js +53 -0
- package/container/dist/token-usage.js.map +1 -1
- package/container/dist/tools.js +26 -10
- package/container/dist/tools.js.map +1 -1
- package/container/dist/types.js +9 -0
- package/container/dist/types.js.map +1 -1
- package/container/dist/web-fetch.js +127 -15
- package/container/dist/web-fetch.js.map +1 -1
- package/container/dist/web-search.js +9 -0
- package/container/dist/web-search.js.map +1 -1
- package/container/package-lock.json +2 -2
- package/container/package.json +1 -1
- package/container/shared/boolean-utils.d.ts +8 -0
- package/container/shared/boolean-utils.js +19 -0
- package/container/shared/message-tool-channels.d.ts +1 -0
- package/container/shared/message-tool-channels.js +2 -0
- package/container/shared/network-policy.d.ts +38 -0
- package/container/shared/network-policy.js +121 -0
- package/container/shared/policy-engine.d.ts +65 -0
- package/container/shared/policy-engine.js +62 -0
- package/container/shared/sensitive-env.d.ts +16 -0
- package/container/shared/sensitive-env.js +66 -0
- package/container/shared/skill-policy.d.ts +57 -0
- package/container/shared/skill-policy.js +164 -0
- package/container/shared/stakes-classifier.d.ts +36 -0
- package/container/shared/stakes-classifier.js +1 -0
- package/container/shared/web-search-config.d.ts +22 -0
- package/container/shared/web-search-config.js +7 -0
- package/container/src/approval-policy.ts +219 -104
- package/container/src/browser-tools.ts +114 -5
- package/container/src/extensions.ts +74 -9
- package/container/src/index.ts +288 -128
- package/container/src/providers/anthropic.ts +44 -3
- package/container/src/providers/auxiliary.ts +3 -0
- package/container/src/providers/hybridai.ts +63 -4
- package/container/src/providers/local-ollama.ts +46 -3
- package/container/src/providers/local-openai-compat.ts +234 -27
- package/container/src/providers/openai-codex.ts +43 -12
- package/container/src/providers/router.ts +34 -6
- package/container/src/providers/shared.ts +86 -0
- package/container/src/providers/thinking-extractor.ts +26 -2
- package/container/src/providers/tool-call-normalizer.ts +69 -6
- package/container/src/stakes-classifier.ts +469 -0
- package/container/src/stalled-turns.ts +12 -0
- package/container/src/text-normalization.ts +5 -0
- package/container/src/token-usage.ts +74 -0
- package/container/src/tools.ts +33 -9
- package/container/src/types.ts +52 -20
- package/container/src/web-fetch.ts +139 -15
- package/container/src/web-search.ts +21 -27
- package/dist/a2a/envelope.d.ts +35 -0
- package/dist/a2a/envelope.d.ts.map +1 -0
- package/dist/a2a/envelope.js +188 -0
- package/dist/a2a/envelope.js.map +1 -0
- package/dist/a2a/identity.d.ts +5 -0
- package/dist/a2a/identity.d.ts.map +1 -0
- package/dist/a2a/identity.js +86 -0
- package/dist/a2a/identity.js.map +1 -0
- package/dist/a2a/store.d.ts +7 -0
- package/dist/a2a/store.d.ts.map +1 -0
- package/dist/a2a/store.js +128 -0
- package/dist/a2a/store.js.map +1 -0
- package/dist/a2a/utils.d.ts +2 -0
- package/dist/a2a/utils.d.ts.map +1 -0
- package/dist/a2a/utils.js +4 -0
- package/dist/a2a/utils.js.map +1 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +37 -28
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/executor-types.d.ts +3 -1
- package/dist/agent/executor-types.d.ts.map +1 -1
- package/dist/agent/prompt-hooks.d.ts +3 -5
- package/dist/agent/prompt-hooks.d.ts.map +1 -1
- package/dist/agent/prompt-hooks.js +6 -20
- package/dist/agent/prompt-hooks.js.map +1 -1
- package/dist/agent/prompt-parts.d.ts +8 -0
- package/dist/agent/prompt-parts.d.ts.map +1 -0
- package/dist/agent/prompt-parts.js +39 -0
- package/dist/agent/prompt-parts.js.map +1 -0
- package/dist/agents/agent-config-command.d.ts +1 -1
- package/dist/agents/agent-config-command.d.ts.map +1 -1
- package/dist/agents/agent-config-command.js +53 -0
- package/dist/agents/agent-config-command.js.map +1 -1
- package/dist/agents/agent-registry.d.ts +5 -0
- package/dist/agents/agent-registry.d.ts.map +1 -1
- package/dist/agents/agent-registry.js +230 -37
- 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 +9 -1
- package/dist/agents/agent-runtime-config.js.map +1 -1
- package/dist/agents/agent-types.d.ts +22 -0
- package/dist/agents/agent-types.d.ts.map +1 -1
- package/dist/agents/agent-types.js +120 -0
- package/dist/agents/agent-types.js.map +1 -1
- package/dist/agents/team-structure-revisions.d.ts +19 -0
- package/dist/agents/team-structure-revisions.d.ts.map +1 -0
- package/dist/agents/team-structure-revisions.js +74 -0
- package/dist/agents/team-structure-revisions.js.map +1 -0
- package/dist/agents/team-structure.d.ts +38 -0
- package/dist/agents/team-structure.d.ts.map +1 -0
- package/dist/agents/team-structure.js +158 -0
- package/dist/agents/team-structure.js.map +1 -0
- package/dist/audit/audit-cli.d.ts.map +1 -1
- package/dist/audit/audit-cli.js +36 -0
- package/dist/audit/audit-cli.js.map +1 -1
- package/dist/audit/audit-events.d.ts +1 -0
- package/dist/audit/audit-events.d.ts.map +1 -1
- package/dist/audit/audit-events.js +69 -9
- package/dist/audit/audit-events.js.map +1 -1
- package/dist/audit/leak-scanner-cli.d.ts +2 -0
- package/dist/audit/leak-scanner-cli.d.ts.map +1 -0
- package/dist/audit/leak-scanner-cli.js +342 -0
- package/dist/audit/leak-scanner-cli.js.map +1 -0
- package/dist/audit/leak-scanner.d.ts +116 -0
- package/dist/audit/leak-scanner.d.ts.map +1 -0
- package/dist/audit/leak-scanner.js +466 -0
- package/dist/audit/leak-scanner.js.map +1 -0
- package/dist/audit/observability-ingest.d.ts.map +1 -1
- package/dist/audit/observability-ingest.js +2 -9
- package/dist/audit/observability-ingest.js.map +1 -1
- package/dist/channels/channel-registry.d.ts.map +1 -1
- package/dist/channels/channel-registry.js +5 -1
- package/dist/channels/channel-registry.js.map +1 -1
- package/dist/channels/channel.d.ts +3 -2
- package/dist/channels/channel.d.ts.map +1 -1
- package/dist/channels/channel.js +10 -0
- package/dist/channels/channel.js.map +1 -1
- package/dist/channels/message/tool-actions.d.ts.map +1 -1
- package/dist/channels/message/tool-actions.js +87 -3
- package/dist/channels/message/tool-actions.js.map +1 -1
- package/dist/channels/message-tool-advertising.d.ts.map +1 -1
- package/dist/channels/message-tool-advertising.js +1 -0
- package/dist/channels/message-tool-advertising.js.map +1 -1
- package/dist/channels/prompt-adapters.d.ts.map +1 -1
- package/dist/channels/prompt-adapters.js +3 -0
- package/dist/channels/prompt-adapters.js.map +1 -1
- package/dist/channels/signal/api.d.ts +65 -0
- package/dist/channels/signal/api.d.ts.map +1 -0
- package/dist/channels/signal/api.js +167 -0
- package/dist/channels/signal/api.js.map +1 -0
- package/dist/channels/signal/delivery.d.ts +18 -0
- package/dist/channels/signal/delivery.d.ts.map +1 -0
- package/dist/channels/signal/delivery.js +126 -0
- package/dist/channels/signal/delivery.js.map +1 -0
- package/dist/channels/signal/inbound.d.ts +30 -0
- package/dist/channels/signal/inbound.d.ts.map +1 -0
- package/dist/channels/signal/inbound.js +162 -0
- package/dist/channels/signal/inbound.js.map +1 -0
- package/dist/channels/signal/pairing-state.d.ts +18 -0
- package/dist/channels/signal/pairing-state.d.ts.map +1 -0
- package/dist/channels/signal/pairing-state.js +57 -0
- package/dist/channels/signal/pairing-state.js.map +1 -0
- package/dist/channels/signal/pairing.d.ts +14 -0
- package/dist/channels/signal/pairing.d.ts.map +1 -0
- package/dist/channels/signal/pairing.js +135 -0
- package/dist/channels/signal/pairing.js.map +1 -0
- package/dist/channels/signal/prompt-adapter.d.ts +3 -0
- package/dist/channels/signal/prompt-adapter.d.ts.map +1 -0
- package/dist/channels/signal/prompt-adapter.js +25 -0
- package/dist/channels/signal/prompt-adapter.js.map +1 -0
- package/dist/channels/signal/runtime.d.ts +10 -0
- package/dist/channels/signal/runtime.d.ts.map +1 -0
- package/dist/channels/signal/runtime.js +220 -0
- package/dist/channels/signal/runtime.js.map +1 -0
- package/dist/channels/signal/target.d.ts +12 -0
- package/dist/channels/signal/target.d.ts.map +1 -0
- package/dist/channels/signal/target.js +63 -0
- package/dist/channels/signal/target.js.map +1 -0
- package/dist/channels/signal/typing.d.ts +11 -0
- package/dist/channels/signal/typing.d.ts.map +1 -0
- package/dist/channels/signal/typing.js +64 -0
- package/dist/channels/signal/typing.js.map +1 -0
- package/dist/channels/voice/runtime.d.ts.map +1 -1
- package/dist/channels/voice/runtime.js +5 -3
- package/dist/channels/voice/runtime.js.map +1 -1
- package/dist/channels/whatsapp/debounce.d.ts +1 -0
- package/dist/channels/whatsapp/debounce.d.ts.map +1 -1
- package/dist/channels/whatsapp/debounce.js +7 -0
- package/dist/channels/whatsapp/debounce.js.map +1 -1
- package/dist/channels/whatsapp/runtime.js +1 -1
- package/dist/channels/whatsapp/runtime.js.map +1 -1
- package/dist/cli/backup-command.d.ts +41 -0
- package/dist/cli/backup-command.d.ts.map +1 -0
- package/dist/cli/backup-command.js +477 -0
- package/dist/cli/backup-command.js.map +1 -0
- package/dist/cli/channels-command.d.ts.map +1 -1
- package/dist/cli/channels-command.js +270 -2
- package/dist/cli/channels-command.js.map +1 -1
- package/dist/cli/help.d.ts +1 -0
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +48 -8
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/skill-command.d.ts.map +1 -1
- package/dist/cli/skill-command.js +124 -68
- package/dist/cli/skill-command.js.map +1 -1
- package/dist/cli/verbosity.d.ts +30 -0
- package/dist/cli/verbosity.d.ts.map +1 -0
- package/dist/cli/verbosity.js +42 -0
- package/dist/cli/verbosity.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +79 -23
- package/dist/cli.js.map +1 -1
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +133 -8
- package/dist/command-registry.js.map +1 -1
- package/dist/config/cli-flags.d.ts +8 -1
- package/dist/config/cli-flags.d.ts.map +1 -1
- package/dist/config/cli-flags.js +121 -34
- package/dist/config/cli-flags.js.map +1 -1
- package/dist/config/config.d.ts +2 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +160 -4
- package/dist/config/config.js.map +1 -1
- package/dist/config/runtime-config-edit.d.ts +2 -0
- package/dist/config/runtime-config-edit.d.ts.map +1 -1
- package/dist/config/runtime-config-edit.js +14 -0
- package/dist/config/runtime-config-edit.js.map +1 -1
- package/dist/config/runtime-config-revisions.d.ts +34 -0
- package/dist/config/runtime-config-revisions.d.ts.map +1 -1
- package/dist/config/runtime-config-revisions.js +264 -90
- package/dist/config/runtime-config-revisions.js.map +1 -1
- package/dist/config/runtime-config.d.ts +99 -4
- package/dist/config/runtime-config.d.ts.map +1 -1
- package/dist/config/runtime-config.js +477 -14
- package/dist/config/runtime-config.js.map +1 -1
- package/dist/doctor/checks/config.d.ts.map +1 -1
- package/dist/doctor/checks/config.js +85 -6
- package/dist/doctor/checks/config.js.map +1 -1
- package/dist/doctor/checks/providers.d.ts.map +1 -1
- package/dist/doctor/checks/providers.js +1 -12
- package/dist/doctor/checks/providers.js.map +1 -1
- package/dist/doctor/checks/resource-hygiene.d.ts +6 -0
- package/dist/doctor/checks/resource-hygiene.d.ts.map +1 -1
- package/dist/doctor/checks/resource-hygiene.js +164 -0
- package/dist/doctor/checks/resource-hygiene.js.map +1 -1
- package/dist/evals/eval-command.d.ts +2 -1
- package/dist/evals/eval-command.d.ts.map +1 -1
- package/dist/evals/eval-command.js +10 -4
- package/dist/evals/eval-command.js.map +1 -1
- package/dist/evals/eval-profile.d.ts +1 -1
- package/dist/evals/eval-profile.d.ts.map +1 -1
- package/dist/evals/eval-profile.js +2 -2
- package/dist/evals/eval-profile.js.map +1 -1
- package/dist/evals/hybridai-skills-command.d.ts.map +1 -1
- package/dist/evals/hybridai-skills-command.js +12 -3
- package/dist/evals/hybridai-skills-command.js.map +1 -1
- package/dist/evals/trace-judge.d.ts +42 -0
- package/dist/evals/trace-judge.d.ts.map +1 -0
- package/dist/evals/trace-judge.js +236 -0
- package/dist/evals/trace-judge.js.map +1 -0
- package/dist/evals/trace-preparation.d.ts +58 -0
- package/dist/evals/trace-preparation.d.ts.map +1 -0
- package/dist/evals/trace-preparation.js +447 -0
- package/dist/evals/trace-preparation.js.map +1 -0
- package/dist/gateway/auth-token.d.ts +4 -0
- package/dist/gateway/auth-token.d.ts.map +1 -1
- package/dist/gateway/auth-token.js +44 -9
- 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/context-usage.d.ts +25 -0
- package/dist/gateway/context-usage.d.ts.map +1 -0
- package/dist/gateway/context-usage.js +32 -0
- package/dist/gateway/context-usage.js.map +1 -0
- package/dist/gateway/fullauto-runtime.d.ts +1 -0
- package/dist/gateway/fullauto-runtime.d.ts.map +1 -1
- package/dist/gateway/fullauto-runtime.js.map +1 -1
- package/dist/gateway/gateway-agent-cards.d.ts +1 -0
- package/dist/gateway/gateway-agent-cards.d.ts.map +1 -1
- package/dist/gateway/gateway-agent-cards.js +2 -12
- package/dist/gateway/gateway-agent-cards.js.map +1 -1
- package/dist/gateway/gateway-chat-service.d.ts +1 -0
- package/dist/gateway/gateway-chat-service.d.ts.map +1 -1
- package/dist/gateway/gateway-chat-service.js +230 -9
- package/dist/gateway/gateway-chat-service.js.map +1 -1
- package/dist/gateway/gateway-client.d.ts.map +1 -1
- package/dist/gateway/gateway-client.js +5 -0
- package/dist/gateway/gateway-client.js.map +1 -1
- package/dist/gateway/gateway-health-service.d.ts +11 -0
- package/dist/gateway/gateway-health-service.d.ts.map +1 -0
- package/dist/gateway/gateway-health-service.js +61 -0
- package/dist/gateway/gateway-health-service.js.map +1 -0
- package/dist/gateway/gateway-http-proxy.d.ts.map +1 -1
- package/dist/gateway/gateway-http-proxy.js +26 -7
- 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 +422 -25
- package/dist/gateway/gateway-http-server.js.map +1 -1
- package/dist/gateway/gateway-lifecycle.d.ts +5 -0
- package/dist/gateway/gateway-lifecycle.d.ts.map +1 -1
- package/dist/gateway/gateway-lifecycle.js +5 -0
- package/dist/gateway/gateway-lifecycle.js.map +1 -1
- package/dist/gateway/gateway-service.d.ts +35 -8
- package/dist/gateway/gateway-service.d.ts.map +1 -1
- package/dist/gateway/gateway-service.js +533 -152
- package/dist/gateway/gateway-service.js.map +1 -1
- package/dist/gateway/gateway-session-status.d.ts +6 -0
- package/dist/gateway/gateway-session-status.d.ts.map +1 -1
- package/dist/gateway/gateway-session-status.js +107 -4
- package/dist/gateway/gateway-session-status.js.map +1 -1
- package/dist/gateway/gateway-tunnel-service.d.ts +5 -0
- package/dist/gateway/gateway-tunnel-service.d.ts.map +1 -0
- package/dist/gateway/gateway-tunnel-service.js +137 -0
- package/dist/gateway/gateway-tunnel-service.js.map +1 -0
- package/dist/gateway/gateway-types.d.ts +144 -23
- package/dist/gateway/gateway-types.d.ts.map +1 -1
- package/dist/gateway/gateway-types.js.map +1 -1
- package/dist/gateway/gateway.js +302 -85
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/qr-svg.d.ts +2 -0
- package/dist/gateway/qr-svg.d.ts.map +1 -0
- package/dist/gateway/qr-svg.js +30 -0
- package/dist/gateway/qr-svg.js.map +1 -0
- package/dist/gateway/skill-commands.d.ts.map +1 -1
- package/dist/gateway/skill-commands.js +148 -92
- package/dist/gateway/skill-commands.js.map +1 -1
- package/dist/gateway/text-channel-commands.d.ts +1 -1
- package/dist/gateway/text-channel-commands.d.ts.map +1 -1
- package/dist/gateway/text-channel-commands.js +3 -1
- package/dist/gateway/text-channel-commands.js.map +1 -1
- package/dist/infra/container-runner.d.ts +2 -0
- package/dist/infra/container-runner.d.ts.map +1 -1
- package/dist/infra/container-runner.js +299 -66
- package/dist/infra/container-runner.js.map +1 -1
- package/dist/infra/host-runner.d.ts +2 -0
- package/dist/infra/host-runner.d.ts.map +1 -1
- package/dist/infra/host-runner.js +273 -61
- package/dist/infra/host-runner.js.map +1 -1
- package/dist/infra/ipc.d.ts.map +1 -1
- package/dist/infra/ipc.js +11 -0
- package/dist/infra/ipc.js.map +1 -1
- package/dist/infra/model-response-debug.d.ts +2 -0
- package/dist/infra/model-response-debug.d.ts.map +1 -0
- package/dist/infra/model-response-debug.js +49 -0
- package/dist/infra/model-response-debug.js.map +1 -0
- package/dist/infra/stream-debug.d.ts +2 -0
- package/dist/infra/stream-debug.d.ts.map +1 -1
- package/dist/infra/stream-debug.js +11 -1
- package/dist/infra/stream-debug.js.map +1 -1
- package/dist/infra/warm-process-pool.d.ts +51 -0
- package/dist/infra/warm-process-pool.d.ts.map +1 -0
- package/dist/infra/warm-process-pool.js +211 -0
- package/dist/infra/warm-process-pool.js.map +1 -0
- package/dist/infra/warm-runner-utils.d.ts +76 -0
- package/dist/infra/warm-runner-utils.d.ts.map +1 -0
- package/dist/infra/warm-runner-utils.js +138 -0
- package/dist/infra/warm-runner-utils.js.map +1 -0
- package/dist/media/path-utils.d.ts +1 -1
- package/dist/media/path-utils.d.ts.map +1 -1
- package/dist/media/path-utils.js +1 -11
- package/dist/media/path-utils.js.map +1 -1
- package/dist/media/pdf-context.d.ts.map +1 -1
- package/dist/media/pdf-context.js +2 -11
- package/dist/media/pdf-context.js.map +1 -1
- package/dist/memory/db.d.ts +115 -6
- package/dist/memory/db.d.ts.map +1 -1
- package/dist/memory/db.js +1165 -68
- package/dist/memory/db.js.map +1 -1
- package/dist/memory/memory-service.d.ts +6 -1
- package/dist/memory/memory-service.d.ts.map +1 -1
- package/dist/memory/memory-service.js +3 -1
- package/dist/memory/memory-service.js.map +1 -1
- package/dist/plugins/plugin-api.d.ts.map +1 -1
- package/dist/plugins/plugin-api.js +3 -0
- package/dist/plugins/plugin-api.js.map +1 -1
- package/dist/plugins/plugin-install.d.ts.map +1 -1
- package/dist/plugins/plugin-install.js +2 -6
- package/dist/plugins/plugin-install.js.map +1 -1
- package/dist/plugins/plugin-manager.d.ts +5 -1
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins/plugin-manager.js +126 -0
- package/dist/plugins/plugin-manager.js.map +1 -1
- package/dist/plugins/plugin-sdk.d.ts +1 -1
- package/dist/plugins/plugin-sdk.d.ts.map +1 -1
- package/dist/plugins/plugin-sdk.js.map +1 -1
- package/dist/plugins/plugin-types.d.ts +40 -1
- package/dist/plugins/plugin-types.d.ts.map +1 -1
- package/dist/policy/network-policy.d.ts +1 -1
- package/dist/policy/network-policy.d.ts.map +1 -1
- package/dist/policy/network-policy.js +1 -1
- package/dist/policy/network-policy.js.map +1 -1
- package/dist/policy/policy-engine.d.ts +3 -0
- package/dist/policy/policy-engine.d.ts.map +1 -0
- package/dist/policy/policy-engine.js +2 -0
- package/dist/policy/policy-engine.js.map +1 -0
- package/dist/policy/skill-policy.d.ts +6 -0
- package/dist/policy/skill-policy.d.ts.map +1 -0
- package/dist/policy/skill-policy.js +20 -0
- package/dist/policy/skill-policy.js.map +1 -0
- package/dist/providers/anthropic-discovery.d.ts +3 -0
- package/dist/providers/anthropic-discovery.d.ts.map +1 -1
- package/dist/providers/anthropic-discovery.js +16 -0
- package/dist/providers/anthropic-discovery.js.map +1 -1
- package/dist/providers/auxiliary.d.ts +7 -0
- package/dist/providers/auxiliary.d.ts.map +1 -1
- package/dist/providers/auxiliary.js +74 -9
- package/dist/providers/auxiliary.js.map +1 -1
- package/dist/providers/codex-discovery.d.ts +4 -0
- package/dist/providers/codex-discovery.d.ts.map +1 -1
- package/dist/providers/codex-discovery.js +11 -0
- package/dist/providers/codex-discovery.js.map +1 -1
- package/dist/providers/huggingface-discovery.d.ts +3 -0
- package/dist/providers/huggingface-discovery.d.ts.map +1 -1
- package/dist/providers/huggingface-discovery.js +22 -0
- package/dist/providers/huggingface-discovery.js.map +1 -1
- package/dist/providers/hybridai-discovery.d.ts +8 -0
- package/dist/providers/hybridai-discovery.d.ts.map +1 -1
- package/dist/providers/hybridai-discovery.js +18 -0
- package/dist/providers/hybridai-discovery.js.map +1 -1
- package/dist/providers/hybridai-models.d.ts.map +1 -1
- package/dist/providers/hybridai-models.js +4 -120
- package/dist/providers/hybridai-models.js.map +1 -1
- package/dist/providers/mistral-discovery.d.ts +3 -0
- package/dist/providers/mistral-discovery.d.ts.map +1 -1
- package/dist/providers/mistral-discovery.js +17 -0
- package/dist/providers/mistral-discovery.js.map +1 -1
- package/dist/providers/model-catalog.d.ts +35 -1
- package/dist/providers/model-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog.js +235 -35
- package/dist/providers/model-catalog.js.map +1 -1
- package/dist/providers/model-lookup.d.ts +3 -0
- package/dist/providers/model-lookup.d.ts.map +1 -0
- package/dist/providers/model-lookup.js +39 -0
- package/dist/providers/model-lookup.js.map +1 -0
- package/dist/providers/model-metadata.d.ts +20 -0
- package/dist/providers/model-metadata.d.ts.map +1 -0
- package/dist/providers/model-metadata.js +236 -0
- package/dist/providers/model-metadata.js.map +1 -0
- package/dist/providers/model-names.d.ts +2 -2
- package/dist/providers/model-names.d.ts.map +1 -1
- package/dist/providers/model-names.js +2 -2
- package/dist/providers/model-names.js.map +1 -1
- package/dist/providers/openai-compat-discovery.d.ts +3 -0
- package/dist/providers/openai-compat-discovery.d.ts.map +1 -1
- package/dist/providers/openai-compat-discovery.js +45 -7
- package/dist/providers/openai-compat-discovery.js.map +1 -1
- package/dist/providers/openrouter-discovery.d.ts +8 -0
- package/dist/providers/openrouter-discovery.d.ts.map +1 -1
- package/dist/providers/openrouter-discovery.js +16 -0
- package/dist/providers/openrouter-discovery.js.map +1 -1
- package/dist/providers/pricing-discovery.d.ts +6 -0
- package/dist/providers/pricing-discovery.d.ts.map +1 -0
- package/dist/providers/pricing-discovery.js +54 -0
- package/dist/providers/pricing-discovery.js.map +1 -0
- package/dist/providers/task-routing.d.ts +1 -1
- package/dist/providers/task-routing.d.ts.map +1 -1
- package/dist/providers/task-routing.js +2 -2
- package/dist/providers/task-routing.js.map +1 -1
- package/dist/providers/utils.d.ts.map +1 -1
- package/dist/providers/utils.js +5 -1
- package/dist/providers/utils.js.map +1 -1
- package/dist/scheduler/heartbeat.d.ts.map +1 -1
- package/dist/scheduler/heartbeat.js +1 -0
- package/dist/scheduler/heartbeat.js.map +1 -1
- package/dist/scheduler/scheduled-task-runner.d.ts.map +1 -1
- package/dist/scheduler/scheduled-task-runner.js +4 -2
- package/dist/scheduler/scheduled-task-runner.js.map +1 -1
- package/dist/security/confidential-redact.d.ts +41 -0
- package/dist/security/confidential-redact.d.ts.map +1 -0
- package/dist/security/confidential-redact.js +169 -0
- package/dist/security/confidential-redact.js.map +1 -0
- package/dist/security/confidential-rules.d.ts +28 -0
- package/dist/security/confidential-rules.d.ts.map +1 -0
- package/dist/security/confidential-rules.js +150 -0
- package/dist/security/confidential-rules.js.map +1 -0
- package/dist/security/confidential-runtime.d.ts +37 -0
- package/dist/security/confidential-runtime.d.ts.map +1 -0
- package/dist/security/confidential-runtime.js +215 -0
- package/dist/security/confidential-runtime.js.map +1 -0
- package/dist/security/media-paths.d.ts.map +1 -1
- package/dist/security/media-paths.js +2 -7
- package/dist/security/media-paths.js.map +1 -1
- package/dist/security/mount-config.d.ts.map +1 -1
- package/dist/security/mount-config.js +3 -10
- package/dist/security/mount-config.js.map +1 -1
- package/dist/session/session-context.d.ts.map +1 -1
- package/dist/session/session-context.js +1 -0
- package/dist/session/session-context.js.map +1 -1
- package/dist/session/session-reset.d.ts.map +1 -1
- package/dist/session/session-reset.js +3 -0
- package/dist/session/session-reset.js.map +1 -1
- package/dist/skills/adaptive-skills-types.d.ts +46 -0
- package/dist/skills/adaptive-skills-types.d.ts.map +1 -1
- package/dist/skills/agent-cv.d.ts +15 -0
- package/dist/skills/agent-cv.d.ts.map +1 -0
- package/dist/skills/agent-cv.js +707 -0
- package/dist/skills/agent-cv.js.map +1 -0
- package/dist/skills/agent-scoreboard.d.ts +23 -0
- package/dist/skills/agent-scoreboard.d.ts.map +1 -0
- package/dist/skills/agent-scoreboard.js +204 -0
- package/dist/skills/agent-scoreboard.js.map +1 -0
- package/dist/skills/skill-formatters.d.ts +10 -0
- package/dist/skills/skill-formatters.d.ts.map +1 -0
- package/dist/skills/skill-formatters.js +91 -0
- package/dist/skills/skill-formatters.js.map +1 -0
- package/dist/skills/skill-import-args.d.ts +1 -1
- package/dist/skills/skill-import-args.d.ts.map +1 -1
- package/dist/skills/skill-install-mode.d.ts +17 -0
- package/dist/skills/skill-install-mode.d.ts.map +1 -0
- package/dist/skills/skill-install-mode.js +39 -0
- package/dist/skills/skill-install-mode.js.map +1 -0
- package/dist/skills/skill-manifest.d.ts +30 -0
- package/dist/skills/skill-manifest.d.ts.map +1 -0
- package/dist/skills/skill-manifest.js +237 -0
- package/dist/skills/skill-manifest.js.map +1 -0
- package/dist/skills/skill-run-events.d.ts +73 -0
- package/dist/skills/skill-run-events.d.ts.map +1 -0
- package/dist/skills/skill-run-events.js +137 -0
- package/dist/skills/skill-run-events.js.map +1 -0
- package/dist/skills/skill-run-trajectories.d.ts +48 -0
- package/dist/skills/skill-run-trajectories.d.ts.map +1 -0
- package/dist/skills/skill-run-trajectories.js +370 -0
- package/dist/skills/skill-run-trajectories.js.map +1 -0
- package/dist/skills/skills-import.d.ts +1 -0
- package/dist/skills/skills-import.d.ts.map +1 -1
- package/dist/skills/skills-import.js +4 -4
- package/dist/skills/skills-import.js.map +1 -1
- package/dist/skills/skills-inspection.d.ts.map +1 -1
- package/dist/skills/skills-inspection.js +30 -2
- package/dist/skills/skills-inspection.js.map +1 -1
- package/dist/skills/skills-lifecycle.d.ts +54 -0
- package/dist/skills/skills-lifecycle.d.ts.map +1 -0
- package/dist/skills/skills-lifecycle.js +514 -0
- package/dist/skills/skills-lifecycle.js.map +1 -0
- package/dist/skills/skills-observation.d.ts +7 -0
- package/dist/skills/skills-observation.d.ts.map +1 -1
- package/dist/skills/skills-observation.js +146 -32
- package/dist/skills/skills-observation.js.map +1 -1
- package/dist/skills/skills.d.ts +3 -0
- package/dist/skills/skills.d.ts.map +1 -1
- package/dist/skills/skills.js +63 -17
- package/dist/skills/skills.js.map +1 -1
- package/dist/tui-skill-config.d.ts +1 -1
- package/dist/tui-skill-config.d.ts.map +1 -1
- package/dist/tui-thinking.d.ts +4 -0
- package/dist/tui-thinking.d.ts.map +1 -1
- package/dist/tui-thinking.js +146 -3
- package/dist/tui-thinking.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +46 -46
- package/dist/tui.js.map +1 -1
- package/dist/tunnel/ngrok-tunnel-provider.d.ts +78 -0
- package/dist/tunnel/ngrok-tunnel-provider.d.ts.map +1 -0
- package/dist/tunnel/ngrok-tunnel-provider.js +356 -0
- package/dist/tunnel/ngrok-tunnel-provider.js.map +1 -0
- package/dist/tunnel/tailscale-tunnel-provider.d.ts +61 -0
- package/dist/tunnel/tailscale-tunnel-provider.d.ts.map +1 -0
- package/dist/tunnel/tailscale-tunnel-provider.js +382 -0
- package/dist/tunnel/tailscale-tunnel-provider.js.map +1 -0
- package/dist/tunnel/tunnel-provider-utils.d.ts +46 -0
- package/dist/tunnel/tunnel-provider-utils.d.ts.map +1 -0
- package/dist/tunnel/tunnel-provider-utils.js +126 -0
- package/dist/tunnel/tunnel-provider-utils.js.map +1 -0
- package/dist/tunnel/tunnel-provider.d.ts +23 -0
- package/dist/tunnel/tunnel-provider.d.ts.map +1 -0
- package/dist/tunnel/tunnel-provider.js +5 -0
- package/dist/tunnel/tunnel-provider.js.map +1 -0
- package/dist/types/container.d.ts +5 -9
- package/dist/types/container.d.ts.map +1 -1
- package/dist/types/execution.d.ts +15 -0
- package/dist/types/execution.d.ts.map +1 -1
- package/dist/types/execution.js +16 -1
- package/dist/types/execution.js.map +1 -1
- package/dist/types/models.d.ts +1 -1
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/models.js +1 -0
- package/dist/types/models.js.map +1 -1
- package/dist/types/session.d.ts +4 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/usage.d.ts +14 -0
- package/dist/types/usage.d.ts.map +1 -1
- package/dist/usage/token-usage-buffer.d.ts +96 -0
- package/dist/usage/token-usage-buffer.d.ts.map +1 -0
- package/dist/usage/token-usage-buffer.js +471 -0
- package/dist/usage/token-usage-buffer.js.map +1 -0
- package/dist/utils/hash.d.ts +2 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +5 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/normalized-strings.d.ts +1 -0
- package/dist/utils/normalized-strings.d.ts.map +1 -1
- package/dist/utils/normalized-strings.js +12 -0
- package/dist/utils/normalized-strings.js.map +1 -1
- package/dist/utils/path.d.ts +2 -0
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +12 -0
- package/dist/utils/path.js.map +1 -0
- package/dist/utils/secret-prompt.d.ts.map +1 -1
- package/dist/utils/secret-prompt.js +9 -2
- package/dist/utils/secret-prompt.js.map +1 -1
- package/dist/utils/text-format.d.ts +1 -0
- package/dist/utils/text-format.d.ts.map +1 -1
- package/dist/utils/text-format.js +5 -0
- package/dist/utils/text-format.js.map +1 -1
- package/docs/content/README.md +22 -21
- package/docs/content/channels/README.md +1 -0
- package/docs/content/channels/admin-console.md +19 -2
- package/docs/content/channels/overview.md +1 -0
- package/docs/content/channels/policies-and-allowlists.md +3 -0
- package/docs/content/channels/signal.md +259 -0
- package/docs/content/developer-guide/approvals.md +78 -1
- package/docs/content/extensibility/adaptive-skills.md +21 -11
- package/docs/content/extensibility/agent-packages.md +61 -0
- package/docs/content/extensibility/plugins.md +6 -0
- package/docs/content/extensibility/skills.md +24 -4
- package/docs/content/getting-started/first-channel.md +3 -0
- package/docs/content/getting-started/installation.md +59 -0
- package/docs/content/getting-started/quickstart.md +10 -0
- package/docs/content/guides/README.md +2 -0
- package/docs/content/guides/remote-access.md +32 -2
- package/docs/content/guides/skills/README.md +2 -0
- package/docs/content/guides/skills/business-skills.md +114 -0
- package/docs/content/guides/skills/communication.md +37 -0
- package/docs/content/guides/tailscale-funnel.md +148 -0
- package/docs/content/internal/roadmap.md +141 -0
- package/docs/content/manifesto.md +79 -0
- package/docs/content/reference/commands.md +176 -15
- package/docs/content/reference/configuration.md +43 -14
- package/docs/content/reference/diagnostics.md +11 -0
- package/docs/content/reference/model-selection.md +12 -0
- package/docs/index.html +12 -12
- package/docs/static/docs.js +4 -1
- package/package.json +2 -1
- package/skills/brand-voice/SKILL.md +79 -0
- package/skills/salesforce/SKILL.md +70 -13
- package/skills/salesforce/agents/openai.yaml +2 -2
- package/skills/salesforce/evals/scenarios.json +212 -0
- package/skills/salesforce/references/metadata-and-queries.md +24 -2
- package/skills/salesforce/scripts/salesforce_query.py +1078 -96
- package/console/dist/assets/chat-B3W1Ca_5.js +0 -93
- package/console/dist/assets/chat-BWpulWPN.css +0 -1
- package/console/dist/assets/cx-D_Ee3160.js +0 -1
- package/console/dist/assets/index-BnOCY0ZR.css +0 -1
- package/console/dist/assets/index-DIF3rME4.js +0 -15
- package/docs/chat.html +0 -4417
- package/docs/development/README.md +0 -60
- package/docs/development/_category_.json +0 -5
- package/docs/development/agents.md +0 -71
- package/docs/development/extensibility/README.md +0 -195
- package/docs/development/extensibility/_category_.json +0 -5
- package/docs/development/extensibility/adaptive-skills.md +0 -120
- package/docs/development/extensibility/agent-packages.md +0 -515
- package/docs/development/extensibility/byterover-memory-plugin.md +0 -390
- package/docs/development/extensibility/gbrain-plugin.md +0 -692
- package/docs/development/extensibility/honcho-memory-plugin.md +0 -575
- package/docs/development/extensibility/mem0-memory-plugin.md +0 -180
- package/docs/development/extensibility/memory-plugins.md +0 -128
- package/docs/development/extensibility/mempalace-memory-plugin.md +0 -654
- package/docs/development/extensibility/otel-plugin.md +0 -269
- package/docs/development/extensibility/plugins.md +0 -420
- package/docs/development/extensibility/qmd-memory-plugin.md +0 -291
- package/docs/development/extensibility/skills.md +0 -169
- package/docs/development/getting-started/README.md +0 -25
- package/docs/development/getting-started/_category_.json +0 -5
- package/docs/development/getting-started/authentication.md +0 -183
- package/docs/development/getting-started/channels.md +0 -631
- package/docs/development/getting-started/installation.md +0 -53
- package/docs/development/getting-started/quickstart.md +0 -106
- package/docs/development/guides/README.md +0 -23
- package/docs/development/guides/_category_.json +0 -5
- package/docs/development/guides/bundled-skills.md +0 -45
- package/docs/development/guides/local-providers.md +0 -49
- package/docs/development/guides/office-dependencies.md +0 -50
- package/docs/development/guides/remote-access.md +0 -205
- package/docs/development/guides/skills/README.md +0 -69
- package/docs/development/guides/skills/apple.md +0 -112
- package/docs/development/guides/skills/communication.md +0 -82
- package/docs/development/guides/skills/development.md +0 -289
- package/docs/development/guides/skills/integrations.md +0 -358
- package/docs/development/guides/skills/memory-knowledge.md +0 -189
- package/docs/development/guides/skills/office.md +0 -250
- package/docs/development/guides/skills/productivity.md +0 -116
- package/docs/development/guides/skills/publishing.md +0 -169
- package/docs/development/guides/tui-mcp.md +0 -35
- package/docs/development/guides/twilio-voice.md +0 -453
- package/docs/development/guides/voice-tts.md +0 -133
- package/docs/development/internals/README.md +0 -21
- package/docs/development/internals/_category_.json +0 -5
- package/docs/development/internals/approvals.md +0 -259
- package/docs/development/internals/architecture.md +0 -114
- package/docs/development/internals/memory.md +0 -379
- package/docs/development/internals/runtime.md +0 -412
- package/docs/development/internals/session-routing.md +0 -113
- package/docs/development/reference/README.md +0 -18
- package/docs/development/reference/_category_.json +0 -5
- package/docs/development/reference/commands.md +0 -429
- package/docs/development/reference/configuration.md +0 -232
- package/docs/development/reference/diagnostics.md +0 -51
- package/docs/development/reference/faq.md +0 -132
- package/docs/development/reference/model-selection.md +0 -149
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,176 @@
|
|
|
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
|
+
|
|
81
|
+
## [0.14.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.14.0) - 2026-04-28
|
|
82
|
+
|
|
83
|
+
### Added
|
|
84
|
+
|
|
85
|
+
- **Signal channel**: HybridClaw can connect to Signal through a
|
|
86
|
+
`signal-cli` compatible daemon, with private-by-default DM and group
|
|
87
|
+
policies, outbound chunk pacing, reconnect handling, admin QR linking, and a
|
|
88
|
+
full setup guide.
|
|
89
|
+
- **Confidential-info filter and audit leak scanner**: Operators can define
|
|
90
|
+
NDA-class client, project, person, keyword, and regex rules in
|
|
91
|
+
`.confidential.yml`; prompts are redacted before model calls, responses are
|
|
92
|
+
rehydrated for the user, and `hybridclaw audit scan-leaks` can inspect
|
|
93
|
+
historic audit logs with severity and type filters.
|
|
94
|
+
- **Admin statistics and agent scoreboard**: The admin console adds
|
|
95
|
+
`/admin/statistics` for session, message, token, cost, and channel trends,
|
|
96
|
+
plus `/admin/agent-scoreboard` for per-agent skill scores, best skills,
|
|
97
|
+
reliability, timing, and CV links.
|
|
98
|
+
- **Live context usage controls**: Web chat shows a live context-usage ring,
|
|
99
|
+
local sessions support `/context`, and compaction headroom is visible before
|
|
100
|
+
long-running chats hit the model window.
|
|
101
|
+
- **Packaged skill lifecycle**: Production skills can declare manifests with
|
|
102
|
+
package id, version, capabilities, required credentials, and supported
|
|
103
|
+
channels. Operators can install, upgrade, uninstall, list revisions, and roll
|
|
104
|
+
back managed skills with audited snapshots.
|
|
105
|
+
- **Skill autonomy and stakes policy foundations**: `skills.autonomy` records
|
|
106
|
+
per-agent skill autonomy levels, the container approval policy can classify
|
|
107
|
+
high-stakes actions, and conditional skill availability can be routed through
|
|
108
|
+
the generalized policy engine.
|
|
109
|
+
- **Deployment config and ngrok tunnel provider**: Runtime config now declares
|
|
110
|
+
local or cloud deployment mode, public URLs, tunnel provider intent, and a
|
|
111
|
+
built-in ngrok tunnel provider backed by the encrypted `NGROK_AUTHTOKEN`
|
|
112
|
+
secret.
|
|
113
|
+
- **Nix and Homebrew packaging groundwork**: The repo ships a multi-arch Nix
|
|
114
|
+
flake, NixOS service module, contributor dev shell, packaging notes, and a
|
|
115
|
+
preview Homebrew formula for future tap publication.
|
|
116
|
+
- **Model metadata, pricing, and monthly usage rollups**: `/model info`,
|
|
117
|
+
`/usage`, and the admin Models page surface discovered context windows,
|
|
118
|
+
output limits, capabilities, pricing, and monthly per-model spend when
|
|
119
|
+
providers expose that metadata.
|
|
120
|
+
- **Headful browser control**: Browser tools can run a visible Chrome session
|
|
121
|
+
when a user explicitly asks for headed/headful control, while shared browser
|
|
122
|
+
login profiles stay reusable for automation.
|
|
123
|
+
- **Agent-to-agent and trajectory persistence foundations**: The runtime can
|
|
124
|
+
persist A2A envelopes and opt-in redacted skill-run trajectories, creating
|
|
125
|
+
the data trail needed for multi-agent handoffs, skill evaluation, and future
|
|
126
|
+
workflow tuning.
|
|
127
|
+
|
|
128
|
+
### Changed
|
|
129
|
+
|
|
130
|
+
- **Browser chat is more operational**: Chat navigation is session-id driven,
|
|
131
|
+
recent sessions keep richer snippets, the composer can switch agents, slash
|
|
132
|
+
result streams render correctly, and context-ring data is shared with the
|
|
133
|
+
`/context` command.
|
|
134
|
+
- **Agent terminology and profile data are consistent**: The UI and internal
|
|
135
|
+
persistence moved from coworker compatibility naming to agent naming, while
|
|
136
|
+
agent configs gained owner, role, and CV fields.
|
|
137
|
+
- **Model and provider status is discovery-led**: Provider catalogs cache
|
|
138
|
+
runtime discovery, merge pinned entries with discovered models, remove stale
|
|
139
|
+
static pricing assumptions, and keep status/model-info output focused on the
|
|
140
|
+
active model.
|
|
141
|
+
- **Approval and policy evaluation is more explicit**: Approval tiers can be
|
|
142
|
+
influenced by autonomy level and stakes classification, invalid policy
|
|
143
|
+
regexes and thresholds warn early, and unsafe realpath inspection during
|
|
144
|
+
approval classification is avoided.
|
|
145
|
+
- **Local diagnostics are more precise**: Gateway debug startup flags can
|
|
146
|
+
capture raw model responses and last prompts for local troubleshooting, and
|
|
147
|
+
`doctor` resource hygiene can reclaim stale gateway artifacts more safely.
|
|
148
|
+
- **TUI and status reporting are quieter and more useful**: Proactive polling
|
|
149
|
+
runs less often, streamed TUI responses preserve visible text, transient tool
|
|
150
|
+
lines truncate cleanly, and status output includes tokens-per-second and
|
|
151
|
+
time-to-first-token aware metrics.
|
|
152
|
+
|
|
153
|
+
### Fixed
|
|
154
|
+
|
|
155
|
+
- **Web fetch is guarded against SSRF**: Plain HTTP retrieval now enforces
|
|
156
|
+
private-network protections more consistently before escalating to browser
|
|
157
|
+
tools.
|
|
158
|
+
- **Headful browser launches require system Chrome**: Visible browser control
|
|
159
|
+
refuses unstable headed macOS fallback launches and reports the required
|
|
160
|
+
Chrome executable setup instead.
|
|
161
|
+
- **Voice turns survive relay reconnects**: Twilio voice relay reconnects no
|
|
162
|
+
longer lose the active turn state while the gateway is handling a call.
|
|
163
|
+
- **Chat history and streaming edge cases are closed**: Result-only slash
|
|
164
|
+
streams render, tool-call sentinels are stripped before storage, regenerated
|
|
165
|
+
replies include tools used, context rings stay visible, and `/chat.html`
|
|
166
|
+
redirects preserve query strings.
|
|
167
|
+
- **Skill lifecycle and manifest handling are stricter**: Managed skill
|
|
168
|
+
installs require installed status records, validate snapshot entries, cap
|
|
169
|
+
restored file modes, preserve unknown deployment tunnel providers, and reject
|
|
170
|
+
upgrades for uninstalled packages.
|
|
171
|
+
- **Channel runtimes shut down more predictably**: WhatsApp and voice shutdown
|
|
172
|
+
paths cancel stale work, Signal delivery validates daemon/account state, and
|
|
173
|
+
channel send tools remain scoped to active transports.
|
|
174
|
+
|
|
5
175
|
## [0.13.1](https://github.com/HybridAIOne/hybridclaw/tree/v0.13.1) - 2026-04-24
|
|
6
176
|
|
|
7
177
|
### Added
|
package/README.md
CHANGED
|
@@ -19,9 +19,9 @@ security, and operational visibility. It combines sandboxed execution, secure
|
|
|
19
19
|
credentials, approvals, persistent memory, and admin surfaces behind a single
|
|
20
20
|
gateway.
|
|
21
21
|
|
|
22
|
-
Connect it to Discord, Slack, WhatsApp, Telegram, Microsoft Teams,
|
|
23
|
-
Twilio voice, or the web. Run it locally, deploy it for business
|
|
24
|
-
and keep your agents, secrets, and data under your control.
|
|
22
|
+
Connect it to Discord, Slack, Signal, WhatsApp, Telegram, Microsoft Teams,
|
|
23
|
+
email, Twilio voice, or the web. Run it locally, deploy it for business
|
|
24
|
+
workflows, and keep your agents, secrets, and data under your control.
|
|
25
25
|
|
|
26
26
|
[Quick Start](https://www.hybridclaw.io/docs/getting-started/quickstart) ·
|
|
27
27
|
[Installation](https://www.hybridclaw.io/docs/getting-started/installation) ·
|
|
@@ -78,7 +78,7 @@ Open locally:
|
|
|
78
78
|
|
|
79
79
|
- Chat UI: `http://127.0.0.1:9090/chat`
|
|
80
80
|
- Admin UI: `http://127.0.0.1:9090/admin` for channels, versioned agent files,
|
|
81
|
-
scheduler, audit, config, and channel-specific instructions
|
|
81
|
+
scheduler, audit, statistics, config, and channel-specific instructions
|
|
82
82
|
- Agents UI: `http://127.0.0.1:9090/agents`
|
|
83
83
|
- OpenAI-compatible API: `http://127.0.0.1:9090/v1/models` and `http://127.0.0.1:9090/v1/chat/completions`
|
|
84
84
|
|
|
@@ -95,41 +95,66 @@ 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 shows live context-window usage, accepts `/context`, and lets you
|
|
99
|
+
switch the active agent and model from the composer
|
|
98
100
|
- Web Chat accepts `/btw <question>` side questions while a primary run is
|
|
99
101
|
active, so you can ask an ephemeral follow-up without interrupting the
|
|
100
102
|
current run
|
|
101
103
|
- Admin Console: `http://127.0.0.1:9090/admin` for channels, versioned agent files,
|
|
102
|
-
scheduler, audit, config, and channel-specific instructions
|
|
104
|
+
scheduler, audit, statistics, config, and channel-specific instructions
|
|
103
105
|
- Agent Dashboard: `http://127.0.0.1:9090/agents`
|
|
104
|
-
- or connect Slack, WhatsApp, Telegram, Discord, Microsoft Teams, Email
|
|
106
|
+
- or connect Slack, Signal, WhatsApp, Telegram, Discord, Microsoft Teams, Email
|
|
105
107
|
|
|
106
108
|
## Operator workflows
|
|
107
109
|
|
|
110
|
+
- Install from npm, source, or the multi-arch Nix flake; a preview Homebrew
|
|
111
|
+
formula is available for `--HEAD` builds while stable tap publication is
|
|
112
|
+
prepared.
|
|
108
113
|
- `hybridclaw gateway status` reports sandbox/runtime details, and in
|
|
109
114
|
container mode it includes the configured image name plus the resolved
|
|
110
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.
|
|
111
119
|
- `hybridclaw update --yes` upgrades a global npm install and auto-restarts a
|
|
112
120
|
running local gateway with its original launch parameters when possible,
|
|
113
121
|
falling back to `hybridclaw gateway restart` if not.
|
|
114
122
|
- `/admin/agents` edits allowlisted bootstrap markdown files such as
|
|
115
123
|
`AGENTS.md`, keeps saved revisions, and restores earlier versions from the
|
|
116
124
|
browser.
|
|
125
|
+
- `/admin/statistics` reports message, session, token, cost, and channel trends
|
|
126
|
+
across a selected date range.
|
|
127
|
+
- `/admin/agent-scoreboard` ranks agents by observed skill scores, reliability,
|
|
128
|
+
timing, best skills, and CV links.
|
|
117
129
|
- `hybridclaw agent config` accepts generated JSON payloads to upsert agent
|
|
118
130
|
metadata, write bootstrap markdown, import profile images into the agent
|
|
119
131
|
workspace, and optionally activate the agent.
|
|
120
132
|
- `/admin/channels` edits transport config, encrypted channel credentials,
|
|
121
|
-
Twilio voice settings, and per-channel instructions that
|
|
122
|
-
prompts at runtime.
|
|
133
|
+
Signal QR linking, Twilio voice settings, and per-channel instructions that
|
|
134
|
+
are injected into prompts at runtime.
|
|
123
135
|
- `/admin/approvals` manages approval policies from the browser.
|
|
124
136
|
- `/admin/gateway` reloads runtime config and refreshes secrets from the
|
|
125
|
-
browser without tearing down the
|
|
126
|
-
`hybridclaw gateway restart` for
|
|
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.
|
|
140
|
+
- `/context` and the web chat context ring show current context-window usage,
|
|
141
|
+
remaining headroom, and compaction counts for the active session.
|
|
127
142
|
- `proactive.delegation.model` can pin delegated work to a different model
|
|
128
143
|
from the parent turn; `/status` shows delegate token totals and local-token
|
|
129
144
|
share when that split is configured.
|
|
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.
|
|
130
152
|
- `container.persistBashState` controls whether bash tool calls share shell
|
|
131
153
|
state (`cd`, exported env vars, aliases) across turns in the same active
|
|
132
154
|
runtime session; `/admin/config` exposes the same setting as `Persistent bash state`.
|
|
155
|
+
- `hybridclaw audit scan-leaks` scans historical audit logs against optional
|
|
156
|
+
`.confidential.yml` rules for NDA-class client, project, person, keyword,
|
|
157
|
+
and regex matches.
|
|
133
158
|
- Generated artifacts remain downloadable and attachable even when the sandbox
|
|
134
159
|
exposes a custom workspace display root such as `/app`.
|
|
135
160
|
- `hybridclaw tui` includes live delegate progress, pulsing tool rows,
|
|
@@ -142,6 +167,9 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
142
167
|
`config.json` becomes invalid.
|
|
143
168
|
- `hybridclaw skill import` supports community sources, local directories,
|
|
144
169
|
and `.zip` archives.
|
|
170
|
+
- `hybridclaw skill install <source>`, `skill upgrade`, `skill revisions`, and
|
|
171
|
+
`skill rollback` manage packaged business skills with manifests, audit
|
|
172
|
+
events, and snapshots.
|
|
145
173
|
- The bundled tutorials cover owner, GTM, marketing, sales, DevRel, content,
|
|
146
174
|
invoicing, webinar, and release-launch workflows that can run from the TUI,
|
|
147
175
|
web chat, or connected channels.
|
|
@@ -161,6 +189,10 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
161
189
|
Kimi, MiniMax, DashScope, Xiaomi, Kilo Code, and local backends such as
|
|
162
190
|
Ollama, LM Studio, llama.cpp, and vLLM. Remote OpenAI-compatible providers
|
|
163
191
|
can merge runtime-discovered model catalogs with operator-pinned lists.
|
|
192
|
+
- `/model info`, `/usage monthly`, `/usage model monthly`, and the admin
|
|
193
|
+
Models page surface discovered context windows, output limits, model
|
|
194
|
+
capabilities, pricing, and per-model monthly spend where provider metadata is
|
|
195
|
+
available.
|
|
164
196
|
- Anthropic can run through the direct Messages API with `ANTHROPIC_API_KEY`
|
|
165
197
|
or through the official Claude CLI transport in host sandbox mode.
|
|
166
198
|
- Brave, Perplexity, and Tavily web-search credentials can live in the
|
|
@@ -172,9 +204,13 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
172
204
|
- Skills can be enabled or disabled globally or per channel from
|
|
173
205
|
`hybridclaw skill enable|disable`, TUI `/skill config`, or the admin
|
|
174
206
|
`Skills` page.
|
|
207
|
+
- Packaged skills can declare versioned manifests, capabilities, required
|
|
208
|
+
credentials, supported channels, and per-agent autonomy policy.
|
|
175
209
|
- Bundled skills include API-backed Google Workspace workflows (`gog`, `gws`),
|
|
176
|
-
GitHub issue queue processing (`gh-issues`),
|
|
177
|
-
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.
|
|
178
214
|
- Built-in office skills handle longer PDF creation flows cleanly: the bundled
|
|
179
215
|
PDF creator wraps long lines, honors explicit `\n`, and adds pages
|
|
180
216
|
automatically when reports or invoices spill past the first page.
|
|
@@ -210,6 +246,8 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
210
246
|
## Security and governance built in
|
|
211
247
|
|
|
212
248
|
- secure credential storage
|
|
249
|
+
- optional confidential-info redaction before model calls
|
|
250
|
+
- retroactive audit leak scanning
|
|
213
251
|
- sandboxed execution
|
|
214
252
|
- approvals
|
|
215
253
|
- audit trails with hash chain
|
|
@@ -233,7 +271,7 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
233
271
|
|
|
234
272
|
## Architecture
|
|
235
273
|
|
|
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
|
|
274
|
+
- **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, Signal, Microsoft Teams, Telegram, iMessage, WhatsApp, Twilio voice, and email
|
|
237
275
|
- **TUI client** — thin client over HTTP (`/api/chat`, `/api/command`) with
|
|
238
276
|
a structured startup banner that surfaces model, sandbox, gateway, and
|
|
239
277
|
chatbot context before the first prompt, live delegate status/progress,
|
|
@@ -268,6 +306,7 @@ Browse the full manual at
|
|
|
268
306
|
[Discord](https://www.hybridclaw.io/docs/channels/discord),
|
|
269
307
|
[Slack](https://www.hybridclaw.io/docs/channels/slack),
|
|
270
308
|
[Telegram](https://www.hybridclaw.io/docs/channels/telegram),
|
|
309
|
+
[Signal](https://www.hybridclaw.io/docs/channels/signal),
|
|
271
310
|
[Email](https://www.hybridclaw.io/docs/channels/email),
|
|
272
311
|
[WhatsApp](https://www.hybridclaw.io/docs/channels/whatsapp),
|
|
273
312
|
[iMessage](https://www.hybridclaw.io/docs/channels/imessage), and
|
package/SECURITY.md
CHANGED
|
@@ -101,6 +101,39 @@ Implementation: [src/session/session-key.ts](./src/session/session-key.ts),
|
|
|
101
101
|
[src/session/session-routing.ts](./src/session/session-routing.ts),
|
|
102
102
|
[src/memory/db.ts](./src/memory/db.ts)
|
|
103
103
|
|
|
104
|
+
### 4.1) Confidential-Info Filter (NDA / secret-leak detector)
|
|
105
|
+
|
|
106
|
+
Optional, opt-in filter that prevents NDA-class business data from leaving the
|
|
107
|
+
host:
|
|
108
|
+
|
|
109
|
+
- Define rules in `.confidential.yml`. The loader checks the current working
|
|
110
|
+
directory first (`./.confidential.yml`) and then
|
|
111
|
+
`~/.hybridclaw/.confidential.yml`; first hit wins. The file holds clients,
|
|
112
|
+
projects, people, keywords, and regex patterns, each tagged with a
|
|
113
|
+
sensitivity level.
|
|
114
|
+
- Before every prompt is sent to a model, matches are replaced with stable
|
|
115
|
+
placeholders (`«CONF:CLIENT_001»`); the mapping is held in process memory and
|
|
116
|
+
forgotten when the request ends.
|
|
117
|
+
- Streaming text deltas and the final response are rehydrated for the user, so
|
|
118
|
+
the model never sees the original strings but the user sees real names.
|
|
119
|
+
- Disabled via `HYBRIDCLAW_CONFIDENTIAL_DISABLE=1` for debugging or dry-runs.
|
|
120
|
+
|
|
121
|
+
A retroactive scanner walks existing audit logs to surface possible past leaks
|
|
122
|
+
and assigns a 0-100 risk score:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
hybridclaw audit scan-leaks # scan every session
|
|
126
|
+
hybridclaw audit scan-leaks <sessionId> # scan one session
|
|
127
|
+
hybridclaw audit scan-leaks --level high # critical/high only
|
|
128
|
+
hybridclaw audit scan-leaks --type in,out # prompts and model responses only
|
|
129
|
+
hybridclaw audit scan-leaks --json # machine-readable report
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Implementation: [src/security/confidential-rules.ts](./src/security/confidential-rules.ts),
|
|
133
|
+
[src/security/confidential-redact.ts](./src/security/confidential-redact.ts),
|
|
134
|
+
[src/security/confidential-runtime.ts](./src/security/confidential-runtime.ts),
|
|
135
|
+
[src/audit/leak-scanner.ts](./src/audit/leak-scanner.ts).
|
|
136
|
+
|
|
104
137
|
### 5) Audit & Tamper Evidence
|
|
105
138
|
|
|
106
139
|
Security-relevant behavior is written to structured audit logs:
|
package/config.example.json
CHANGED
|
@@ -1,23 +1,33 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version":
|
|
2
|
+
"version": 26,
|
|
3
3
|
"security": {
|
|
4
4
|
"trustModelAccepted": false,
|
|
5
5
|
"trustModelAcceptedAt": "",
|
|
6
6
|
"trustModelVersion": "",
|
|
7
7
|
"trustModelAcceptedBy": ""
|
|
8
8
|
},
|
|
9
|
+
"deployment": {
|
|
10
|
+
"mode": "local",
|
|
11
|
+
"public_url": "",
|
|
12
|
+
"tunnel": {
|
|
13
|
+
"provider": "manual",
|
|
14
|
+
"health_check_interval_ms": 30000
|
|
15
|
+
}
|
|
16
|
+
},
|
|
9
17
|
"skills": {
|
|
10
18
|
"extraDirs": [],
|
|
11
19
|
"disabled": [],
|
|
12
20
|
"channelDisabled": {
|
|
13
21
|
"discord": [],
|
|
14
22
|
"msteams": [],
|
|
23
|
+
"signal": [],
|
|
15
24
|
"slack": [],
|
|
16
25
|
"telegram": [],
|
|
17
26
|
"voice": [],
|
|
18
27
|
"whatsapp": [],
|
|
19
28
|
"email": []
|
|
20
|
-
}
|
|
29
|
+
},
|
|
30
|
+
"installed": []
|
|
21
31
|
},
|
|
22
32
|
"tools": {
|
|
23
33
|
"disabled": []
|
|
@@ -25,6 +35,7 @@
|
|
|
25
35
|
"channelInstructions": {
|
|
26
36
|
"discord": "",
|
|
27
37
|
"msteams": "",
|
|
38
|
+
"signal": "",
|
|
28
39
|
"slack": "",
|
|
29
40
|
"telegram": "",
|
|
30
41
|
"voice": "This is a live phone call. Produce plain spoken text only.\nKeep each reply short and conversational, usually one or two short sentences.\nAbsolutely no markdown, bullets, numbered lists, headings, code fences, tables, JSON, or decorative formatting.\nDo not narrate internal reasoning, planning, tool usage, or stage directions. Say only what the caller should hear.\nDo not spell punctuation, formatting marks, or raw URLs unless the caller explicitly asks for exact characters.",
|
|
@@ -35,6 +46,10 @@
|
|
|
35
46
|
"adaptiveSkills": {
|
|
36
47
|
"enabled": false,
|
|
37
48
|
"observationEnabled": true,
|
|
49
|
+
"trajectoryCapture": {
|
|
50
|
+
"enabledAgentIds": [],
|
|
51
|
+
"storeDir": ""
|
|
52
|
+
},
|
|
38
53
|
"inspectionIntervalMs": 3600000,
|
|
39
54
|
"observationRetentionDays": 30,
|
|
40
55
|
"trailingWindowHours": 168,
|
|
@@ -157,6 +172,18 @@
|
|
|
157
172
|
"textChunkLimit": 4000,
|
|
158
173
|
"mediaMaxMb": 20
|
|
159
174
|
},
|
|
175
|
+
"signal": {
|
|
176
|
+
"enabled": false,
|
|
177
|
+
"daemonUrl": "http://127.0.0.1:8080",
|
|
178
|
+
"account": "",
|
|
179
|
+
"dmPolicy": "allowlist",
|
|
180
|
+
"groupPolicy": "disabled",
|
|
181
|
+
"allowFrom": [],
|
|
182
|
+
"groupAllowFrom": [],
|
|
183
|
+
"textChunkLimit": 4000,
|
|
184
|
+
"reconnectIntervalMs": 5000,
|
|
185
|
+
"outboundDelayMs": 350
|
|
186
|
+
},
|
|
160
187
|
"whatsapp": {
|
|
161
188
|
"dmPolicy": "pairing",
|
|
162
189
|
"groupPolicy": "disabled",
|
|
@@ -357,6 +384,11 @@
|
|
|
357
384
|
"model": "",
|
|
358
385
|
"maxTokens": 0
|
|
359
386
|
},
|
|
387
|
+
"eval_judge": {
|
|
388
|
+
"provider": "auto",
|
|
389
|
+
"model": "",
|
|
390
|
+
"maxTokens": 0
|
|
391
|
+
},
|
|
360
392
|
"mcp": {
|
|
361
393
|
"provider": "auto",
|
|
362
394
|
"model": "",
|
|
@@ -380,7 +412,15 @@
|
|
|
380
412
|
"additionalMounts": "",
|
|
381
413
|
"maxOutputBytes": 10485760,
|
|
382
414
|
"maxConcurrent": 5,
|
|
383
|
-
"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
|
+
}
|
|
384
424
|
},
|
|
385
425
|
"mcpServers": {
|
|
386
426
|
"filesystem": {
|