@hybridaione/hybridclaw 0.15.0 → 0.17.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 +180 -0
- package/README.md +100 -53
- package/SECURITY.md +52 -0
- package/config.example.json +41 -2
- package/console/dist/assets/chat-LVRun8dV.css +1 -0
- package/console/dist/assets/chat-ZXlZMDQn.js +158 -0
- package/console/dist/assets/cx-D-Eeq-HT.js +1 -0
- package/console/dist/assets/index-BcOge1oI.js +16 -0
- package/console/dist/assets/index-C4X6KQL_.css +1 -0
- package/console/dist/assets/terminal-BhiO_Bf5.js +1 -0
- package/console/dist/icons/hybridai.png +0 -0
- package/console/dist/index.html +3 -3
- package/container/Dockerfile +12 -1
- package/container/dist/anomaly-trace-judge.js +174 -0
- package/container/dist/anomaly-trace-judge.js.map +1 -0
- package/container/dist/approval-policy.js +877 -214
- package/container/dist/approval-policy.js.map +1 -1
- package/container/dist/behavior-anomaly.js +532 -0
- package/container/dist/behavior-anomaly.js.map +1 -0
- package/container/dist/browser-tools.js +1167 -121
- package/container/dist/browser-tools.js.map +1 -1
- package/container/dist/extensions.js +2 -9
- package/container/dist/extensions.js.map +1 -1
- package/container/dist/image-generation.js +1135 -0
- package/container/dist/image-generation.js.map +1 -0
- package/container/dist/index.js +78 -24
- package/container/dist/index.js.map +1 -1
- package/container/dist/ipc.js +25 -9
- package/container/dist/ipc.js.map +1 -1
- package/container/dist/providers/auxiliary.js +11 -1
- package/container/dist/providers/auxiliary.js.map +1 -1
- package/container/dist/providers/router.js +2 -1
- package/container/dist/providers/router.js.map +1 -1
- package/container/dist/search-utils.js +56 -0
- package/container/dist/search-utils.js.map +1 -0
- package/container/dist/searxng-client.js +106 -0
- package/container/dist/searxng-client.js.map +1 -0
- package/container/dist/stakes-middleware.js +38 -0
- package/container/dist/stakes-middleware.js.map +1 -0
- package/container/dist/tool-args.js +25 -0
- package/container/dist/tool-args.js.map +1 -0
- package/container/dist/tools.js +345 -23
- package/container/dist/tools.js.map +1 -1
- package/container/dist/types.js +1 -0
- package/container/dist/types.js.map +1 -1
- package/container/dist/video-generation.js +464 -0
- package/container/dist/video-generation.js.map +1 -0
- package/container/dist/web-search.js +31 -101
- package/container/dist/web-search.js.map +1 -1
- package/container/package-lock.json +6 -2
- package/container/package.json +6 -1
- package/container/shared/browser-navigation.d.ts +12 -0
- package/container/shared/browser-navigation.js +98 -0
- package/container/shared/browser-profile.d.ts +1 -0
- package/container/shared/browser-profile.js +14 -0
- package/container/shared/message-tool-channels.d.ts +1 -0
- package/container/shared/message-tool-channels.js +2 -0
- package/container/shared/middleware-contract.d.ts +38 -0
- package/container/shared/middleware-contract.js +1 -0
- package/container/shared/middleware-runner.d.ts +51 -0
- package/container/shared/middleware-runner.js +158 -0
- package/container/shared/network-policy.js +2 -2
- package/container/src/anomaly-trace-judge.ts +236 -0
- package/container/src/approval-policy.ts +1198 -234
- package/container/src/behavior-anomaly.ts +660 -0
- package/container/src/browser-tools.ts +1457 -154
- package/container/src/extensions.ts +5 -8
- package/container/src/image-generation.ts +1396 -0
- package/container/src/index.ts +87 -35
- package/container/src/ipc.ts +25 -9
- package/container/src/providers/auxiliary.ts +13 -1
- package/container/src/providers/router.ts +4 -2
- package/container/src/search-utils.ts +62 -0
- package/container/src/searxng-client.ts +157 -0
- package/container/src/stakes-middleware.ts +64 -0
- package/container/src/tool-args.ts +28 -0
- package/container/src/tools.ts +434 -47
- package/container/src/types.ts +35 -0
- package/container/src/video-generation.ts +598 -0
- package/container/src/web-search.ts +55 -121
- package/dist/a2a/a2a-agent-card.d.ts +20 -0
- package/dist/a2a/a2a-agent-card.d.ts.map +1 -0
- package/dist/a2a/a2a-agent-card.js +101 -0
- package/dist/a2a/a2a-agent-card.js.map +1 -0
- package/dist/a2a/a2a-inbound.d.ts +34 -0
- package/dist/a2a/a2a-inbound.d.ts.map +1 -0
- package/dist/a2a/a2a-inbound.js +415 -0
- package/dist/a2a/a2a-inbound.js.map +1 -0
- package/dist/a2a/a2a-json-rpc.d.ts +47 -0
- package/dist/a2a/a2a-json-rpc.d.ts.map +1 -0
- package/dist/a2a/a2a-json-rpc.js +99 -0
- package/dist/a2a/a2a-json-rpc.js.map +1 -0
- package/dist/a2a/a2a-outbound.d.ts +18 -0
- package/dist/a2a/a2a-outbound.d.ts.map +1 -0
- package/dist/a2a/a2a-outbound.js +26 -0
- package/dist/a2a/a2a-outbound.js.map +1 -0
- package/dist/a2a/a2a-outbox-delivery.d.ts +22 -0
- package/dist/a2a/a2a-outbox-delivery.d.ts.map +1 -0
- package/dist/a2a/a2a-outbox-delivery.js +407 -0
- package/dist/a2a/a2a-outbox-delivery.js.map +1 -0
- package/dist/a2a/a2a-outbox-persistence.d.ts +39 -0
- package/dist/a2a/a2a-outbox-persistence.d.ts.map +1 -0
- package/dist/a2a/a2a-outbox-persistence.js +82 -0
- package/dist/a2a/a2a-outbox-persistence.js.map +1 -0
- package/dist/a2a/a2a-outbox-processor.d.ts +13 -0
- package/dist/a2a/a2a-outbox-processor.d.ts.map +1 -0
- package/dist/a2a/a2a-outbox-processor.js +72 -0
- package/dist/a2a/a2a-outbox-processor.js.map +1 -0
- package/dist/a2a/a2a-retry-policy.d.ts +4 -0
- package/dist/a2a/a2a-retry-policy.d.ts.map +1 -0
- package/dist/a2a/a2a-retry-policy.js +17 -0
- package/dist/a2a/a2a-retry-policy.js.map +1 -0
- package/dist/a2a/delegation-token.d.ts +86 -0
- package/dist/a2a/delegation-token.d.ts.map +1 -0
- package/dist/a2a/delegation-token.js +437 -0
- package/dist/a2a/delegation-token.js.map +1 -0
- package/dist/a2a/envelope.d.ts +14 -1
- package/dist/a2a/envelope.d.ts.map +1 -1
- package/dist/a2a/envelope.js +115 -19
- package/dist/a2a/envelope.js.map +1 -1
- package/dist/a2a/handoff-context.d.ts +6 -0
- package/dist/a2a/handoff-context.d.ts.map +1 -0
- package/dist/a2a/handoff-context.js +78 -0
- package/dist/a2a/handoff-context.js.map +1 -0
- package/dist/a2a/identity.d.ts +0 -1
- package/dist/a2a/identity.d.ts.map +1 -1
- package/dist/a2a/identity.js +4 -41
- package/dist/a2a/identity.js.map +1 -1
- package/dist/a2a/inbound-pipeline.d.ts +13 -0
- package/dist/a2a/inbound-pipeline.d.ts.map +1 -0
- package/dist/a2a/inbound-pipeline.js +29 -0
- package/dist/a2a/inbound-pipeline.js.map +1 -0
- package/dist/a2a/peer-descriptor.d.ts +33 -0
- package/dist/a2a/peer-descriptor.d.ts.map +1 -0
- package/dist/a2a/peer-descriptor.js +270 -0
- package/dist/a2a/peer-descriptor.js.map +1 -0
- package/dist/a2a/runtime.d.ts +28 -0
- package/dist/a2a/runtime.d.ts.map +1 -0
- package/dist/a2a/runtime.js +43 -0
- package/dist/a2a/runtime.js.map +1 -0
- package/dist/a2a/store.d.ts +14 -0
- package/dist/a2a/store.d.ts.map +1 -1
- package/dist/a2a/store.js +84 -3
- package/dist/a2a/store.js.map +1 -1
- package/dist/a2a/transport-registry.d.ts +45 -0
- package/dist/a2a/transport-registry.d.ts.map +1 -0
- package/dist/a2a/transport-registry.js +195 -0
- package/dist/a2a/transport-registry.js.map +1 -0
- package/dist/a2a/trust-ledger.d.ts +128 -0
- package/dist/a2a/trust-ledger.d.ts.map +1 -0
- package/dist/a2a/trust-ledger.js +905 -0
- package/dist/a2a/trust-ledger.js.map +1 -0
- package/dist/a2a/utils.d.ts +6 -0
- package/dist/a2a/utils.d.ts.map +1 -1
- package/dist/a2a/utils.js +39 -0
- package/dist/a2a/utils.js.map +1 -1
- package/dist/a2a/webhook-inbound.d.ts +31 -0
- package/dist/a2a/webhook-inbound.d.ts.map +1 -0
- package/dist/a2a/webhook-inbound.js +434 -0
- package/dist/a2a/webhook-inbound.js.map +1 -0
- package/dist/a2a/webhook-outbound.d.ts +87 -0
- package/dist/a2a/webhook-outbound.d.ts.map +1 -0
- package/dist/a2a/webhook-outbound.js +482 -0
- package/dist/a2a/webhook-outbound.js.map +1 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +130 -5
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/confidential-middleware.d.ts +4 -0
- package/dist/agent/confidential-middleware.d.ts.map +1 -0
- package/dist/agent/confidential-middleware.js +47 -0
- package/dist/agent/confidential-middleware.js.map +1 -0
- package/dist/agent/executor-types.d.ts +13 -0
- package/dist/agent/executor-types.d.ts.map +1 -1
- package/dist/agent/executor.d.ts +2 -1
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +7 -0
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/middleware.d.ts +42 -0
- package/dist/agent/middleware.d.ts.map +1 -0
- package/dist/agent/middleware.js +159 -0
- package/dist/agent/middleware.js.map +1 -0
- package/dist/agent/prompt-hooks.d.ts.map +1 -1
- package/dist/agent/prompt-hooks.js +9 -3
- package/dist/agent/prompt-hooks.js.map +1 -1
- package/dist/agent/tool-summary.d.ts.map +1 -1
- package/dist/agent/tool-summary.js +14 -2
- package/dist/agent/tool-summary.js.map +1 -1
- package/dist/agents/agent-registry.d.ts +4 -0
- package/dist/agents/agent-registry.d.ts.map +1 -1
- package/dist/agents/agent-registry.js +37 -3
- package/dist/agents/agent-registry.js.map +1 -1
- package/dist/agents/agent-types.d.ts +8 -0
- package/dist/agents/agent-types.d.ts.map +1 -1
- package/dist/agents/agent-types.js +44 -0
- package/dist/agents/agent-types.js.map +1 -1
- package/dist/agents/org-chart.d.ts +8 -0
- package/dist/agents/org-chart.d.ts.map +1 -0
- package/dist/agents/org-chart.js +62 -0
- package/dist/agents/org-chart.js.map +1 -0
- package/dist/audit/audit-events.d.ts.map +1 -1
- package/dist/audit/audit-events.js +29 -0
- package/dist/audit/audit-events.js.map +1 -1
- package/dist/audit/leak-scanner.d.ts.map +1 -1
- package/dist/audit/leak-scanner.js +3 -1
- package/dist/audit/leak-scanner.js.map +1 -1
- package/dist/board/card-store.d.ts +80 -0
- package/dist/board/card-store.d.ts.map +1 -0
- package/dist/board/card-store.js +446 -0
- package/dist/board/card-store.js.map +1 -0
- package/dist/browser/browser-login.d.ts +2 -0
- package/dist/browser/browser-login.d.ts.map +1 -1
- package/dist/browser/browser-login.js +3 -12
- package/dist/browser/browser-login.js.map +1 -1
- package/dist/browser/browser-use-cloud-provider.d.ts +110 -0
- package/dist/browser/browser-use-cloud-provider.d.ts.map +1 -0
- package/dist/browser/browser-use-cloud-provider.js +401 -0
- package/dist/browser/browser-use-cloud-provider.js.map +1 -0
- package/dist/browser/camofox-provider.d.ts +30 -0
- package/dist/browser/camofox-provider.d.ts.map +1 -0
- package/dist/browser/camofox-provider.js +85 -0
- package/dist/browser/camofox-provider.js.map +1 -0
- package/dist/browser/local-provider.d.ts +32 -0
- package/dist/browser/local-provider.d.ts.map +1 -0
- package/dist/browser/local-provider.js +42 -0
- package/dist/browser/local-provider.js.map +1 -0
- package/dist/browser/playwright-utils.d.ts +75 -0
- package/dist/browser/playwright-utils.d.ts.map +1 -0
- package/dist/browser/playwright-utils.js +250 -0
- package/dist/browser/playwright-utils.js.map +1 -0
- package/dist/browser/profile-dir.d.ts +7 -0
- package/dist/browser/profile-dir.d.ts.map +1 -0
- package/dist/browser/profile-dir.js +63 -0
- package/dist/browser/profile-dir.js.map +1 -0
- package/dist/browser/provider-factory.d.ts +12 -0
- package/dist/browser/provider-factory.d.ts.map +1 -0
- package/dist/browser/provider-factory.js +31 -0
- package/dist/browser/provider-factory.js.map +1 -0
- package/dist/browser/provider.d.ts +119 -0
- package/dist/browser/provider.d.ts.map +1 -0
- package/dist/browser/provider.js +2 -0
- package/dist/browser/provider.js.map +1 -0
- 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/email/connection.d.ts.map +1 -1
- package/dist/channels/email/connection.js +12 -1
- package/dist/channels/email/connection.js.map +1 -1
- package/dist/channels/message/tool-actions.d.ts.map +1 -1
- package/dist/channels/message/tool-actions.js +41 -1
- 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/threema/api.d.ts +17 -0
- package/dist/channels/threema/api.d.ts.map +1 -0
- package/dist/channels/threema/api.js +91 -0
- package/dist/channels/threema/api.js.map +1 -0
- package/dist/channels/threema/delivery.d.ts +7 -0
- package/dist/channels/threema/delivery.d.ts.map +1 -0
- package/dist/channels/threema/delivery.js +117 -0
- package/dist/channels/threema/delivery.js.map +1 -0
- package/dist/channels/threema/prompt-adapter.d.ts +3 -0
- package/dist/channels/threema/prompt-adapter.d.ts.map +1 -0
- package/dist/channels/threema/prompt-adapter.js +17 -0
- package/dist/channels/threema/prompt-adapter.js.map +1 -0
- package/dist/channels/threema/runtime.d.ts +5 -0
- package/dist/channels/threema/runtime.d.ts.map +1 -0
- package/dist/channels/threema/runtime.js +47 -0
- package/dist/channels/threema/runtime.js.map +1 -0
- package/dist/channels/threema/target.d.ts +15 -0
- package/dist/channels/threema/target.d.ts.map +1 -0
- package/dist/channels/threema/target.js +75 -0
- package/dist/channels/threema/target.js.map +1 -0
- package/dist/cli/channels-command.d.ts.map +1 -1
- package/dist/cli/channels-command.js +224 -28
- package/dist/cli/channels-command.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +13 -5
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/secret-command.d.ts.map +1 -1
- package/dist/cli/secret-command.js +106 -64
- package/dist/cli/secret-command.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -1
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +3 -3
- package/dist/command-registry.js.map +1 -1
- package/dist/commands/policy-command.d.ts.map +1 -1
- package/dist/commands/policy-command.js +67 -3
- package/dist/commands/policy-command.js.map +1 -1
- package/dist/config/config.d.ts +3 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +6 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/runtime-config-revisions.d.ts +7 -1
- package/dist/config/runtime-config-revisions.d.ts.map +1 -1
- package/dist/config/runtime-config-revisions.js +33 -0
- package/dist/config/runtime-config-revisions.js.map +1 -1
- package/dist/config/runtime-config.d.ts +73 -5
- package/dist/config/runtime-config.d.ts.map +1 -1
- package/dist/config/runtime-config.js +642 -11
- package/dist/config/runtime-config.js.map +1 -1
- package/dist/doctor/checks/browser-use.d.ts +9 -0
- package/dist/doctor/checks/browser-use.d.ts.map +1 -0
- package/dist/doctor/checks/browser-use.js +61 -0
- package/dist/doctor/checks/browser-use.js.map +1 -0
- package/dist/doctor/checks/channels.d.ts.map +1 -1
- package/dist/doctor/checks/channels.js +13 -2
- package/dist/doctor/checks/channels.js.map +1 -1
- package/dist/doctor/checks/index.d.ts.map +1 -1
- package/dist/doctor/checks/index.js +6 -0
- package/dist/doctor/checks/index.js.map +1 -1
- package/dist/doctor/types.d.ts +1 -1
- package/dist/doctor/types.d.ts.map +1 -1
- package/dist/doctor/types.js +1 -0
- package/dist/doctor/types.js.map +1 -1
- package/dist/doctor/utils.d.ts.map +1 -1
- package/dist/doctor/utils.js +3 -0
- package/dist/doctor/utils.js.map +1 -1
- package/dist/evals/eval-command.d.ts +1 -0
- package/dist/evals/eval-command.d.ts.map +1 -1
- package/dist/evals/eval-command.js +179 -4
- package/dist/evals/eval-command.js.map +1 -1
- package/dist/evals/hybridai-skills-command.d.ts.map +1 -1
- package/dist/evals/hybridai-skills-command.js +2 -0
- package/dist/evals/hybridai-skills-command.js.map +1 -1
- package/dist/evals/judge-subscriber.d.ts +42 -0
- package/dist/evals/judge-subscriber.d.ts.map +1 -0
- package/dist/evals/judge-subscriber.js +206 -0
- package/dist/evals/judge-subscriber.js.map +1 -0
- package/dist/evals/terminal-bench-native.d.ts.map +1 -1
- package/dist/evals/terminal-bench-native.js +0 -1
- package/dist/evals/terminal-bench-native.js.map +1 -1
- package/dist/evals/trace-judge-eval-dataset.d.ts +12 -0
- package/dist/evals/trace-judge-eval-dataset.d.ts.map +1 -0
- package/dist/evals/trace-judge-eval-dataset.js +265 -0
- package/dist/evals/trace-judge-eval-dataset.js.map +1 -0
- package/dist/evals/trace-judge-native.d.ts +55 -0
- package/dist/evals/trace-judge-native.d.ts.map +1 -0
- package/dist/evals/trace-judge-native.js +447 -0
- package/dist/evals/trace-judge-native.js.map +1 -0
- package/dist/gateway/coworker-liveness.d.ts +9 -0
- package/dist/gateway/coworker-liveness.d.ts.map +1 -0
- package/dist/gateway/coworker-liveness.js +373 -0
- package/dist/gateway/coworker-liveness.js.map +1 -0
- package/dist/gateway/gateway-agent-cards.d.ts +2 -1
- package/dist/gateway/gateway-agent-cards.d.ts.map +1 -1
- package/dist/gateway/gateway-agent-cards.js +1 -0
- package/dist/gateway/gateway-agent-cards.js.map +1 -1
- package/dist/gateway/gateway-chat-service.d.ts.map +1 -1
- package/dist/gateway/gateway-chat-service.js +132 -11
- package/dist/gateway/gateway-chat-service.js.map +1 -1
- package/dist/gateway/gateway-error-service.d.ts +10 -0
- package/dist/gateway/gateway-error-service.d.ts.map +1 -0
- package/dist/gateway/gateway-error-service.js +40 -0
- package/dist/gateway/gateway-error-service.js.map +1 -0
- package/dist/gateway/gateway-health-service.d.ts +1 -0
- package/dist/gateway/gateway-health-service.d.ts.map +1 -1
- package/dist/gateway/gateway-health-service.js.map +1 -1
- package/dist/gateway/gateway-http-proxy.d.ts.map +1 -1
- package/dist/gateway/gateway-http-proxy.js +215 -33
- 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 +491 -5
- package/dist/gateway/gateway-http-server.js.map +1 -1
- package/dist/gateway/gateway-provider-service.d.ts.map +1 -1
- package/dist/gateway/gateway-provider-service.js +3 -2
- package/dist/gateway/gateway-provider-service.js.map +1 -1
- package/dist/gateway/gateway-secret-injection.d.ts +48 -0
- package/dist/gateway/gateway-secret-injection.d.ts.map +1 -0
- package/dist/gateway/gateway-secret-injection.js +150 -0
- package/dist/gateway/gateway-secret-injection.js.map +1 -0
- package/dist/gateway/gateway-service.d.ts +20 -2
- package/dist/gateway/gateway-service.d.ts.map +1 -1
- package/dist/gateway/gateway-service.js +453 -115
- package/dist/gateway/gateway-service.js.map +1 -1
- package/dist/gateway/gateway-session-status.d.ts.map +1 -1
- package/dist/gateway/gateway-session-status.js +16 -2
- package/dist/gateway/gateway-session-status.js.map +1 -1
- package/dist/gateway/gateway-tunnel-service.d.ts.map +1 -1
- package/dist/gateway/gateway-tunnel-service.js +29 -13
- package/dist/gateway/gateway-tunnel-service.js.map +1 -1
- package/dist/gateway/gateway-types.d.ts +115 -0
- 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 -6
- package/dist/gateway/gateway-utils.js.map +1 -1
- package/dist/gateway/gateway.js +135 -65
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/interactive-escalation.d.ts +129 -0
- package/dist/gateway/interactive-escalation.d.ts.map +1 -0
- package/dist/gateway/interactive-escalation.js +539 -0
- package/dist/gateway/interactive-escalation.js.map +1 -0
- package/dist/gateway/openai-compatible.d.ts.map +1 -1
- package/dist/gateway/openai-compatible.js +42 -23
- package/dist/gateway/openai-compatible.js.map +1 -1
- package/dist/gateway/pending-approvals.d.ts.map +1 -1
- package/dist/gateway/pending-approvals.js +120 -9
- package/dist/gateway/pending-approvals.js.map +1 -1
- package/dist/gateway/proactive-delivery.d.ts.map +1 -1
- package/dist/gateway/proactive-delivery.js +3 -0
- package/dist/gateway/proactive-delivery.js.map +1 -1
- package/dist/gateway/provider-fallback.d.ts +55 -0
- package/dist/gateway/provider-fallback.d.ts.map +1 -0
- package/dist/gateway/provider-fallback.js +191 -0
- package/dist/gateway/provider-fallback.js.map +1 -0
- package/dist/gateway/skill-commands.d.ts.map +1 -1
- package/dist/gateway/skill-commands.js +77 -56
- package/dist/gateway/skill-commands.js.map +1 -1
- package/dist/identity/agent-id.d.ts +33 -0
- package/dist/identity/agent-id.d.ts.map +1 -0
- package/dist/identity/agent-id.js +216 -0
- package/dist/identity/agent-id.js.map +1 -0
- package/dist/identity/resolver.d.ts +63 -0
- package/dist/identity/resolver.d.ts.map +1 -0
- package/dist/identity/resolver.js +236 -0
- package/dist/identity/resolver.js.map +1 -0
- package/dist/identity/user-id.d.ts +22 -0
- package/dist/identity/user-id.d.ts.map +1 -0
- package/dist/identity/user-id.js +80 -0
- package/dist/identity/user-id.js.map +1 -0
- package/dist/infra/behavior-anomaly-runtime.d.ts +4 -0
- package/dist/infra/behavior-anomaly-runtime.d.ts.map +1 -0
- package/dist/infra/behavior-anomaly-runtime.js +22 -0
- package/dist/infra/behavior-anomaly-runtime.js.map +1 -0
- package/dist/infra/container-runner.d.ts +3 -1
- package/dist/infra/container-runner.d.ts.map +1 -1
- package/dist/infra/container-runner.js +22 -23
- package/dist/infra/container-runner.js.map +1 -1
- package/dist/infra/host-runner.d.ts +3 -1
- package/dist/infra/host-runner.d.ts.map +1 -1
- package/dist/infra/host-runner.js +21 -23
- package/dist/infra/host-runner.js.map +1 -1
- package/dist/infra/ipc.d.ts +5 -0
- package/dist/infra/ipc.d.ts.map +1 -1
- package/dist/infra/ipc.js +40 -13
- package/dist/infra/ipc.js.map +1 -1
- package/dist/infra/warm-runner-utils.d.ts +17 -0
- package/dist/infra/warm-runner-utils.d.ts.map +1 -1
- package/dist/infra/warm-runner-utils.js +96 -1
- package/dist/infra/warm-runner-utils.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +31 -0
- package/dist/logger.js.map +1 -1
- package/dist/{gateway/memory-consolidation-runner.d.ts → memory/consolidation-runner.d.ts} +2 -2
- package/dist/memory/consolidation-runner.d.ts.map +1 -0
- package/dist/{gateway/memory-consolidation-runner.js → memory/consolidation-runner.js} +2 -2
- package/dist/memory/consolidation-runner.js.map +1 -0
- package/dist/memory/db.d.ts +20 -2
- package/dist/memory/db.d.ts.map +1 -1
- package/dist/memory/db.js +379 -20
- package/dist/memory/db.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-manager.d.ts +14 -2
- package/dist/plugins/plugin-manager.d.ts.map +1 -1
- package/dist/plugins/plugin-manager.js +276 -108
- 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 +24 -5
- package/dist/plugins/plugin-types.d.ts.map +1 -1
- package/dist/policy/remote-policy-authority.d.ts +76 -0
- package/dist/policy/remote-policy-authority.d.ts.map +1 -0
- package/dist/policy/remote-policy-authority.js +789 -0
- package/dist/policy/remote-policy-authority.js.map +1 -0
- package/dist/policy/secret-route-policy.d.ts +22 -0
- package/dist/policy/secret-route-policy.d.ts.map +1 -0
- package/dist/policy/secret-route-policy.js +165 -0
- package/dist/policy/secret-route-policy.js.map +1 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +2 -0
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/auxiliary.d.ts +1 -1
- package/dist/providers/auxiliary.d.ts.map +1 -1
- package/dist/providers/auxiliary.js +18 -14
- package/dist/providers/auxiliary.js.map +1 -1
- package/dist/providers/discovery-error-utils.d.ts +12 -0
- package/dist/providers/discovery-error-utils.d.ts.map +1 -0
- package/dist/providers/discovery-error-utils.js +36 -0
- package/dist/providers/discovery-error-utils.js.map +1 -0
- package/dist/providers/huggingface.d.ts.map +1 -1
- package/dist/providers/huggingface.js +1 -0
- package/dist/providers/huggingface.js.map +1 -1
- package/dist/providers/hybridai-discovery.d.ts +2 -0
- package/dist/providers/hybridai-discovery.d.ts.map +1 -1
- package/dist/providers/hybridai-discovery.js +53 -0
- package/dist/providers/hybridai-discovery.js.map +1 -1
- package/dist/providers/hybridai.d.ts.map +1 -1
- package/dist/providers/hybridai.js +1 -0
- package/dist/providers/hybridai.js.map +1 -1
- package/dist/providers/local-ollama.d.ts.map +1 -1
- package/dist/providers/local-ollama.js +1 -0
- 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 +1 -0
- package/dist/providers/local-openai-compat.js.map +1 -1
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js +1 -0
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/model-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog.js +6 -1
- package/dist/providers/model-catalog.js.map +1 -1
- package/dist/providers/openai-compat-discovery.d.ts +1 -4
- package/dist/providers/openai-compat-discovery.d.ts.map +1 -1
- package/dist/providers/openai-compat-discovery.js +10 -5
- package/dist/providers/openai-compat-discovery.js.map +1 -1
- package/dist/providers/openai-compat-remote.d.ts.map +1 -1
- package/dist/providers/openai-compat-remote.js +1 -0
- package/dist/providers/openai-compat-remote.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +1 -0
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +1 -0
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/provider-credentials.d.ts +3 -0
- package/dist/providers/provider-credentials.d.ts.map +1 -0
- package/dist/providers/provider-credentials.js +49 -0
- package/dist/providers/provider-credentials.js.map +1 -0
- package/dist/providers/request-max-tokens.d.ts.map +1 -1
- package/dist/providers/request-max-tokens.js +2 -4
- package/dist/providers/request-max-tokens.js.map +1 -1
- package/dist/providers/task-routing.d.ts +1 -0
- package/dist/providers/task-routing.d.ts.map +1 -1
- package/dist/providers/task-routing.js +10 -5
- package/dist/providers/task-routing.js.map +1 -1
- package/dist/providers/types.d.ts +1 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/scheduler/heartbeat.d.ts.map +1 -1
- package/dist/scheduler/heartbeat.js +72 -19
- 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 +15 -0
- package/dist/scheduler/scheduled-task-runner.js.map +1 -1
- package/dist/security/confidential-runtime.d.ts +1 -1
- package/dist/security/confidential-runtime.d.ts.map +1 -1
- package/dist/security/confidential-runtime.js +13 -3
- package/dist/security/confidential-runtime.js.map +1 -1
- package/dist/security/media-paths.d.ts.map +1 -1
- package/dist/security/media-paths.js +22 -0
- package/dist/security/media-paths.js.map +1 -1
- package/dist/security/runtime-secrets.d.ts +1 -1
- package/dist/security/runtime-secrets.d.ts.map +1 -1
- package/dist/security/runtime-secrets.js +3 -0
- package/dist/security/runtime-secrets.js.map +1 -1
- package/dist/security/secret-handles.d.ts +29 -0
- package/dist/security/secret-handles.d.ts.map +1 -0
- package/dist/security/secret-handles.js +58 -0
- package/dist/security/secret-handles.js.map +1 -0
- package/dist/security/secret-leak-corpus.d.ts +8 -0
- package/dist/security/secret-leak-corpus.d.ts.map +1 -0
- package/dist/security/secret-leak-corpus.js +61 -0
- package/dist/security/secret-leak-corpus.js.map +1 -0
- package/dist/security/secret-normalization.d.ts +4 -0
- package/dist/security/secret-normalization.d.ts.map +1 -0
- package/dist/security/secret-normalization.js +10 -0
- package/dist/security/secret-normalization.js.map +1 -0
- package/dist/security/secret-policy.d.ts +27 -0
- package/dist/security/secret-policy.d.ts.map +1 -0
- package/dist/security/secret-policy.js +202 -0
- package/dist/security/secret-policy.js.map +1 -0
- package/dist/security/secret-refs.d.ts +19 -1
- package/dist/security/secret-refs.d.ts.map +1 -1
- package/dist/security/secret-refs.js +52 -5
- package/dist/security/secret-refs.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-preview.d.ts.map +1 -1
- package/dist/session/session-preview.js +2 -1
- package/dist/session/session-preview.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/session/session-title-constants.d.ts +2 -0
- package/dist/session/session-title-constants.d.ts.map +1 -0
- package/dist/session/session-title-constants.js +2 -0
- package/dist/session/session-title-constants.js.map +1 -0
- package/dist/session/session-title.d.ts +16 -0
- package/dist/session/session-title.d.ts.map +1 -0
- package/dist/session/session-title.js +77 -0
- package/dist/session/session-title.js.map +1 -0
- 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-cv.d.ts.map +1 -1
- package/dist/skills/agent-cv.js +11 -1
- package/dist/skills/agent-cv.js.map +1 -1
- package/dist/skills/agent-scoreboard.d.ts.map +1 -1
- package/dist/skills/agent-scoreboard.js +16 -4
- package/dist/skills/agent-scoreboard.js.map +1 -1
- package/dist/skills/skill-manifest.d.ts +20 -0
- package/dist/skills/skill-manifest.d.ts.map +1 -1
- package/dist/skills/skill-manifest.js +115 -8
- package/dist/skills/skill-manifest.js.map +1 -1
- package/dist/skills/skill-run-events.d.ts +8 -1
- package/dist/skills/skill-run-events.d.ts.map +1 -1
- package/dist/skills/skill-run-events.js +18 -10
- package/dist/skills/skill-run-events.js.map +1 -1
- package/dist/skills/skills-guard.d.ts.map +1 -1
- package/dist/skills/skills-guard.js +39 -21
- package/dist/skills/skills-guard.js.map +1 -1
- package/dist/skills/skills-lifecycle.d.ts.map +1 -1
- package/dist/skills/skills-lifecycle.js +12 -1
- package/dist/skills/skills-lifecycle.js.map +1 -1
- package/dist/skills/skills-management.d.ts +5 -1
- package/dist/skills/skills-management.d.ts.map +1 -1
- package/dist/skills/skills-management.js +11 -1
- package/dist/skills/skills-management.js.map +1 -1
- package/dist/skills/skills.d.ts +42 -3
- package/dist/skills/skills.d.ts.map +1 -1
- package/dist/skills/skills.js +144 -28
- 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-stop.d.ts +8 -0
- package/dist/tui-stop.d.ts.map +1 -0
- package/dist/tui-stop.js +11 -0
- package/dist/tui-stop.js.map +1 -0
- package/dist/tui.d.ts +19 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +228 -47
- package/dist/tui.js.map +1 -1
- package/dist/tunnel/cloudflare-tunnel-provider.d.ts +87 -0
- package/dist/tunnel/cloudflare-tunnel-provider.d.ts.map +1 -0
- package/dist/tunnel/cloudflare-tunnel-provider.js +537 -0
- package/dist/tunnel/cloudflare-tunnel-provider.js.map +1 -0
- package/dist/tunnel/ngrok-tunnel-provider.d.ts +1 -5
- package/dist/tunnel/ngrok-tunnel-provider.d.ts.map +1 -1
- package/dist/tunnel/ngrok-tunnel-provider.js +2 -10
- package/dist/tunnel/ngrok-tunnel-provider.js.map +1 -1
- package/dist/tunnel/tunnel-provider-utils.d.ts +5 -0
- package/dist/tunnel/tunnel-provider-utils.d.ts.map +1 -1
- package/dist/tunnel/tunnel-provider-utils.js +8 -0
- package/dist/tunnel/tunnel-provider-utils.js.map +1 -1
- package/dist/types/container.d.ts +16 -0
- 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.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 +3 -0
- package/dist/types/session.d.ts.map +1 -1
- package/dist/usage/media-generation-usage.d.ts +11 -0
- package/dist/usage/media-generation-usage.d.ts.map +1 -0
- package/dist/usage/media-generation-usage.js +152 -0
- package/dist/usage/media-generation-usage.js.map +1 -0
- package/dist/usage/model-cost.d.ts +23 -0
- package/dist/usage/model-cost.d.ts.map +1 -0
- package/dist/usage/model-cost.js +64 -0
- package/dist/usage/model-cost.js.map +1 -0
- package/dist/utils/atomic-file.d.ts +6 -0
- package/dist/utils/atomic-file.d.ts.map +1 -0
- package/dist/utils/atomic-file.js +24 -0
- package/dist/utils/atomic-file.js.map +1 -0
- package/dist/utils/json-object.d.ts +2 -0
- package/dist/utils/json-object.d.ts.map +1 -0
- package/dist/utils/json-object.js +13 -0
- package/dist/utils/json-object.js.map +1 -0
- package/dist/utils/number-normalization.d.ts +7 -0
- package/dist/utils/number-normalization.d.ts.map +1 -0
- package/dist/utils/number-normalization.js +23 -0
- package/dist/utils/number-normalization.js.map +1 -0
- package/dist/utils/transport-errors.d.ts.map +1 -1
- package/dist/utils/transport-errors.js +3 -1
- package/dist/utils/transport-errors.js.map +1 -1
- package/dist/workflow/schema.d.ts +85 -0
- package/dist/workflow/schema.d.ts.map +1 -0
- package/dist/workflow/schema.js +131 -0
- package/dist/workflow/schema.js.map +1 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +23 -2
- package/dist/workspace.js.map +1 -1
- package/docs/404.html +11 -10
- package/docs/about/index.html +3 -3
- package/docs/agents.html +12 -12
- package/docs/content/README.md +33 -4
- package/docs/content/channels/README.md +1 -0
- package/docs/content/channels/admin-console.md +1 -1
- package/docs/content/channels/overview.md +1 -0
- package/docs/content/channels/threema.md +55 -0
- package/docs/content/developer-guide/README.md +3 -0
- package/docs/content/developer-guide/approvals.md +30 -2
- package/docs/content/developer-guide/architecture.md +4 -0
- package/docs/content/developer-guide/identity.md +119 -0
- package/docs/content/developer-guide/workflows.md +64 -0
- package/docs/content/extensibility/adaptive-skills.md +1 -1
- package/docs/content/extensibility/plugins.md +46 -4
- package/docs/content/extensibility/skills.md +60 -1
- package/docs/content/getting-started/README.md +1 -0
- package/docs/content/getting-started/authentication.md +152 -4
- package/docs/content/getting-started/first-channel.md +3 -1
- package/docs/content/getting-started/local-vs-cloud.md +254 -0
- package/docs/content/getting-started/quickstart.md +20 -0
- package/docs/content/guides/bundled-skills.md +9 -5
- package/docs/content/guides/cloudflare-tunnel.md +136 -0
- package/docs/content/guides/remote-access.md +38 -0
- package/docs/content/guides/skills/README.md +4 -4
- package/docs/content/guides/skills/communication.md +2 -1
- package/docs/content/guides/skills/development.md +54 -0
- package/docs/content/guides/skills/integrations.md +276 -1
- package/docs/content/guides/skills/publishing.md +57 -0
- package/docs/content/internal/approval-rule-pipeline.md +93 -0
- package/docs/content/internal/roadmap.md +540 -50
- package/docs/content/manifesto.md +1 -1
- package/docs/content/reference/commands.md +18 -9
- package/docs/content/reference/configuration.md +36 -8
- package/docs/content/reference/diagnostics.md +8 -3
- package/docs/content/reference/faq.md +4 -1
- package/docs/content/reference/tools/web-search.md +1 -0
- package/docs/development/index.html +4 -4
- package/docs/docs/index.html +10 -9
- package/docs/index.html +19 -19
- package/docs/static/docs.js +33 -12
- package/package.json +28 -12
- package/skills/airtable/SKILL.md +325 -0
- package/skills/airtable/airtable.cjs +864 -0
- package/skills/airtable/evals/scenarios.json +91 -0
- package/skills/airtable/fixtures/schema.json +73 -0
- package/skills/airtable/index.cjs +1 -0
- package/skills/brand-voice/SKILL.md +7 -5
- package/skills/download-platform-invoices/SKILL.md +146 -0
- package/skills/download-platform-invoices/adapters/anthropic.cjs +4 -0
- package/skills/download-platform-invoices/adapters/atlassian.cjs +4 -0
- package/skills/download-platform-invoices/adapters/aws.cjs +143 -0
- package/skills/download-platform-invoices/adapters/azure.cjs +115 -0
- package/skills/download-platform-invoices/adapters/datev-unternehmen-online.cjs +206 -0
- package/skills/download-platform-invoices/adapters/gcp.cjs +408 -0
- package/skills/download-platform-invoices/adapters/github.cjs +4 -0
- package/skills/download-platform-invoices/adapters/google-ads.cjs +298 -0
- package/skills/download-platform-invoices/adapters/linkedin.cjs +4 -0
- package/skills/download-platform-invoices/adapters/openai.cjs +4 -0
- package/skills/download-platform-invoices/adapters/recorded-fixture.cjs +100 -0
- package/skills/download-platform-invoices/adapters/scrape.cjs +451 -0
- package/skills/download-platform-invoices/adapters/stripe.cjs +103 -0
- package/skills/download-platform-invoices/fixtures/datev-unternehmen-online-upload.json +13 -0
- package/skills/download-platform-invoices/fixtures/recorded-anthropic.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-atlassian.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-aws.json +68 -0
- package/skills/download-platform-invoices/fixtures/recorded-azure.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-gcp.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-github.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-google-ads.json +68 -0
- package/skills/download-platform-invoices/fixtures/recorded-linkedin.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-openai.json +87 -0
- package/skills/download-platform-invoices/fixtures/recorded-stripe.json +68 -0
- package/skills/download-platform-invoices/fixtures/stripe-invoices.json +16 -0
- package/skills/download-platform-invoices/harvester.cjs +449 -0
- package/skills/download-platform-invoices/helpers/audit.cjs +25 -0
- package/skills/download-platform-invoices/helpers/config.cjs +245 -0
- package/skills/download-platform-invoices/helpers/escalation.cjs +51 -0
- package/skills/download-platform-invoices/helpers/money.cjs +125 -0
- package/skills/download-platform-invoices/helpers/schema.cjs +50 -0
- package/skills/download-platform-invoices/helpers/totp.cjs +37 -0
- package/skills/download-platform-invoices/index.cjs +30 -0
- package/skills/download-platform-invoices/schema.json +37 -0
- package/skills/fastbill/SKILL.md +243 -0
- package/skills/fastbill/evals/scenarios.json +218 -0
- package/skills/fastbill/fastbill.cjs +1069 -0
- package/skills/fastbill/fixtures/einvoice-readiness.json +34 -0
- package/skills/fastbill/index.cjs +1 -0
- package/skills/fastbill/references/operator-setup.md +130 -0
- package/skills/firecrawl/SKILL.md +168 -0
- package/skills/firecrawl/firecrawl.cjs +503 -0
- package/skills/firecrawl/index.cjs +1 -0
- package/skills/google-ads/SKILL.md +400 -0
- package/skills/google-ads/evals/scenarios.json +462 -0
- package/skills/google-ads/references/setup-and-operations.md +191 -0
- package/skills/google-ads/scripts/google_ads.py +2189 -0
- package/skills/heygen/SKILL.md +239 -0
- package/skills/heygen/client.cjs +256 -0
- package/skills/heygen/eval.cjs +45 -0
- package/skills/heygen/heygen.cjs +595 -0
- package/skills/heygen/index.cjs +1 -0
- package/skills/heygen/lib/common.cjs +29 -0
- package/skills/image-generation/SKILL.md +35 -0
- package/skills/search.images/SKILL.md +34 -0
- package/skills/search.news/SKILL.md +35 -0
- package/skills/search.web/SKILL.md +34 -0
- package/skills/skill-creator/scripts/quick_validate.py +1 -0
- package/skills/video-generation/SKILL.md +34 -0
- package/skills/warehouse-sql/SKILL.md +164 -0
- package/skills/warehouse-sql/evals/tpch_eval_planner.py +132 -0
- package/skills/warehouse-sql/evals/tpch_scenarios.json +86 -0
- package/skills/warehouse-sql/evals/tpch_tiny.sql +80 -0
- package/skills/warehouse-sql/references/backend-contract.md +64 -0
- package/skills/warehouse-sql/scripts/warehouse_sql.py +1469 -0
- package/console/dist/assets/chat-CwaxVsg1.js +0 -93
- package/console/dist/assets/chat-DN6j8zuG.css +0 -1
- package/console/dist/assets/cx-BhUTAaHw.js +0 -1
- package/console/dist/assets/index-BmK2dcpa.css +0 -1
- package/console/dist/assets/index-De9e9-ta.js +0 -16
- package/console/dist/assets/terminal-DFbKWIqg.js +0 -1
- package/dist/gateway/memory-consolidation-runner.d.ts.map +0 -1
- package/dist/gateway/memory-consolidation-runner.js.map +0 -1
- package/docs/CNAME +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,186 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## [0.17.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.17.0) - 2026-05-12
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Native media generation tools**: The container runtime now exposes
|
|
10
|
+
`image_generate` and `video_generate` with provider adapters, managed output
|
|
11
|
+
persistence, reference-media validation, usage metering, and bundled
|
|
12
|
+
`image-generation` / `video-generation` skills. Image generation supports GPT
|
|
13
|
+
Image, Gemini/Nano Banana, Grok, and FLUX families where configured; video
|
|
14
|
+
generation supports OpenAI Sora and Google Veo families where configured.
|
|
15
|
+
- **New business and research skills**: Bundled skills now cover Airtable base
|
|
16
|
+
and record work, FastBill invoicing, Firecrawl scrape/crawl/map/extract
|
|
17
|
+
workflows, HeyGen avatar video generation and translation, Google Ads
|
|
18
|
+
campaign operations, and SearXNG-backed `search.web`, `search.news`, and
|
|
19
|
+
`search.images` workflows.
|
|
20
|
+
- **Threema Gateway channel**: HybridClaw can send outbound Threema Basic-mode
|
|
21
|
+
text messages with setup docs, CLI configuration, doctor/status visibility,
|
|
22
|
+
prompt hints, target validation, and delivery tests.
|
|
23
|
+
- **Camofox browser provider**: Browser automation can use a Camofox-backed
|
|
24
|
+
provider with persistent profile support and the same provider factory path
|
|
25
|
+
as local Playwright and Browser Use Cloud.
|
|
26
|
+
- **A2A inbound and trust surfaces**: JSON-RPC Agent Card inbound delivery,
|
|
27
|
+
additional delegation envelope fields, a public-key trust ledger, and an
|
|
28
|
+
admin A2A trust route extend the federation substrate.
|
|
29
|
+
- **Remote policy authority**: Signed remote policy updates can flow over the
|
|
30
|
+
federation path with validation, audit records, and targeted tests.
|
|
31
|
+
- **Board card store**: The gateway now has a persisted card-store substrate
|
|
32
|
+
for future admin work-board and agent-team coordination surfaces.
|
|
33
|
+
- **Trace-judge and anomaly evaluation path**: Skill trace judging gained a
|
|
34
|
+
subscriber pattern, an offline eval gate, and a behavioral anomaly reranker
|
|
35
|
+
for tool-call sequences.
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- **Admin console polish and performance**: Admin pages moved toward a shared
|
|
40
|
+
`Card` primitive, the Usage rollup gained skeleton and metric loading states,
|
|
41
|
+
live channel transport status is shown through toasts, the `/` command panel
|
|
42
|
+
was rebuilt for better keyboard/a11y behavior, and expensive all-session
|
|
43
|
+
scans/config fetches were removed from hot paths.
|
|
44
|
+
- **Vitest configuration is project-based**: Unit, integration, e2e, and live
|
|
45
|
+
test configuration now share one project-aware Vitest setup instead of
|
|
46
|
+
separate config files.
|
|
47
|
+
- **Browser credential handling is narrower**: Browser form fills now route
|
|
48
|
+
through SecretRef injection gates rather than exposing credential material to
|
|
49
|
+
the model or broad browser action context.
|
|
50
|
+
- **A2A delegation bearer auth**: Outbound A2A uses signed delegation JWTs as
|
|
51
|
+
the HTTP bearer credential. `bearerTokenRef` remains a required explicit
|
|
52
|
+
opt-in gate for non-loopback peer URLs, but its secret value is not sent on
|
|
53
|
+
the wire.
|
|
54
|
+
- **NPM supply-chain controls are stricter**: Workspace install and release
|
|
55
|
+
flows now enforce newer npm behavior, harden CI setup, and keep package-lock
|
|
56
|
+
metadata aligned with the release pipeline.
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
|
|
60
|
+
- **A2A delegation revocation cleanup**: Expired delegation-token revocation
|
|
61
|
+
records are pruned when new revocations are written, preventing stale
|
|
62
|
+
short-lived token revocations from accumulating indefinitely.
|
|
63
|
+
- **Skill blocking is visible**: Blocked skills are surfaced instead of being
|
|
64
|
+
hidden behind silent resolution failures.
|
|
65
|
+
- **Media path display-prefix handling**: Host paths that merely share a
|
|
66
|
+
display prefix are no longer remapped as if they were inside the sandboxed
|
|
67
|
+
media root.
|
|
68
|
+
- **Context ring source accuracy**: The web chat context ring reads usage from
|
|
69
|
+
the correct source after session and UI routing changes.
|
|
70
|
+
- **Auxiliary model token limits**: Auxiliary provider calls honor configured
|
|
71
|
+
max-token limits.
|
|
72
|
+
- **Console IME composition safety**: Chat composer key handling ignores IME
|
|
73
|
+
composition events so slash/submit shortcuts do not interrupt text entry.
|
|
74
|
+
- **Release publish compatibility**: Release workflows invoke npm 11 on Node
|
|
75
|
+
22 so npm package promotion uses the expected toolchain.
|
|
76
|
+
|
|
77
|
+
## [0.16.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.16.0) - 2026-05-07
|
|
78
|
+
|
|
79
|
+
### Added
|
|
80
|
+
|
|
81
|
+
- **macOS desktop wrapper**: Source builds can run `npm run desktop` for a
|
|
82
|
+
native Electron shell around the existing `/chat` experience, with menu
|
|
83
|
+
access to `/admin`, automatic local-gateway startup, packaged runtime
|
|
84
|
+
preparation, and DMG build scripts.
|
|
85
|
+
- **Browser provider substrate**: Browser automation can run through a local
|
|
86
|
+
persistent Playwright profile or Browser Use Cloud CDP sessions. Browser Use
|
|
87
|
+
Cloud reads `BROWSER_USE_API_KEY` from the encrypted secret store, records
|
|
88
|
+
usage/audit events, rejects unsafe local profile hints, and reports setup
|
|
89
|
+
problems through `hybridclaw doctor browser-use`.
|
|
90
|
+
- **Cloudflare Tunnel provider**: Local gateways can use
|
|
91
|
+
`deployment.tunnel.provider=cloudflare` with `CLOUDFLARE_TUNNEL_TOKEN` or
|
|
92
|
+
certificate credentials from encrypted runtime secrets, plus a dedicated
|
|
93
|
+
setup guide and admin tunnel status.
|
|
94
|
+
- **A2A outbound delivery**: Agent-to-agent envelopes can be delivered through
|
|
95
|
+
JSON-RPC Agent Card peers or signed webhook peers with an outbox processor,
|
|
96
|
+
retry/backoff, audit events, secret-backed bearer tokens, and operator
|
|
97
|
+
escalation when delivery cannot continue safely.
|
|
98
|
+
- **A2A webhook inbound endpoint**: Gateways accept signed envelopes from
|
|
99
|
+
trusted non-A2A peers at `POST /a2a/webhook/:peerId` with HMAC-SHA256
|
|
100
|
+
verification, replay-window enforcement, per-peer SecretRef-backed shared
|
|
101
|
+
secrets, sender/recipient validation against local agents, configurable
|
|
102
|
+
per-peer rate limiting (default 60/min → 429), and structured audit events
|
|
103
|
+
for every inbound POST.
|
|
104
|
+
- **Monthly invoice harvester skill**: The bundled
|
|
105
|
+
`download-platform-invoices` skill collects official SaaS invoice PDFs and
|
|
106
|
+
normalized records across Stripe, Google Ads, AWS, Azure, GCP, browser-driven
|
|
107
|
+
SaaS portals, and DATEV Unternehmen Online handoff flows.
|
|
108
|
+
- **Warehouse SQL skill**: The bundled `warehouse-sql` skill reviews and runs
|
|
109
|
+
read-only natural-language SQL against cached warehouse schemas, with a
|
|
110
|
+
deterministic SQLite eval fixture and optional connector-backed execution for
|
|
111
|
+
production warehouses.
|
|
112
|
+
- **Google OAuth secret routes**: `hybridclaw secret route ...` and
|
|
113
|
+
`/secret route ...` can map URL prefixes to stored secrets or short-lived
|
|
114
|
+
Google OAuth access tokens for direct `http_request` calls such as Google Ads
|
|
115
|
+
API access.
|
|
116
|
+
- **Interactive escalation handoff**: Runtime middleware can pause for
|
|
117
|
+
operator-facing escalation, collect resumable interaction context, and expose
|
|
118
|
+
browser controls for continuing or resolving pending approvals.
|
|
119
|
+
- **AI-generated session titles**: `auxiliaryModels.session_title` can use an
|
|
120
|
+
auxiliary model to title recent sessions from the first user message while
|
|
121
|
+
preserving the local preview fallback when disabled.
|
|
122
|
+
- **Canonical identity discovery**: User and agent identities now have shared
|
|
123
|
+
parsers, local instance-id allocation, and DNS-style TXT discovery records
|
|
124
|
+
that map canonical identities to peer URLs and public keys for federation.
|
|
125
|
+
- **Per-agent liveness surface**: Gateway status now includes agent liveness
|
|
126
|
+
metadata for admin and health surfaces.
|
|
127
|
+
- **Workflow definition schema**: YAML workflow definitions can declare
|
|
128
|
+
agent-owned steps, transitions, and `stakes_threshold` escalation hints with
|
|
129
|
+
validation coverage.
|
|
130
|
+
- **Classifier middleware contract**: Agent middleware can classify, warn,
|
|
131
|
+
transform, block, or escalate pre-send and post-receive content, giving
|
|
132
|
+
plugins such as `brand-voice` and confidential leak checks a shared runtime
|
|
133
|
+
surface.
|
|
134
|
+
- **Console skill ZIP overwrite control**: The admin Skills page can upload a
|
|
135
|
+
skill ZIP with an explicit `--force` overwrite option while preserving the
|
|
136
|
+
existing skill if the replacement copy fails.
|
|
137
|
+
|
|
138
|
+
### Changed
|
|
139
|
+
|
|
140
|
+
- **Approval policy rule pipeline**: Container approval evaluation now runs
|
|
141
|
+
through a hook-fed, policy-orderable rule pipeline, preserving the existing
|
|
142
|
+
trust-store layout while giving plugins pre/post tool-use visibility.
|
|
143
|
+
- **Provider fallback chains**: `HYBRIDAI_FALLBACK_CHAIN` can route model calls
|
|
144
|
+
to alternate providers on auth and rate-limit failures, with primary-provider
|
|
145
|
+
cooldowns and streaming-safe retry gates.
|
|
146
|
+
- **A2A retry classification is shared**: Outbound A2A delivery and transport
|
|
147
|
+
error handling use common retry classifications so transient failures,
|
|
148
|
+
permanent failures, and escalation paths stay consistent.
|
|
149
|
+
- **Web chat sessions are easier to resume**: Recent-session history has clearer
|
|
150
|
+
titles/snippets, agent switching is more stable, and active-session routing is
|
|
151
|
+
less prone to stale agent state after UI changes.
|
|
152
|
+
- **Browser tooling is stricter and more capable**: Browser tools share
|
|
153
|
+
navigation/profile guards, support reusable browser login state across host
|
|
154
|
+
and container runtimes, and handle download-heavy invoice flows more
|
|
155
|
+
predictably.
|
|
156
|
+
- **TUI activity rendering is calmer**: Tool activity rows stack and de-dupe
|
|
157
|
+
more cleanly, repeated activity lines are suppressed, and `Esc` stops the
|
|
158
|
+
active run instead of leaving the session running in the background.
|
|
159
|
+
- **Secret-bearing tool calls are narrower**: Gateway-side secret injection
|
|
160
|
+
resolves non-LLM credentials and Google OAuth tokens at request time instead
|
|
161
|
+
of exposing long-lived credentials to agent context.
|
|
162
|
+
- **Provider discovery errors are clearer**: Shared discovery-error helpers and
|
|
163
|
+
normalized OpenRouter fallback hints keep model selection output less noisy.
|
|
164
|
+
- **IMAP polling failures stay local**: Email transport timeouts are contained
|
|
165
|
+
to the IMAP connection path instead of leaking into broader gateway state.
|
|
166
|
+
- **Release automation is stricter**: Release workflows validate promoted image
|
|
167
|
+
tags, pin newer checkout/setup actions, tolerate build-cache export failures,
|
|
168
|
+
and enforce the Node engine during npm installs.
|
|
169
|
+
|
|
170
|
+
### Fixed
|
|
171
|
+
|
|
172
|
+
- **Gateway transport timeout resilience**: Host/container transport timeouts no
|
|
173
|
+
longer bring down the gateway; affected runs fail locally while the gateway
|
|
174
|
+
stays available for subsequent work.
|
|
175
|
+
- **Google Ads invoice harvesting**: Google Ads invoice discovery and PDF
|
|
176
|
+
downloads use the correct InvoiceService and GoogleAdsService paths,
|
|
177
|
+
including accessible-customer, manager-client, and billing-setup discovery.
|
|
178
|
+
- **TUI stop behavior**: Pressing `Esc` reliably stops the in-flight TUI
|
|
179
|
+
session run.
|
|
180
|
+
- **TUI tool activity duplication**: Repeated and stacked tool rows no longer
|
|
181
|
+
produce noisy duplicate output.
|
|
182
|
+
- **OpenRouter fallback hints**: HybridAI-prefixed model hints are stripped
|
|
183
|
+
before OpenRouter fallback resolution.
|
|
184
|
+
|
|
5
185
|
## [0.15.0](https://github.com/HybridAIOne/hybridclaw/tree/v0.15.0) - 2026-04-29
|
|
6
186
|
|
|
7
187
|
### Added
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@hybridaione/hybridclaw)
|
|
6
6
|
[](https://nodejs.org/en/download)
|
|
7
7
|
[](https://github.com/HybridAIOne/hybridclaw/blob/main/LICENSE)
|
|
8
|
-
[](https://hybridaione.github.io/hybridclaw/docs/)
|
|
9
9
|
[](https://hybridai.one)
|
|
10
10
|
[](https://discord.gg/jsVW4vJw27)
|
|
11
11
|
|
|
@@ -23,22 +23,22 @@ Connect it to Discord, Slack, Signal, WhatsApp, Telegram, Microsoft Teams,
|
|
|
23
23
|
email, Twilio voice, or the web. Run it locally, deploy it for business
|
|
24
24
|
workflows, and keep your agents, secrets, and data under your control.
|
|
25
25
|
|
|
26
|
-
[Quick Start](https://
|
|
27
|
-
[Installation](https://
|
|
28
|
-
[Configuration](https://
|
|
29
|
-
[Migration](https://
|
|
26
|
+
[Quick Start](https://hybridaione.github.io/hybridclaw/docs/getting-started/quickstart) ·
|
|
27
|
+
[Installation](https://hybridaione.github.io/hybridclaw/docs/getting-started/installation) ·
|
|
28
|
+
[Configuration](https://hybridaione.github.io/hybridclaw/docs/reference/configuration) ·
|
|
29
|
+
[Migration](https://hybridaione.github.io/hybridclaw/docs/reference/commands#migration) ·
|
|
30
30
|
[Contributing](./CONTRIBUTING.md) ·
|
|
31
31
|
[Support](./SUPPORT.md)
|
|
32
32
|
|
|
33
33
|
## Pick your path
|
|
34
34
|
|
|
35
35
|
- Want the shortest path to a running assistant? Start with
|
|
36
|
-
[Quick Start](https://
|
|
36
|
+
[Quick Start](https://hybridaione.github.io/hybridclaw/docs/getting-started/quickstart).
|
|
37
37
|
- Want the full setup flow with providers, channels, and admin surfaces? Start
|
|
38
|
-
with [Installation](https://
|
|
39
|
-
and [Authentication](https://
|
|
38
|
+
with [Installation](https://hybridaione.github.io/hybridclaw/docs/getting-started/installation)
|
|
39
|
+
and [Authentication](https://hybridaione.github.io/hybridclaw/docs/getting-started/authentication).
|
|
40
40
|
- Want to migrate from OpenClaw or Hermes? Start with the
|
|
41
|
-
[migration commands](https://
|
|
41
|
+
[migration commands](https://hybridaione.github.io/hybridclaw/docs/reference/commands#migration).
|
|
42
42
|
- Want to contribute from source? Start with [CONTRIBUTING.md](./CONTRIBUTING.md)
|
|
43
43
|
and the maintainer docs under [docs/content/README.md](./docs/content/README.md).
|
|
44
44
|
|
|
@@ -84,9 +84,21 @@ Open locally:
|
|
|
84
84
|
|
|
85
85
|
Requirement: Node.js 22 (Docker recommended for sandbox)
|
|
86
86
|
|
|
87
|
+
Desktop wrapper from source:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm install
|
|
91
|
+
npm run desktop
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The Electron workspace opens the existing `/chat` surface in a native macOS
|
|
95
|
+
window, exposes `/admin` from the app menu, reuses a running local gateway when
|
|
96
|
+
available, and starts the bundled gateway automatically when it is not already
|
|
97
|
+
listening on `http://127.0.0.1:9090`.
|
|
98
|
+
|
|
87
99
|
Release notes live in [CHANGELOG.md](./CHANGELOG.md), and the browsable
|
|
88
100
|
operator and maintainer manual lives at
|
|
89
|
-
[
|
|
101
|
+
[hybridaione.github.io/hybridclaw/docs](https://hybridaione.github.io/hybridclaw/docs/).
|
|
90
102
|
|
|
91
103
|
## See it in Action
|
|
92
104
|
|
|
@@ -96,7 +108,8 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
96
108
|
- Web Chat keeps a recent-session sidebar and can search conversation titles
|
|
97
109
|
with contextual snippets before you reopen an older browser session
|
|
98
110
|
- Web Chat shows live context-window usage, accepts `/context`, and lets you
|
|
99
|
-
switch the active agent and model from the composer
|
|
111
|
+
switch the active agent and model from the composer; active agent switching is
|
|
112
|
+
preserved across session reloads and UI route changes
|
|
100
113
|
- Web Chat accepts `/btw <question>` side questions while a primary run is
|
|
101
114
|
active, so you can ask an ephemeral follow-up without interrupting the
|
|
102
115
|
current run
|
|
@@ -124,6 +137,8 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
124
137
|
browser.
|
|
125
138
|
- `/admin/statistics` reports message, session, token, cost, and channel trends
|
|
126
139
|
across a selected date range.
|
|
140
|
+
- The Usage rollup surfaces loading skeletons, cost metrics, and per-model
|
|
141
|
+
spend summaries without scanning every stored session on page load.
|
|
127
142
|
- `/admin/agent-scoreboard` ranks agents by observed skill scores, reliability,
|
|
128
143
|
timing, best skills, and CV links.
|
|
129
144
|
- `hybridclaw agent config` accepts generated JSON payloads to upsert agent
|
|
@@ -133,6 +148,10 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
133
148
|
Signal QR linking, Twilio voice settings, and per-channel instructions that
|
|
134
149
|
are injected into prompts at runtime.
|
|
135
150
|
- `/admin/approvals` manages approval policies from the browser.
|
|
151
|
+
- Approval policy evaluation runs through a hook-fed rule pipeline, so
|
|
152
|
+
workspace policy ordering and plugin tool-use hooks share one approval path.
|
|
153
|
+
- `/admin/a2a-trust` shows the local A2A public-key trust ledger for paired
|
|
154
|
+
peer instances.
|
|
136
155
|
- `/admin/gateway` reloads runtime config and refreshes secrets from the
|
|
137
156
|
browser, and shows public URL plus tunnel status, without tearing down the
|
|
138
157
|
enclosing workspace container; keep `hybridclaw gateway restart` for
|
|
@@ -144,14 +163,18 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
144
163
|
share when that split is configured.
|
|
145
164
|
- `deployment.mode`, `deployment.public_url`, `deployment.tunnel.provider`, and
|
|
146
165
|
`deployment.tunnel.health_check_interval_ms` describe local/cloud exposure
|
|
147
|
-
and tunnel health cadence. The built-in ngrok
|
|
148
|
-
read `NGROK_AUTHTOKEN
|
|
149
|
-
|
|
166
|
+
and tunnel health cadence. The built-in ngrok, Tailscale Funnel, and
|
|
167
|
+
Cloudflare Tunnel providers read `NGROK_AUTHTOKEN`, `TS_AUTHKEY`,
|
|
168
|
+
`CLOUDFLARE_TUNNEL_TOKEN`, and Cloudflare certificate credentials from the
|
|
169
|
+
encrypted runtime secret store.
|
|
150
170
|
- `container.warmPool` keeps a bounded adaptive pool of idle host/container
|
|
151
171
|
runtimes for recently active agents when low cold-start latency matters.
|
|
152
172
|
- `container.persistBashState` controls whether bash tool calls share shell
|
|
153
173
|
state (`cd`, exported env vars, aliases) across turns in the same active
|
|
154
174
|
runtime session; `/admin/config` exposes the same setting as `Persistent bash state`.
|
|
175
|
+
- `security.confidentialRedactionEnabled` controls whether optional
|
|
176
|
+
`.confidential.yml` rules redact prompts and block matching outbound text;
|
|
177
|
+
`/admin/config` exposes the same setting as `Confidential leak guard`.
|
|
155
178
|
- `hybridclaw audit scan-leaks` scans historical audit logs against optional
|
|
156
179
|
`.confidential.yml` rules for NDA-class client, project, person, keyword,
|
|
157
180
|
and regex matches.
|
|
@@ -159,9 +182,12 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
159
182
|
exposes a custom workspace display root such as `/app`.
|
|
160
183
|
- `hybridclaw tui` includes live delegate progress, pulsing tool rows,
|
|
161
184
|
completion checkmarks, a keyboard-driven approval picker, and a ready-to-run
|
|
162
|
-
`hybridclaw tui --resume <sessionId>` command on exit.
|
|
185
|
+
`hybridclaw tui --resume <sessionId>` command on exit. Pressing `Esc` stops
|
|
186
|
+
the active run and returns control to the prompt.
|
|
163
187
|
- `hybridclaw doctor` checks runtime health including resource hygiene
|
|
164
|
-
maintenance for stale gateway artifacts.
|
|
188
|
+
maintenance for stale gateway artifacts. `hybridclaw doctor browser-use`
|
|
189
|
+
checks the local Playwright browser automation substrate and can install
|
|
190
|
+
missing Chromium support with `--fix`.
|
|
165
191
|
- `hybridclaw onboarding` and related local setup flows can restore the last
|
|
166
192
|
known-good saved config snapshot or roll back to a tracked revision when
|
|
167
193
|
`config.json` becomes invalid.
|
|
@@ -198,9 +224,19 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
198
224
|
- Brave, Perplexity, and Tavily web-search credentials can live in the
|
|
199
225
|
encrypted runtime secret store and are passed into host or container agent
|
|
200
226
|
runtimes from the active config.
|
|
227
|
+
- Web search can also target a self-hosted SearXNG instance through
|
|
228
|
+
`web.search.searxngBaseUrl` or `SEARXNG_BASE_URL`; bundled `search.web`,
|
|
229
|
+
`search.news`, and `search.images` skills prefer that sovereign search path.
|
|
201
230
|
- Google OAuth credentials for Workspace skills live in the encrypted runtime
|
|
202
231
|
secret store; agent runtimes receive short-lived access tokens for `gog` and
|
|
203
232
|
`gws` instead of long-lived refresh tokens.
|
|
233
|
+
- Canonical user and agent identities use stable lowercase IDs and DNS-style
|
|
234
|
+
discovery records so A2A peers can resolve remote URLs and public keys.
|
|
235
|
+
- `hybridclaw secret route ...` and `/secret route ...` can attach stored
|
|
236
|
+
secrets or Google OAuth access tokens to matching `http_request` URL
|
|
237
|
+
prefixes, including Google Ads API calls.
|
|
238
|
+
- `HYBRIDAI_FALLBACK_CHAIN` can route auth and rate-limit provider failures to
|
|
239
|
+
alternate models/providers with cooldowns before retrying the primary.
|
|
204
240
|
- Skills can be enabled or disabled globally or per channel from
|
|
205
241
|
`hybridclaw skill enable|disable`, TUI `/skill config`, or the admin
|
|
206
242
|
`Skills` page.
|
|
@@ -208,7 +244,17 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
208
244
|
credentials, supported channels, and per-agent autonomy policy.
|
|
209
245
|
- Bundled skills include API-backed Google Workspace workflows (`gog`, `gws`),
|
|
210
246
|
Salesforce inspection, GitHub issue queue processing (`gh-issues`),
|
|
211
|
-
|
|
247
|
+
monthly SaaS invoice harvesting (`download-platform-invoices`), Airtable,
|
|
248
|
+
FastBill, Firecrawl, Google Ads, HeyGen, natural-language warehouse SQL
|
|
249
|
+
(`warehouse-sql`), brand-voice drafting, and editable Excalidraw diagram
|
|
250
|
+
creation.
|
|
251
|
+
- Native media tools generate images and videos through configured providers,
|
|
252
|
+
persist the resulting artifacts, and expose the same capability through the
|
|
253
|
+
bundled `image-generation` and `video-generation` skills.
|
|
254
|
+
- Browser automation can use local persistent Playwright profiles, Camofox
|
|
255
|
+
profiles, or Browser Use Cloud sessions with encrypted `BROWSER_USE_API_KEY`
|
|
256
|
+
storage, usage metering, shared navigation guards, and SecretRef-gated
|
|
257
|
+
credential fills.
|
|
212
258
|
- The repo-shipped `brand-voice` plugin can flag, rewrite, or block final
|
|
213
259
|
responses that violate configured voice rules before they reach users.
|
|
214
260
|
- Built-in office skills handle longer PDF creation flows cleanly: the bundled
|
|
@@ -271,66 +317,67 @@ Once the gateway is running, open HybridClaw locally:
|
|
|
271
317
|
|
|
272
318
|
## Architecture
|
|
273
319
|
|
|
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
|
|
320
|
+
- **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, A2A peer trust, board-card storage, and channel integrations for Discord, Slack, Signal, Threema, Microsoft Teams, Telegram, iMessage, WhatsApp, Twilio voice, and email
|
|
275
321
|
- **TUI client** — thin client over HTTP (`/api/chat`, `/api/command`) with
|
|
276
322
|
a structured startup banner that surfaces model, sandbox, gateway, and
|
|
277
323
|
chatbot context before the first prompt, live delegate status/progress,
|
|
278
324
|
an interactive approval picker for pending approvals, and an exit summary
|
|
279
325
|
with a ready-to-run resume command
|
|
280
|
-
- **Container** (Docker, ephemeral) — HybridAI API client, sandboxed tool executor, and preinstalled browser automation runtime with cursor-aware snapshots for JS-heavy custom UI
|
|
326
|
+
- **Container** (Docker, ephemeral) — HybridAI API client, sandboxed tool executor, native media-generation tools, web/search adapters, and preinstalled browser automation runtime with cursor-aware snapshots for JS-heavy custom UI
|
|
281
327
|
- Communication via file-based IPC (input.json / output.json)
|
|
282
328
|
|
|
283
329
|
## Documentation
|
|
284
330
|
|
|
285
331
|
Browse the full manual at
|
|
286
|
-
[
|
|
332
|
+
[hybridaione.github.io/hybridclaw/docs](https://hybridaione.github.io/hybridclaw/docs/).
|
|
287
333
|
|
|
288
334
|
- Getting started:
|
|
289
|
-
[Installation](https://
|
|
290
|
-
[Authentication](https://
|
|
291
|
-
[Quick Start](https://
|
|
335
|
+
[Installation](https://hybridaione.github.io/hybridclaw/docs/getting-started/installation),
|
|
336
|
+
[Authentication](https://hybridaione.github.io/hybridclaw/docs/getting-started/authentication), and
|
|
337
|
+
[Quick Start](https://hybridaione.github.io/hybridclaw/docs/getting-started/quickstart)
|
|
292
338
|
- Enterprise deployment:
|
|
293
|
-
[Runtime Internals](https://
|
|
294
|
-
[Architecture](https://
|
|
339
|
+
[Runtime Internals](https://hybridaione.github.io/hybridclaw/docs/developer-guide/runtime) and
|
|
340
|
+
[Architecture](https://hybridaione.github.io/hybridclaw/docs/developer-guide/architecture)
|
|
295
341
|
- Operations:
|
|
296
|
-
[Remote Access](https://
|
|
342
|
+
[Remote Access](https://hybridaione.github.io/hybridclaw/docs/guides/remote-access)
|
|
297
343
|
- Security:
|
|
298
344
|
[SECURITY.md](./SECURITY.md) and [TRUST_MODEL.md](./TRUST_MODEL.md)
|
|
299
345
|
- Migration:
|
|
300
|
-
[Commands: Migration](https://
|
|
301
|
-
[FAQ](https://
|
|
346
|
+
[Commands: Migration](https://hybridaione.github.io/hybridclaw/docs/reference/commands#migration) and
|
|
347
|
+
[FAQ](https://hybridaione.github.io/hybridclaw/docs/reference/faq#can-i-migrate-an-existing-openclaw-or-hermes-agent-home)
|
|
302
348
|
- Channels:
|
|
303
|
-
[Connect Your First Channel](https://
|
|
304
|
-
[Overview](https://
|
|
305
|
-
[Twilio Voice](https://
|
|
306
|
-
[Discord](https://
|
|
307
|
-
[Slack](https://
|
|
308
|
-
[Telegram](https://
|
|
309
|
-
[Signal](https://
|
|
310
|
-
[
|
|
311
|
-
[
|
|
312
|
-
[
|
|
313
|
-
[
|
|
349
|
+
[Connect Your First Channel](https://hybridaione.github.io/hybridclaw/docs/getting-started/first-channel),
|
|
350
|
+
[Overview](https://hybridaione.github.io/hybridclaw/docs/channels/overview),
|
|
351
|
+
[Twilio Voice](https://hybridaione.github.io/hybridclaw/docs/guides/twilio-voice),
|
|
352
|
+
[Discord](https://hybridaione.github.io/hybridclaw/docs/channels/discord),
|
|
353
|
+
[Slack](https://hybridaione.github.io/hybridclaw/docs/channels/slack),
|
|
354
|
+
[Telegram](https://hybridaione.github.io/hybridclaw/docs/channels/telegram),
|
|
355
|
+
[Signal](https://hybridaione.github.io/hybridclaw/docs/channels/signal),
|
|
356
|
+
[Threema](https://hybridaione.github.io/hybridclaw/docs/channels/threema),
|
|
357
|
+
[Email](https://hybridaione.github.io/hybridclaw/docs/channels/email),
|
|
358
|
+
[WhatsApp](https://hybridaione.github.io/hybridclaw/docs/channels/whatsapp),
|
|
359
|
+
[iMessage](https://hybridaione.github.io/hybridclaw/docs/channels/imessage), and
|
|
360
|
+
[Microsoft Teams](https://hybridaione.github.io/hybridclaw/docs/channels/msteams)
|
|
314
361
|
- Tutorials:
|
|
315
|
-
[Practical Workflows](https://
|
|
362
|
+
[Practical Workflows](https://hybridaione.github.io/hybridclaw/docs/tutorials) for owner,
|
|
316
363
|
GTM, marketing, sales, DevRel, content, invoicing, webinar, and release
|
|
317
364
|
launch workflows
|
|
318
365
|
- Skills and plugins:
|
|
319
|
-
[Extensibility](https://
|
|
320
|
-
[Bundled Skills](https://
|
|
321
|
-
[Plugin System](https://
|
|
322
|
-
[Memory Plugins](https://
|
|
323
|
-
[ByteRover Memory Plugin](https://
|
|
324
|
-
[GBrain Plugin](https://
|
|
325
|
-
[Mem0 Memory Plugin](https://
|
|
326
|
-
[Honcho Memory Plugin](https://
|
|
327
|
-
[MemPalace Memory Plugin](https://
|
|
366
|
+
[Extensibility](https://hybridaione.github.io/hybridclaw/docs/extensibility),
|
|
367
|
+
[Bundled Skills](https://hybridaione.github.io/hybridclaw/docs/guides/bundled-skills),
|
|
368
|
+
[Plugin System](https://hybridaione.github.io/hybridclaw/docs/extensibility/plugins),
|
|
369
|
+
[Memory Plugins](https://hybridaione.github.io/hybridclaw/docs/extensibility/memory-plugins),
|
|
370
|
+
[ByteRover Memory Plugin](https://hybridaione.github.io/hybridclaw/docs/extensibility/byterover-memory-plugin),
|
|
371
|
+
[GBrain Plugin](https://hybridaione.github.io/hybridclaw/docs/extensibility/gbrain-plugin),
|
|
372
|
+
[Mem0 Memory Plugin](https://hybridaione.github.io/hybridclaw/docs/extensibility/mem0-memory-plugin),
|
|
373
|
+
[Honcho Memory Plugin](https://hybridaione.github.io/hybridclaw/docs/extensibility/honcho-memory-plugin), and
|
|
374
|
+
[MemPalace Memory Plugin](https://hybridaione.github.io/hybridclaw/docs/extensibility/mempalace-memory-plugin)
|
|
328
375
|
- Configuration:
|
|
329
|
-
[Configuration Reference](https://
|
|
376
|
+
[Configuration Reference](https://hybridaione.github.io/hybridclaw/docs/reference/configuration)
|
|
330
377
|
- CLI reference:
|
|
331
|
-
[Commands](https://
|
|
332
|
-
[Diagnostics](https://
|
|
333
|
-
[FAQ](https://
|
|
378
|
+
[Commands](https://hybridaione.github.io/hybridclaw/docs/reference/commands),
|
|
379
|
+
[Diagnostics](https://hybridaione.github.io/hybridclaw/docs/reference/diagnostics), and
|
|
380
|
+
[FAQ](https://hybridaione.github.io/hybridclaw/docs/reference/faq)
|
|
334
381
|
|
|
335
382
|
## Contributing
|
|
336
383
|
|
package/SECURITY.md
CHANGED
|
@@ -148,6 +148,56 @@ Verification command:
|
|
|
148
148
|
hybridclaw audit verify <sessionId>
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
+
### 6) npm Supply-Chain Controls
|
|
152
|
+
|
|
153
|
+
HybridClaw treats npm lockfiles and package-manager configuration as security
|
|
154
|
+
controls:
|
|
155
|
+
|
|
156
|
+
- `.npmrc` enforces exact saves, strict engines, and a seven-day minimum release
|
|
157
|
+
age.
|
|
158
|
+
- `package.json` requires npm 11.10+ because older npm versions do not enforce
|
|
159
|
+
the release-age policy.
|
|
160
|
+
- CI upgrades to the pinned npm version before running `npm ci`, so pull
|
|
161
|
+
requests and release publishes use the same install policy as local
|
|
162
|
+
development.
|
|
163
|
+
- Docker builds install the pinned npm version before npm install steps. The
|
|
164
|
+
gateway image copies the repository `.npmrc` before `npm ci`; the agent image
|
|
165
|
+
materializes the same safe npm config inside its isolated Docker context.
|
|
166
|
+
- CI runs `npm audit signatures` after installs to verify npm registry
|
|
167
|
+
signatures and available provenance attestations for installed packages.
|
|
168
|
+
- Release publishing uses npm provenance through the trusted-publishing-capable
|
|
169
|
+
npm CLI. The npm package should be configured on npmjs.com to use trusted
|
|
170
|
+
publishing and to disallow token-based publishes after the OIDC workflow is
|
|
171
|
+
verified.
|
|
172
|
+
|
|
173
|
+
Dependency updates should use `npm ci` for verification and keep
|
|
174
|
+
`package-lock.json` changes reviewable. Avoid unconstrained interactive or
|
|
175
|
+
ad-hoc `npm update` runs; use the lockfile-only update script below so npm's
|
|
176
|
+
configured release-age gate applies and the resulting diff can be reviewed. Do
|
|
177
|
+
not add git, tarball, or non-registry dependencies without a specific security
|
|
178
|
+
review. The current WhatsApp channel dependency chain includes a pinned GitHub
|
|
179
|
+
dependency from `@whiskeysockets/baileys` to `libsignal`; replacing that
|
|
180
|
+
dependency with a registry-only package should be prioritized before enabling
|
|
181
|
+
npm's `allow-git` restriction.
|
|
182
|
+
|
|
183
|
+
Recommended dependency update workflow:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
npm install --global npm@11.10.0 --no-audit --fund=false
|
|
187
|
+
npm run deps:update-lockfile
|
|
188
|
+
git diff -- package.json package-lock.json container/package.json container/package-lock.json
|
|
189
|
+
npm run deps:verify
|
|
190
|
+
npm run typecheck
|
|
191
|
+
npm run test:unit
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
`deps:update-lockfile` regenerates the root/workspace lockfile and the standalone
|
|
195
|
+
container lockfile through npm's configured seven-day release-age filter.
|
|
196
|
+
`deps:verify` then performs clean installs from those lockfiles and verifies npm
|
|
197
|
+
registry signatures. Review lockfile diffs before merging; unexpected new
|
|
198
|
+
maintainers, new install scripts, git/tarball URLs, or large transitive churn
|
|
199
|
+
should be treated as security review triggers.
|
|
200
|
+
|
|
151
201
|
## Incident Response
|
|
152
202
|
|
|
153
203
|
If compromise is suspected:
|
|
@@ -157,6 +207,8 @@ If compromise is suspected:
|
|
|
157
207
|
3. Review mount allowlist, workspace files, and `sessionRouting.identityLinks`.
|
|
158
208
|
4. Inspect denied/authorization events with `hybridclaw audit approvals --denied`.
|
|
159
209
|
5. Validate audit integrity with `hybridclaw audit verify`.
|
|
210
|
+
6. If compromise may involve npm install-time malware, rotate npm, GitHub, SSH,
|
|
211
|
+
cloud, and registry credentials reachable from the affected host or runner.
|
|
160
212
|
|
|
161
213
|
## Reporting A Vulnerability
|
|
162
214
|
|
package/config.example.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version":
|
|
2
|
+
"version": 28,
|
|
3
3
|
"security": {
|
|
4
4
|
"trustModelAccepted": false,
|
|
5
5
|
"trustModelAcceptedAt": "",
|
|
6
6
|
"trustModelVersion": "",
|
|
7
|
-
"trustModelAcceptedBy": ""
|
|
7
|
+
"trustModelAcceptedBy": "",
|
|
8
|
+
"confidentialRedactionEnabled": false
|
|
8
9
|
},
|
|
9
10
|
"deployment": {
|
|
10
11
|
"mode": "local",
|
|
@@ -14,6 +15,27 @@
|
|
|
14
15
|
"health_check_interval_ms": 30000
|
|
15
16
|
}
|
|
16
17
|
},
|
|
18
|
+
"browser": {
|
|
19
|
+
"provider": "local",
|
|
20
|
+
"local": {
|
|
21
|
+
"profileRoot": "",
|
|
22
|
+
"headed": false
|
|
23
|
+
},
|
|
24
|
+
"camofox": {
|
|
25
|
+
"profileRoot": "",
|
|
26
|
+
"headed": false,
|
|
27
|
+
"launchOptions": {}
|
|
28
|
+
},
|
|
29
|
+
"browserUseCloud": {
|
|
30
|
+
"apiKeyRef": {
|
|
31
|
+
"source": "env",
|
|
32
|
+
"id": "BROWSER_USE_API_KEY"
|
|
33
|
+
},
|
|
34
|
+
"baseUrl": "",
|
|
35
|
+
"browser": {},
|
|
36
|
+
"pricing": {}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
17
39
|
"skills": {
|
|
18
40
|
"extraDirs": [],
|
|
19
41
|
"disabled": [],
|
|
@@ -23,6 +45,7 @@
|
|
|
23
45
|
"signal": [],
|
|
24
46
|
"slack": [],
|
|
25
47
|
"telegram": [],
|
|
48
|
+
"threema": [],
|
|
26
49
|
"voice": [],
|
|
27
50
|
"whatsapp": [],
|
|
28
51
|
"email": []
|
|
@@ -38,6 +61,7 @@
|
|
|
38
61
|
"signal": "",
|
|
39
62
|
"slack": "",
|
|
40
63
|
"telegram": "",
|
|
64
|
+
"threema": "",
|
|
41
65
|
"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.",
|
|
42
66
|
"whatsapp": "",
|
|
43
67
|
"email": "",
|
|
@@ -184,6 +208,16 @@
|
|
|
184
208
|
"reconnectIntervalMs": 5000,
|
|
185
209
|
"outboundDelayMs": 350
|
|
186
210
|
},
|
|
211
|
+
"threema": {
|
|
212
|
+
"enabled": false,
|
|
213
|
+
"apiBaseUrl": "https://msgapi.threema.ch",
|
|
214
|
+
"identity": "",
|
|
215
|
+
"secret": "",
|
|
216
|
+
"dmPolicy": "allowlist",
|
|
217
|
+
"allowFrom": [],
|
|
218
|
+
"textChunkLimit": 3500,
|
|
219
|
+
"outboundDelayMs": 350
|
|
220
|
+
},
|
|
187
221
|
"whatsapp": {
|
|
188
222
|
"dmPolicy": "pairing",
|
|
189
223
|
"groupPolicy": "disabled",
|
|
@@ -398,6 +432,11 @@
|
|
|
398
432
|
"provider": "auto",
|
|
399
433
|
"model": "",
|
|
400
434
|
"maxTokens": 0
|
|
435
|
+
},
|
|
436
|
+
"session_title": {
|
|
437
|
+
"provider": "auto",
|
|
438
|
+
"model": "",
|
|
439
|
+
"maxTokens": 0
|
|
401
440
|
}
|
|
402
441
|
},
|
|
403
442
|
"container": {
|