nduka 1.0.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/README.md +157 -0
- package/config/agent-tools.settings.json +70 -0
- package/config/chatbot.config.json +113 -0
- package/config/chatbot.config.schema.json +54 -0
- package/config/connectors.chatbot.json +5 -0
- package/config/llm.settings.json +416 -0
- package/config/prompts.chatbot.json +13 -0
- package/config/secure-tool-identities.example.json +21 -0
- package/config/secure-tool-identities.json +13 -0
- package/config/secure-tools.chatbot.json +82 -0
- package/config/secure-tools.example.json +200 -0
- package/config/test.env +2 -0
- package/config/tools.chatbot.json +318 -0
- package/dist/acceptance/index.d.ts +3 -0
- package/dist/acceptance/index.d.ts.map +1 -0
- package/dist/acceptance/index.js +2 -0
- package/dist/acceptance/index.js.map +1 -0
- package/dist/acceptance/runner.d.ts +57 -0
- package/dist/acceptance/runner.d.ts.map +1 -0
- package/dist/acceptance/runner.js +222 -0
- package/dist/acceptance/runner.js.map +1 -0
- package/dist/agent-runtime/engine.d.ts +73 -0
- package/dist/agent-runtime/engine.d.ts.map +1 -0
- package/dist/agent-runtime/engine.js +169 -0
- package/dist/agent-runtime/engine.js.map +1 -0
- package/dist/agent-runtime/index.d.ts +3 -0
- package/dist/agent-runtime/index.d.ts.map +1 -0
- package/dist/agent-runtime/index.js +2 -0
- package/dist/agent-runtime/index.js.map +1 -0
- package/dist/agent-tools/agent-tool-router.d.ts +44 -0
- package/dist/agent-tools/agent-tool-router.d.ts.map +1 -0
- package/dist/agent-tools/agent-tool-router.js +196 -0
- package/dist/agent-tools/agent-tool-router.js.map +1 -0
- package/dist/agent-tools/async-tool-bridge.d.ts +31 -0
- package/dist/agent-tools/async-tool-bridge.d.ts.map +1 -0
- package/dist/agent-tools/async-tool-bridge.js +65 -0
- package/dist/agent-tools/async-tool-bridge.js.map +1 -0
- package/dist/agent-tools/async-tool-processor.d.ts +19 -0
- package/dist/agent-tools/async-tool-processor.d.ts.map +1 -0
- package/dist/agent-tools/async-tool-processor.js +81 -0
- package/dist/agent-tools/async-tool-processor.js.map +1 -0
- package/dist/agent-tools/claude-tool-adapter.d.ts +20 -0
- package/dist/agent-tools/claude-tool-adapter.d.ts.map +1 -0
- package/dist/agent-tools/claude-tool-adapter.js +64 -0
- package/dist/agent-tools/claude-tool-adapter.js.map +1 -0
- package/dist/agent-tools/claude-tool-planner.d.ts +35 -0
- package/dist/agent-tools/claude-tool-planner.d.ts.map +1 -0
- package/dist/agent-tools/claude-tool-planner.js +83 -0
- package/dist/agent-tools/claude-tool-planner.js.map +1 -0
- package/dist/agent-tools/connector-tool-adapter.d.ts +16 -0
- package/dist/agent-tools/connector-tool-adapter.d.ts.map +1 -0
- package/dist/agent-tools/connector-tool-adapter.js +62 -0
- package/dist/agent-tools/connector-tool-adapter.js.map +1 -0
- package/dist/agent-tools/context-routing-policy.d.ts +4 -0
- package/dist/agent-tools/context-routing-policy.d.ts.map +1 -0
- package/dist/agent-tools/context-routing-policy.js +20 -0
- package/dist/agent-tools/context-routing-policy.js.map +1 -0
- package/dist/agent-tools/index.d.ts +18 -0
- package/dist/agent-tools/index.d.ts.map +1 -0
- package/dist/agent-tools/index.js +18 -0
- package/dist/agent-tools/index.js.map +1 -0
- package/dist/agent-tools/logging.d.ts +3 -0
- package/dist/agent-tools/logging.d.ts.map +1 -0
- package/dist/agent-tools/logging.js +15 -0
- package/dist/agent-tools/logging.js.map +1 -0
- package/dist/agent-tools/mcp-tool-adapter.d.ts +18 -0
- package/dist/agent-tools/mcp-tool-adapter.d.ts.map +1 -0
- package/dist/agent-tools/mcp-tool-adapter.js +76 -0
- package/dist/agent-tools/mcp-tool-adapter.js.map +1 -0
- package/dist/agent-tools/settings.d.ts +50 -0
- package/dist/agent-tools/settings.d.ts.map +1 -0
- package/dist/agent-tools/settings.js +101 -0
- package/dist/agent-tools/settings.js.map +1 -0
- package/dist/agent-tools/tool-candidate-detector.d.ts +16 -0
- package/dist/agent-tools/tool-candidate-detector.d.ts.map +1 -0
- package/dist/agent-tools/tool-candidate-detector.js +165 -0
- package/dist/agent-tools/tool-candidate-detector.js.map +1 -0
- package/dist/agent-tools/tool-chain-runner.d.ts +24 -0
- package/dist/agent-tools/tool-chain-runner.d.ts.map +1 -0
- package/dist/agent-tools/tool-chain-runner.js +39 -0
- package/dist/agent-tools/tool-chain-runner.js.map +1 -0
- package/dist/agent-tools/tool-context-store.d.ts +28 -0
- package/dist/agent-tools/tool-context-store.d.ts.map +1 -0
- package/dist/agent-tools/tool-context-store.js +127 -0
- package/dist/agent-tools/tool-context-store.js.map +1 -0
- package/dist/agent-tools/tool-followup-resolver.d.ts +18 -0
- package/dist/agent-tools/tool-followup-resolver.d.ts.map +1 -0
- package/dist/agent-tools/tool-followup-resolver.js +98 -0
- package/dist/agent-tools/tool-followup-resolver.js.map +1 -0
- package/dist/agent-tools/tool-plan-validator.d.ts +13 -0
- package/dist/agent-tools/tool-plan-validator.d.ts.map +1 -0
- package/dist/agent-tools/tool-plan-validator.js +119 -0
- package/dist/agent-tools/tool-plan-validator.js.map +1 -0
- package/dist/agent-tools/tool-result-summarizer.d.ts +17 -0
- package/dist/agent-tools/tool-result-summarizer.d.ts.map +1 -0
- package/dist/agent-tools/tool-result-summarizer.js +41 -0
- package/dist/agent-tools/tool-result-summarizer.js.map +1 -0
- package/dist/agent-tools/tool-session-store.d.ts +49 -0
- package/dist/agent-tools/tool-session-store.d.ts.map +1 -0
- package/dist/agent-tools/tool-session-store.js +104 -0
- package/dist/agent-tools/tool-session-store.js.map +1 -0
- package/dist/agent-tools/types.d.ts +97 -0
- package/dist/agent-tools/types.d.ts.map +1 -0
- package/dist/agent-tools/types.js +2 -0
- package/dist/agent-tools/types.js.map +1 -0
- package/dist/ai/execution-controller.d.ts +62 -0
- package/dist/ai/execution-controller.d.ts.map +1 -0
- package/dist/ai/execution-controller.js +117 -0
- package/dist/ai/execution-controller.js.map +1 -0
- package/dist/ai/index.d.ts +3 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +2 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai-context/engine.d.ts +85 -0
- package/dist/ai-context/engine.d.ts.map +1 -0
- package/dist/ai-context/engine.js +173 -0
- package/dist/ai-context/engine.js.map +1 -0
- package/dist/ai-context/index.d.ts +3 -0
- package/dist/ai-context/index.d.ts.map +1 -0
- package/dist/ai-context/index.js +2 -0
- package/dist/ai-context/index.js.map +1 -0
- package/dist/ai-router/index.d.ts +3 -0
- package/dist/ai-router/index.d.ts.map +1 -0
- package/dist/ai-router/index.js +2 -0
- package/dist/ai-router/index.js.map +1 -0
- package/dist/ai-router/router.d.ts +68 -0
- package/dist/ai-router/router.d.ts.map +1 -0
- package/dist/ai-router/router.js +260 -0
- package/dist/ai-router/router.js.map +1 -0
- package/dist/async-jobs/context-resolver-planner.d.ts +35 -0
- package/dist/async-jobs/context-resolver-planner.d.ts.map +1 -0
- package/dist/async-jobs/context-resolver-planner.js +324 -0
- package/dist/async-jobs/context-resolver-planner.js.map +1 -0
- package/dist/async-jobs/gateway-worker.d.ts +22 -0
- package/dist/async-jobs/gateway-worker.d.ts.map +1 -0
- package/dist/async-jobs/gateway-worker.js +53 -0
- package/dist/async-jobs/gateway-worker.js.map +1 -0
- package/dist/async-jobs/job-delivery.d.ts +16 -0
- package/dist/async-jobs/job-delivery.d.ts.map +1 -0
- package/dist/async-jobs/job-delivery.js +30 -0
- package/dist/async-jobs/job-delivery.js.map +1 -0
- package/dist/async-jobs/job-runner.d.ts +39 -0
- package/dist/async-jobs/job-runner.d.ts.map +1 -0
- package/dist/async-jobs/job-runner.js +67 -0
- package/dist/async-jobs/job-runner.js.map +1 -0
- package/dist/async-jobs/job-store.d.ts +27 -0
- package/dist/async-jobs/job-store.d.ts.map +1 -0
- package/dist/async-jobs/job-store.js +168 -0
- package/dist/async-jobs/job-store.js.map +1 -0
- package/dist/async-jobs/job-types.d.ts +59 -0
- package/dist/async-jobs/job-types.d.ts.map +1 -0
- package/dist/async-jobs/job-types.js +2 -0
- package/dist/async-jobs/job-types.js.map +1 -0
- package/dist/async-jobs/job-utils.d.ts +16 -0
- package/dist/async-jobs/job-utils.d.ts.map +1 -0
- package/dist/async-jobs/job-utils.js +72 -0
- package/dist/async-jobs/job-utils.js.map +1 -0
- package/dist/async-jobs/job-worker.d.ts +31 -0
- package/dist/async-jobs/job-worker.d.ts.map +1 -0
- package/dist/async-jobs/job-worker.js +60 -0
- package/dist/async-jobs/job-worker.js.map +1 -0
- package/dist/async-jobs/message-triage-planner.d.ts +52 -0
- package/dist/async-jobs/message-triage-planner.d.ts.map +1 -0
- package/dist/async-jobs/message-triage-planner.js +262 -0
- package/dist/async-jobs/message-triage-planner.js.map +1 -0
- package/dist/async-jobs/request-controller.d.ts +65 -0
- package/dist/async-jobs/request-controller.d.ts.map +1 -0
- package/dist/async-jobs/request-controller.js +471 -0
- package/dist/async-jobs/request-controller.js.map +1 -0
- package/dist/async-jobs/routing-context.d.ts +12 -0
- package/dist/async-jobs/routing-context.d.ts.map +1 -0
- package/dist/async-jobs/routing-context.js +15 -0
- package/dist/async-jobs/routing-context.js.map +1 -0
- package/dist/async-jobs/tool-intent-planner.d.ts +51 -0
- package/dist/async-jobs/tool-intent-planner.d.ts.map +1 -0
- package/dist/async-jobs/tool-intent-planner.js +241 -0
- package/dist/async-jobs/tool-intent-planner.js.map +1 -0
- package/dist/async-jobs/tool-processor.d.ts +31 -0
- package/dist/async-jobs/tool-processor.d.ts.map +1 -0
- package/dist/async-jobs/tool-processor.js +263 -0
- package/dist/async-jobs/tool-processor.js.map +1 -0
- package/dist/auth/session-admin.d.ts +19 -0
- package/dist/auth/session-admin.d.ts.map +1 -0
- package/dist/auth/session-admin.js +52 -0
- package/dist/auth/session-admin.js.map +1 -0
- package/dist/chat-registry/aliases.d.ts +55 -0
- package/dist/chat-registry/aliases.d.ts.map +1 -0
- package/dist/chat-registry/aliases.js +170 -0
- package/dist/chat-registry/aliases.js.map +1 -0
- package/dist/chat-registry/index.d.ts +3 -0
- package/dist/chat-registry/index.d.ts.map +1 -0
- package/dist/chat-registry/index.js +2 -0
- package/dist/chat-registry/index.js.map +1 -0
- package/dist/chat-registry/service.d.ts +54 -0
- package/dist/chat-registry/service.d.ts.map +1 -0
- package/dist/chat-registry/service.js +224 -0
- package/dist/chat-registry/service.js.map +1 -0
- package/dist/chat-state/execution-gate.d.ts +66 -0
- package/dist/chat-state/execution-gate.d.ts.map +1 -0
- package/dist/chat-state/execution-gate.js +143 -0
- package/dist/chat-state/execution-gate.js.map +1 -0
- package/dist/chat-state/index.d.ts +7 -0
- package/dist/chat-state/index.d.ts.map +1 -0
- package/dist/chat-state/index.js +4 -0
- package/dist/chat-state/index.js.map +1 -0
- package/dist/chat-state/invariants.d.ts +32 -0
- package/dist/chat-state/invariants.d.ts.map +1 -0
- package/dist/chat-state/invariants.js +95 -0
- package/dist/chat-state/invariants.js.map +1 -0
- package/dist/chat-state/store.d.ts +55 -0
- package/dist/chat-state/store.d.ts.map +1 -0
- package/dist/chat-state/store.js +220 -0
- package/dist/chat-state/store.js.map +1 -0
- package/dist/cli/admin-inspection.d.ts +17 -0
- package/dist/cli/admin-inspection.d.ts.map +1 -0
- package/dist/cli/admin-inspection.js +161 -0
- package/dist/cli/admin-inspection.js.map +1 -0
- package/dist/cli/connector-admin.d.ts +2 -0
- package/dist/cli/connector-admin.d.ts.map +1 -0
- package/dist/cli/connector-admin.js +28 -0
- package/dist/cli/connector-admin.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +709 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/chatbot-config.d.ts +108 -0
- package/dist/config/chatbot-config.d.ts.map +1 -0
- package/dist/config/chatbot-config.js +280 -0
- package/dist/config/chatbot-config.js.map +1 -0
- package/dist/config/config-editor.d.ts +16 -0
- package/dist/config/config-editor.d.ts.map +1 -0
- package/dist/config/config-editor.js +367 -0
- package/dist/config/config-editor.js.map +1 -0
- package/dist/config/local-env-editor.d.ts +22 -0
- package/dist/config/local-env-editor.d.ts.map +1 -0
- package/dist/config/local-env-editor.js +129 -0
- package/dist/config/local-env-editor.js.map +1 -0
- package/dist/config/runtime-feature-flags.d.ts +19 -0
- package/dist/config/runtime-feature-flags.d.ts.map +1 -0
- package/dist/config/runtime-feature-flags.js +39 -0
- package/dist/config/runtime-feature-flags.js.map +1 -0
- package/dist/connectors/audit.d.ts +32 -0
- package/dist/connectors/audit.d.ts.map +1 -0
- package/dist/connectors/audit.js +77 -0
- package/dist/connectors/audit.js.map +1 -0
- package/dist/connectors/config.d.ts +9 -0
- package/dist/connectors/config.d.ts.map +1 -0
- package/dist/connectors/config.js +66 -0
- package/dist/connectors/config.js.map +1 -0
- package/dist/connectors/dns-guard.d.ts +7 -0
- package/dist/connectors/dns-guard.d.ts.map +1 -0
- package/dist/connectors/dns-guard.js +70 -0
- package/dist/connectors/dns-guard.js.map +1 -0
- package/dist/connectors/executor.d.ts +30 -0
- package/dist/connectors/executor.d.ts.map +1 -0
- package/dist/connectors/executor.js +80 -0
- package/dist/connectors/executor.js.map +1 -0
- package/dist/connectors/manifest.d.ts +18 -0
- package/dist/connectors/manifest.d.ts.map +1 -0
- package/dist/connectors/manifest.js +72 -0
- package/dist/connectors/manifest.js.map +1 -0
- package/dist/connectors/runner.d.ts +17 -0
- package/dist/connectors/runner.d.ts.map +1 -0
- package/dist/connectors/runner.js +36 -0
- package/dist/connectors/runner.js.map +1 -0
- package/dist/connectors/url-guard.d.ts +7 -0
- package/dist/connectors/url-guard.d.ts.map +1 -0
- package/dist/connectors/url-guard.js +50 -0
- package/dist/connectors/url-guard.js.map +1 -0
- package/dist/conversation/connector-command-controller.d.ts +31 -0
- package/dist/conversation/connector-command-controller.d.ts.map +1 -0
- package/dist/conversation/connector-command-controller.js +105 -0
- package/dist/conversation/connector-command-controller.js.map +1 -0
- package/dist/conversation/context-command-controller.d.ts +23 -0
- package/dist/conversation/context-command-controller.d.ts.map +1 -0
- package/dist/conversation/context-command-controller.js +184 -0
- package/dist/conversation/context-command-controller.js.map +1 -0
- package/dist/conversation/group-reply-policy.d.ts +3 -0
- package/dist/conversation/group-reply-policy.d.ts.map +1 -0
- package/dist/conversation/group-reply-policy.js +17 -0
- package/dist/conversation/group-reply-policy.js.map +1 -0
- package/dist/conversation/index.d.ts +3 -0
- package/dist/conversation/index.d.ts.map +1 -0
- package/dist/conversation/index.js +2 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/conversation/lock-manager.d.ts +47 -0
- package/dist/conversation/lock-manager.d.ts.map +1 -0
- package/dist/conversation/lock-manager.js +144 -0
- package/dist/conversation/lock-manager.js.map +1 -0
- package/dist/conversation/memory-trace.d.ts +16 -0
- package/dist/conversation/memory-trace.d.ts.map +1 -0
- package/dist/conversation/memory-trace.js +13 -0
- package/dist/conversation/memory-trace.js.map +1 -0
- package/dist/conversation/natural-schedule-command-controller.d.ts +21 -0
- package/dist/conversation/natural-schedule-command-controller.d.ts.map +1 -0
- package/dist/conversation/natural-schedule-command-controller.js +180 -0
- package/dist/conversation/natural-schedule-command-controller.js.map +1 -0
- package/dist/conversation/ops.d.ts +75 -0
- package/dist/conversation/ops.d.ts.map +1 -0
- package/dist/conversation/ops.js +169 -0
- package/dist/conversation/ops.js.map +1 -0
- package/dist/conversation/owner-action-command-controller.d.ts +25 -0
- package/dist/conversation/owner-action-command-controller.d.ts.map +1 -0
- package/dist/conversation/owner-action-command-controller.js +90 -0
- package/dist/conversation/owner-action-command-controller.js.map +1 -0
- package/dist/conversation/owner-action-planner.d.ts +28 -0
- package/dist/conversation/owner-action-planner.d.ts.map +1 -0
- package/dist/conversation/owner-action-planner.js +99 -0
- package/dist/conversation/owner-action-planner.js.map +1 -0
- package/dist/conversation/rate-limiter.d.ts +22 -0
- package/dist/conversation/rate-limiter.d.ts.map +1 -0
- package/dist/conversation/rate-limiter.js +66 -0
- package/dist/conversation/rate-limiter.js.map +1 -0
- package/dist/conversation/runtime-admin-media.d.ts +11 -0
- package/dist/conversation/runtime-admin-media.d.ts.map +1 -0
- package/dist/conversation/runtime-admin-media.js +31 -0
- package/dist/conversation/runtime-admin-media.js.map +1 -0
- package/dist/conversation/runtime-group.d.ts +13 -0
- package/dist/conversation/runtime-group.d.ts.map +1 -0
- package/dist/conversation/runtime-group.js +96 -0
- package/dist/conversation/runtime-group.js.map +1 -0
- package/dist/conversation/runtime-impl.d.ts +90 -0
- package/dist/conversation/runtime-impl.d.ts.map +1 -0
- package/dist/conversation/runtime-impl.js +452 -0
- package/dist/conversation/runtime-impl.js.map +1 -0
- package/dist/conversation/runtime-kb.d.ts +36 -0
- package/dist/conversation/runtime-kb.d.ts.map +1 -0
- package/dist/conversation/runtime-kb.js +123 -0
- package/dist/conversation/runtime-kb.js.map +1 -0
- package/dist/conversation/runtime-media.d.ts +28 -0
- package/dist/conversation/runtime-media.d.ts.map +1 -0
- package/dist/conversation/runtime-media.js +93 -0
- package/dist/conversation/runtime-media.js.map +1 -0
- package/dist/conversation/runtime-production.d.ts +36 -0
- package/dist/conversation/runtime-production.d.ts.map +1 -0
- package/dist/conversation/runtime-production.js +274 -0
- package/dist/conversation/runtime-production.js.map +1 -0
- package/dist/conversation/runtime-timing.d.ts +2 -0
- package/dist/conversation/runtime-timing.d.ts.map +1 -0
- package/dist/conversation/runtime-timing.js +2 -0
- package/dist/conversation/runtime-timing.js.map +1 -0
- package/dist/conversation/runtime.d.ts +3 -0
- package/dist/conversation/runtime.d.ts.map +1 -0
- package/dist/conversation/runtime.js +2 -0
- package/dist/conversation/runtime.js.map +1 -0
- package/dist/conversation/secure-tool-natural-language-controller.d.ts +67 -0
- package/dist/conversation/secure-tool-natural-language-controller.d.ts.map +1 -0
- package/dist/conversation/secure-tool-natural-language-controller.js +634 -0
- package/dist/conversation/secure-tool-natural-language-controller.js.map +1 -0
- package/dist/conversation/secure-tool-routing.d.ts +5 -0
- package/dist/conversation/secure-tool-routing.d.ts.map +1 -0
- package/dist/conversation/secure-tool-routing.js +91 -0
- package/dist/conversation/secure-tool-routing.js.map +1 -0
- package/dist/conversation/secure-tool-runtime-utils.d.ts +4 -0
- package/dist/conversation/secure-tool-runtime-utils.d.ts.map +1 -0
- package/dist/conversation/secure-tool-runtime-utils.js +19 -0
- package/dist/conversation/secure-tool-runtime-utils.js.map +1 -0
- package/dist/conversation/slash-command.d.ts +8 -0
- package/dist/conversation/slash-command.d.ts.map +1 -0
- package/dist/conversation/slash-command.js +13 -0
- package/dist/conversation/slash-command.js.map +1 -0
- package/dist/conversation/target-resolver.d.ts +7 -0
- package/dist/conversation/target-resolver.d.ts.map +1 -0
- package/dist/conversation/target-resolver.js +23 -0
- package/dist/conversation/target-resolver.js.map +1 -0
- package/dist/copilot/engine.d.ts +102 -0
- package/dist/copilot/engine.d.ts.map +1 -0
- package/dist/copilot/engine.js +222 -0
- package/dist/copilot/engine.js.map +1 -0
- package/dist/copilot/index.d.ts +3 -0
- package/dist/copilot/index.d.ts.map +1 -0
- package/dist/copilot/index.js +2 -0
- package/dist/copilot/index.js.map +1 -0
- package/dist/database/index.d.ts +135 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +331 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/path.d.ts +2 -0
- package/dist/database/path.d.ts.map +1 -0
- package/dist/database/path.js +5 -0
- package/dist/database/path.js.map +1 -0
- package/dist/event-bus/index.d.ts +153 -0
- package/dist/event-bus/index.d.ts.map +1 -0
- package/dist/event-bus/index.js +118 -0
- package/dist/event-bus/index.js.map +1 -0
- package/dist/event-sourcing/index.d.ts +3 -0
- package/dist/event-sourcing/index.d.ts.map +1 -0
- package/dist/event-sourcing/index.js +2 -0
- package/dist/event-sourcing/index.js.map +1 -0
- package/dist/event-sourcing/store.d.ts +54 -0
- package/dist/event-sourcing/store.d.ts.map +1 -0
- package/dist/event-sourcing/store.js +169 -0
- package/dist/event-sourcing/store.js.map +1 -0
- package/dist/gateway/auth/index.d.ts +5 -0
- package/dist/gateway/auth/index.d.ts.map +1 -0
- package/dist/gateway/auth/index.js +5 -0
- package/dist/gateway/auth/index.js.map +1 -0
- package/dist/gateway/auth/store.d.ts +44 -0
- package/dist/gateway/auth/store.d.ts.map +1 -0
- package/dist/gateway/auth/store.js +387 -0
- package/dist/gateway/auth/store.js.map +1 -0
- package/dist/gateway/bootstrap.d.ts +2 -0
- package/dist/gateway/bootstrap.d.ts.map +1 -0
- package/dist/gateway/bootstrap.js +8 -0
- package/dist/gateway/bootstrap.js.map +1 -0
- package/dist/gateway/conn-state-machine.d.ts +25 -0
- package/dist/gateway/conn-state-machine.d.ts.map +1 -0
- package/dist/gateway/conn-state-machine.js +39 -0
- package/dist/gateway/conn-state-machine.js.map +1 -0
- package/dist/gateway/connection-state.d.ts +22 -0
- package/dist/gateway/connection-state.d.ts.map +1 -0
- package/dist/gateway/connection-state.js +60 -0
- package/dist/gateway/connection-state.js.map +1 -0
- package/dist/gateway/events/handler.d.ts +75 -0
- package/dist/gateway/events/handler.d.ts.map +1 -0
- package/dist/gateway/events/handler.js +164 -0
- package/dist/gateway/events/handler.js.map +1 -0
- package/dist/gateway/events/index.d.ts +3 -0
- package/dist/gateway/events/index.d.ts.map +1 -0
- package/dist/gateway/events/index.js +2 -0
- package/dist/gateway/events/index.js.map +1 -0
- package/dist/gateway/exit-shutdown.d.ts +5 -0
- package/dist/gateway/exit-shutdown.d.ts.map +1 -0
- package/dist/gateway/exit-shutdown.js +12 -0
- package/dist/gateway/exit-shutdown.js.map +1 -0
- package/dist/gateway/group-activation.d.ts +25 -0
- package/dist/gateway/group-activation.d.ts.map +1 -0
- package/dist/gateway/group-activation.js +78 -0
- package/dist/gateway/group-activation.js.map +1 -0
- package/dist/gateway/health/index.d.ts +3 -0
- package/dist/gateway/health/index.d.ts.map +1 -0
- package/dist/gateway/health/index.js +2 -0
- package/dist/gateway/health/index.js.map +1 -0
- package/dist/gateway/health/monitor.d.ts +63 -0
- package/dist/gateway/health/monitor.d.ts.map +1 -0
- package/dist/gateway/health/monitor.js +94 -0
- package/dist/gateway/health/monitor.js.map +1 -0
- package/dist/gateway/index.d.ts +12 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +10 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/logger.d.ts +8 -0
- package/dist/gateway/logger.d.ts.map +1 -0
- package/dist/gateway/logger.js +12 -0
- package/dist/gateway/logger.js.map +1 -0
- package/dist/gateway/media-queue-worker-runtime.d.ts +16 -0
- package/dist/gateway/media-queue-worker-runtime.d.ts.map +1 -0
- package/dist/gateway/media-queue-worker-runtime.js +35 -0
- package/dist/gateway/media-queue-worker-runtime.js.map +1 -0
- package/dist/gateway/message-buffer.d.ts +9 -0
- package/dist/gateway/message-buffer.d.ts.map +1 -0
- package/dist/gateway/message-buffer.js +16 -0
- package/dist/gateway/message-buffer.js.map +1 -0
- package/dist/gateway/outgoing-messages.d.ts +4 -0
- package/dist/gateway/outgoing-messages.d.ts.map +1 -0
- package/dist/gateway/outgoing-messages.js +25 -0
- package/dist/gateway/outgoing-messages.js.map +1 -0
- package/dist/gateway/process-lifecycle.d.ts +8 -0
- package/dist/gateway/process-lifecycle.d.ts.map +1 -0
- package/dist/gateway/process-lifecycle.js +14 -0
- package/dist/gateway/process-lifecycle.js.map +1 -0
- package/dist/gateway/process-safety.d.ts +14 -0
- package/dist/gateway/process-safety.d.ts.map +1 -0
- package/dist/gateway/process-safety.js +48 -0
- package/dist/gateway/process-safety.js.map +1 -0
- package/dist/gateway/reconnect/index.d.ts +3 -0
- package/dist/gateway/reconnect/index.d.ts.map +1 -0
- package/dist/gateway/reconnect/index.js +2 -0
- package/dist/gateway/reconnect/index.js.map +1 -0
- package/dist/gateway/reconnect/manager.d.ts +59 -0
- package/dist/gateway/reconnect/manager.d.ts.map +1 -0
- package/dist/gateway/reconnect/manager.js +195 -0
- package/dist/gateway/reconnect/manager.js.map +1 -0
- package/dist/gateway/self-echo-guard.d.ts +2 -0
- package/dist/gateway/self-echo-guard.d.ts.map +1 -0
- package/dist/gateway/self-echo-guard.js +31 -0
- package/dist/gateway/self-echo-guard.js.map +1 -0
- package/dist/gateway/server.d.ts +61 -0
- package/dist/gateway/server.d.ts.map +1 -0
- package/dist/gateway/server.js +947 -0
- package/dist/gateway/server.js.map +1 -0
- package/dist/gateway/shutdown-registry.d.ts +5 -0
- package/dist/gateway/shutdown-registry.d.ts.map +1 -0
- package/dist/gateway/shutdown-registry.js +20 -0
- package/dist/gateway/shutdown-registry.js.map +1 -0
- package/dist/gateway/socket/connection.d.ts +45 -0
- package/dist/gateway/socket/connection.d.ts.map +1 -0
- package/dist/gateway/socket/connection.js +198 -0
- package/dist/gateway/socket/connection.js.map +1 -0
- package/dist/gateway/socket/index.d.ts +3 -0
- package/dist/gateway/socket/index.d.ts.map +1 -0
- package/dist/gateway/socket/index.js +3 -0
- package/dist/gateway/socket/index.js.map +1 -0
- package/dist/gateway/sync-mutex.d.ts +13 -0
- package/dist/gateway/sync-mutex.d.ts.map +1 -0
- package/dist/gateway/sync-mutex.js +26 -0
- package/dist/gateway/sync-mutex.js.map +1 -0
- package/dist/gateway/text-media.d.ts +23 -0
- package/dist/gateway/text-media.d.ts.map +1 -0
- package/dist/gateway/text-media.js +30 -0
- package/dist/gateway/text-media.js.map +1 -0
- package/dist/group-intel/engine.d.ts +77 -0
- package/dist/group-intel/engine.d.ts.map +1 -0
- package/dist/group-intel/engine.js +197 -0
- package/dist/group-intel/engine.js.map +1 -0
- package/dist/group-intel/index.d.ts +3 -0
- package/dist/group-intel/index.d.ts.map +1 -0
- package/dist/group-intel/index.js +2 -0
- package/dist/group-intel/index.js.map +1 -0
- package/dist/intent/classifier.d.ts +17 -0
- package/dist/intent/classifier.d.ts.map +1 -0
- package/dist/intent/classifier.js +89 -0
- package/dist/intent/classifier.js.map +1 -0
- package/dist/kb/store.d.ts +38 -0
- package/dist/kb/store.d.ts.map +1 -0
- package/dist/kb/store.js +114 -0
- package/dist/kb/store.js.map +1 -0
- package/dist/llm/audit.d.ts +70 -0
- package/dist/llm/audit.d.ts.map +1 -0
- package/dist/llm/audit.js +281 -0
- package/dist/llm/audit.js.map +1 -0
- package/dist/llm/base-provider.d.ts +46 -0
- package/dist/llm/base-provider.d.ts.map +1 -0
- package/dist/llm/base-provider.js +158 -0
- package/dist/llm/base-provider.js.map +1 -0
- package/dist/llm/config.d.ts +32 -0
- package/dist/llm/config.d.ts.map +1 -0
- package/dist/llm/config.js +125 -0
- package/dist/llm/config.js.map +1 -0
- package/dist/llm/direct-tool-guard.d.ts +8 -0
- package/dist/llm/direct-tool-guard.d.ts.map +1 -0
- package/dist/llm/direct-tool-guard.js +36 -0
- package/dist/llm/direct-tool-guard.js.map +1 -0
- package/dist/llm/engine.d.ts +44 -0
- package/dist/llm/engine.d.ts.map +1 -0
- package/dist/llm/engine.js +327 -0
- package/dist/llm/engine.js.map +1 -0
- package/dist/llm/index.d.ts +8 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +8 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/model-settings.d.ts +57 -0
- package/dist/llm/model-settings.d.ts.map +1 -0
- package/dist/llm/model-settings.js +184 -0
- package/dist/llm/model-settings.js.map +1 -0
- package/dist/llm/ocr-client.d.ts +19 -0
- package/dist/llm/ocr-client.d.ts.map +1 -0
- package/dist/llm/ocr-client.js +94 -0
- package/dist/llm/ocr-client.js.map +1 -0
- package/dist/llm/ocr-errors.d.ts +15 -0
- package/dist/llm/ocr-errors.d.ts.map +1 -0
- package/dist/llm/ocr-errors.js +42 -0
- package/dist/llm/ocr-errors.js.map +1 -0
- package/dist/llm/ocr-registry.d.ts +33 -0
- package/dist/llm/ocr-registry.d.ts.map +1 -0
- package/dist/llm/ocr-registry.js +129 -0
- package/dist/llm/ocr-registry.js.map +1 -0
- package/dist/llm/ocr-types.d.ts +53 -0
- package/dist/llm/ocr-types.d.ts.map +1 -0
- package/dist/llm/ocr-types.js +11 -0
- package/dist/llm/ocr-types.js.map +1 -0
- package/dist/llm/providers/anthropic-ocr.d.ts +3 -0
- package/dist/llm/providers/anthropic-ocr.d.ts.map +1 -0
- package/dist/llm/providers/anthropic-ocr.js +32 -0
- package/dist/llm/providers/anthropic-ocr.js.map +1 -0
- package/dist/llm/providers/custom-ocr.d.ts +3 -0
- package/dist/llm/providers/custom-ocr.d.ts.map +1 -0
- package/dist/llm/providers/custom-ocr.js +20 -0
- package/dist/llm/providers/custom-ocr.js.map +1 -0
- package/dist/llm/providers/gemini-ocr.d.ts +3 -0
- package/dist/llm/providers/gemini-ocr.d.ts.map +1 -0
- package/dist/llm/providers/gemini-ocr.js +26 -0
- package/dist/llm/providers/gemini-ocr.js.map +1 -0
- package/dist/llm/providers/http-ocr.d.ts +12 -0
- package/dist/llm/providers/http-ocr.d.ts.map +1 -0
- package/dist/llm/providers/http-ocr.js +135 -0
- package/dist/llm/providers/http-ocr.js.map +1 -0
- package/dist/llm/providers/local-ocr.d.ts +3 -0
- package/dist/llm/providers/local-ocr.d.ts.map +1 -0
- package/dist/llm/providers/local-ocr.js +19 -0
- package/dist/llm/providers/local-ocr.js.map +1 -0
- package/dist/llm/providers/ollama-ocr.d.ts +3 -0
- package/dist/llm/providers/ollama-ocr.d.ts.map +1 -0
- package/dist/llm/providers/ollama-ocr.js +18 -0
- package/dist/llm/providers/ollama-ocr.js.map +1 -0
- package/dist/llm/providers/openai-compat.d.ts +26 -0
- package/dist/llm/providers/openai-compat.d.ts.map +1 -0
- package/dist/llm/providers/openai-compat.js +284 -0
- package/dist/llm/providers/openai-compat.js.map +1 -0
- package/dist/llm/providers/openai-compatible-ocr.d.ts +3 -0
- package/dist/llm/providers/openai-compatible-ocr.d.ts.map +1 -0
- package/dist/llm/providers/openai-compatible-ocr.js +21 -0
- package/dist/llm/providers/openai-compatible-ocr.js.map +1 -0
- package/dist/llm/providers/openai-ocr.d.ts +3 -0
- package/dist/llm/providers/openai-ocr.d.ts.map +1 -0
- package/dist/llm/providers/openai-ocr.js +25 -0
- package/dist/llm/providers/openai-ocr.js.map +1 -0
- package/dist/llm/providers/openrouter-ocr.d.ts +3 -0
- package/dist/llm/providers/openrouter-ocr.d.ts.map +1 -0
- package/dist/llm/providers/openrouter-ocr.js +21 -0
- package/dist/llm/providers/openrouter-ocr.js.map +1 -0
- package/dist/llm/response-sanitizer.d.ts +3 -0
- package/dist/llm/response-sanitizer.d.ts.map +1 -0
- package/dist/llm/response-sanitizer.js +122 -0
- package/dist/llm/response-sanitizer.js.map +1 -0
- package/dist/llm/router.d.ts +29 -0
- package/dist/llm/router.d.ts.map +1 -0
- package/dist/llm/router.js +167 -0
- package/dist/llm/router.js.map +1 -0
- package/dist/llm/safety.d.ts +15 -0
- package/dist/llm/safety.d.ts.map +1 -0
- package/dist/llm/safety.js +48 -0
- package/dist/llm/safety.js.map +1 -0
- package/dist/llm/search-planner.d.ts +4 -0
- package/dist/llm/search-planner.d.ts.map +1 -0
- package/dist/llm/search-planner.js +49 -0
- package/dist/llm/search-planner.js.map +1 -0
- package/dist/llm/task-router.d.ts +19 -0
- package/dist/llm/task-router.d.ts.map +1 -0
- package/dist/llm/task-router.js +70 -0
- package/dist/llm/task-router.js.map +1 -0
- package/dist/llm/types.d.ts +161 -0
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +45 -0
- package/dist/llm/types.js.map +1 -0
- package/dist/media/command-controller.d.ts +15 -0
- package/dist/media/command-controller.d.ts.map +1 -0
- package/dist/media/command-controller.js +122 -0
- package/dist/media/command-controller.js.map +1 -0
- package/dist/media/command-parse.d.ts +2 -0
- package/dist/media/command-parse.d.ts.map +1 -0
- package/dist/media/command-parse.js +5 -0
- package/dist/media/command-parse.js.map +1 -0
- package/dist/media/index.d.ts +13 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +7 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/policy.d.ts +23 -0
- package/dist/media/policy.d.ts.map +1 -0
- package/dist/media/policy.js +125 -0
- package/dist/media/policy.js.map +1 -0
- package/dist/media/prep-router.d.ts +24 -0
- package/dist/media/prep-router.d.ts.map +1 -0
- package/dist/media/prep-router.js +79 -0
- package/dist/media/prep-router.js.map +1 -0
- package/dist/media/prep.d.ts +22 -0
- package/dist/media/prep.d.ts.map +1 -0
- package/dist/media/prep.js +74 -0
- package/dist/media/prep.js.map +1 -0
- package/dist/media/queue-admin.d.ts +10 -0
- package/dist/media/queue-admin.d.ts.map +1 -0
- package/dist/media/queue-admin.js +47 -0
- package/dist/media/queue-admin.js.map +1 -0
- package/dist/media/queue-runner.d.ts +28 -0
- package/dist/media/queue-runner.d.ts.map +1 -0
- package/dist/media/queue-runner.js +71 -0
- package/dist/media/queue-runner.js.map +1 -0
- package/dist/media/queue-store.d.ts +27 -0
- package/dist/media/queue-store.d.ts.map +1 -0
- package/dist/media/queue-store.js +147 -0
- package/dist/media/queue-store.js.map +1 -0
- package/dist/media/queue-types.d.ts +71 -0
- package/dist/media/queue-types.d.ts.map +1 -0
- package/dist/media/queue-types.js +2 -0
- package/dist/media/queue-types.js.map +1 -0
- package/dist/media/queue-utils.d.ts +9 -0
- package/dist/media/queue-utils.d.ts.map +1 -0
- package/dist/media/queue-utils.js +52 -0
- package/dist/media/queue-utils.js.map +1 -0
- package/dist/media/queue-worker.d.ts +31 -0
- package/dist/media/queue-worker.d.ts.map +1 -0
- package/dist/media/queue-worker.js +58 -0
- package/dist/media/queue-worker.js.map +1 -0
- package/dist/media/reliability.d.ts +58 -0
- package/dist/media/reliability.d.ts.map +1 -0
- package/dist/media/reliability.js +240 -0
- package/dist/media/reliability.js.map +1 -0
- package/dist/media/service.d.ts +53 -0
- package/dist/media/service.d.ts.map +1 -0
- package/dist/media/service.js +238 -0
- package/dist/media/service.js.map +1 -0
- package/dist/media/text-extractor.d.ts +23 -0
- package/dist/media/text-extractor.d.ts.map +1 -0
- package/dist/media/text-extractor.js +66 -0
- package/dist/media/text-extractor.js.map +1 -0
- package/dist/media/text-format.d.ts +10 -0
- package/dist/media/text-format.d.ts.map +1 -0
- package/dist/media/text-format.js +19 -0
- package/dist/media/text-format.js.map +1 -0
- package/dist/media-orchestration/engine.d.ts +74 -0
- package/dist/media-orchestration/engine.d.ts.map +1 -0
- package/dist/media-orchestration/engine.js +155 -0
- package/dist/media-orchestration/engine.js.map +1 -0
- package/dist/media-orchestration/index.d.ts +3 -0
- package/dist/media-orchestration/index.d.ts.map +1 -0
- package/dist/media-orchestration/index.js +2 -0
- package/dist/media-orchestration/index.js.map +1 -0
- package/dist/memory/index.d.ts +3 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/persistent.d.ts +78 -0
- package/dist/memory/persistent.d.ts.map +1 -0
- package/dist/memory/persistent.js +254 -0
- package/dist/memory/persistent.js.map +1 -0
- package/dist/memory-isolation/engine.d.ts +83 -0
- package/dist/memory-isolation/engine.d.ts.map +1 -0
- package/dist/memory-isolation/engine.js +247 -0
- package/dist/memory-isolation/engine.js.map +1 -0
- package/dist/memory-isolation/index.d.ts +3 -0
- package/dist/memory-isolation/index.d.ts.map +1 -0
- package/dist/memory-isolation/index.js +2 -0
- package/dist/memory-isolation/index.js.map +1 -0
- package/dist/message-dedupe/engine.d.ts +67 -0
- package/dist/message-dedupe/engine.d.ts.map +1 -0
- package/dist/message-dedupe/engine.js +208 -0
- package/dist/message-dedupe/engine.js.map +1 -0
- package/dist/message-dedupe/index.d.ts +3 -0
- package/dist/message-dedupe/index.d.ts.map +1 -0
- package/dist/message-dedupe/index.js +2 -0
- package/dist/message-dedupe/index.js.map +1 -0
- package/dist/monitoring/index.d.ts +3 -0
- package/dist/monitoring/index.d.ts.map +1 -0
- package/dist/monitoring/index.js +2 -0
- package/dist/monitoring/index.js.map +1 -0
- package/dist/monitoring/leak-detector.d.ts +63 -0
- package/dist/monitoring/leak-detector.d.ts.map +1 -0
- package/dist/monitoring/leak-detector.js +169 -0
- package/dist/monitoring/leak-detector.js.map +1 -0
- package/dist/monitoring/runtime-health.d.ts +14 -0
- package/dist/monitoring/runtime-health.d.ts.map +1 -0
- package/dist/monitoring/runtime-health.js +82 -0
- package/dist/monitoring/runtime-health.js.map +1 -0
- package/dist/observability/safe-log.d.ts +3 -0
- package/dist/observability/safe-log.d.ts.map +1 -0
- package/dist/observability/safe-log.js +22 -0
- package/dist/observability/safe-log.js.map +1 -0
- package/dist/outbound/index.d.ts +3 -0
- package/dist/outbound/index.d.ts.map +1 -0
- package/dist/outbound/index.js +2 -0
- package/dist/outbound/index.js.map +1 -0
- package/dist/outbound/ledger.d.ts +78 -0
- package/dist/outbound/ledger.d.ts.map +1 -0
- package/dist/outbound/ledger.js +143 -0
- package/dist/outbound/ledger.js.map +1 -0
- package/dist/owner/config.d.ts +43 -0
- package/dist/owner/config.d.ts.map +1 -0
- package/dist/owner/config.js +110 -0
- package/dist/owner/config.js.map +1 -0
- package/dist/owner/help.d.ts +2 -0
- package/dist/owner/help.d.ts.map +1 -0
- package/dist/owner/help.js +96 -0
- package/dist/owner/help.js.map +1 -0
- package/dist/owner/identity.d.ts +45 -0
- package/dist/owner/identity.d.ts.map +1 -0
- package/dist/owner/identity.js +155 -0
- package/dist/owner/identity.js.map +1 -0
- package/dist/owner/index.d.ts +7 -0
- package/dist/owner/index.d.ts.map +1 -0
- package/dist/owner/index.js +4 -0
- package/dist/owner/index.js.map +1 -0
- package/dist/owner/ocr-help.d.ts +2 -0
- package/dist/owner/ocr-help.d.ts.map +1 -0
- package/dist/owner/ocr-help.js +13 -0
- package/dist/owner/ocr-help.js.map +1 -0
- package/dist/owner/router.d.ts +47 -0
- package/dist/owner/router.d.ts.map +1 -0
- package/dist/owner/router.js +229 -0
- package/dist/owner/router.js.map +1 -0
- package/dist/prompts/registry.d.ts +19 -0
- package/dist/prompts/registry.d.ts.map +1 -0
- package/dist/prompts/registry.js +64 -0
- package/dist/prompts/registry.js.map +1 -0
- package/dist/scheduler/alias-planner.d.ts +9 -0
- package/dist/scheduler/alias-planner.d.ts.map +1 -0
- package/dist/scheduler/alias-planner.js +57 -0
- package/dist/scheduler/alias-planner.js.map +1 -0
- package/dist/scheduler/runner.d.ts +16 -0
- package/dist/scheduler/runner.d.ts.map +1 -0
- package/dist/scheduler/runner.js +40 -0
- package/dist/scheduler/runner.js.map +1 -0
- package/dist/scheduler/store.d.ts +35 -0
- package/dist/scheduler/store.d.ts.map +1 -0
- package/dist/scheduler/store.js +104 -0
- package/dist/scheduler/store.js.map +1 -0
- package/dist/scheduler/time.d.ts +8 -0
- package/dist/scheduler/time.d.ts.map +1 -0
- package/dist/scheduler/time.js +248 -0
- package/dist/scheduler/time.js.map +1 -0
- package/dist/security/backup.d.ts +69 -0
- package/dist/security/backup.d.ts.map +1 -0
- package/dist/security/backup.js +319 -0
- package/dist/security/backup.js.map +1 -0
- package/dist/security/index.d.ts +7 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +4 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/red-team.d.ts +52 -0
- package/dist/security/red-team.d.ts.map +1 -0
- package/dist/security/red-team.js +249 -0
- package/dist/security/red-team.js.map +1 -0
- package/dist/security/tester.d.ts +65 -0
- package/dist/security/tester.d.ts.map +1 -0
- package/dist/security/tester.js +218 -0
- package/dist/security/tester.js.map +1 -0
- package/dist/self-improvement/index.d.ts +2 -0
- package/dist/self-improvement/index.d.ts.map +1 -0
- package/dist/self-improvement/index.js +2 -0
- package/dist/self-improvement/index.js.map +1 -0
- package/dist/self-improvement/trace-store.d.ts +27 -0
- package/dist/self-improvement/trace-store.d.ts.map +1 -0
- package/dist/self-improvement/trace-store.js +88 -0
- package/dist/self-improvement/trace-store.js.map +1 -0
- package/dist/session/index.d.ts +9 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +5 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +65 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +265 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/recovery.d.ts +44 -0
- package/dist/session/recovery.d.ts.map +1 -0
- package/dist/session/recovery.js +196 -0
- package/dist/session/recovery.js.map +1 -0
- package/dist/session/snapshot.d.ts +70 -0
- package/dist/session/snapshot.d.ts.map +1 -0
- package/dist/session/snapshot.js +268 -0
- package/dist/session/snapshot.js.map +1 -0
- package/dist/session/validator.d.ts +56 -0
- package/dist/session/validator.d.ts.map +1 -0
- package/dist/session/validator.js +247 -0
- package/dist/session/validator.js.map +1 -0
- package/dist/support/store.d.ts +91 -0
- package/dist/support/store.d.ts.map +1 -0
- package/dist/support/store.js +352 -0
- package/dist/support/store.js.map +1 -0
- package/dist/test/setup-env.d.ts +2 -0
- package/dist/test/setup-env.d.ts.map +1 -0
- package/dist/test/setup-env.js +34 -0
- package/dist/test/setup-env.js.map +1 -0
- package/dist/tool-runtime/access-policy.d.ts +25 -0
- package/dist/tool-runtime/access-policy.d.ts.map +1 -0
- package/dist/tool-runtime/access-policy.js +42 -0
- package/dist/tool-runtime/access-policy.js.map +1 -0
- package/dist/tool-runtime/audit.d.ts +13 -0
- package/dist/tool-runtime/audit.d.ts.map +1 -0
- package/dist/tool-runtime/audit.js +34 -0
- package/dist/tool-runtime/audit.js.map +1 -0
- package/dist/tool-runtime/engine.d.ts +154 -0
- package/dist/tool-runtime/engine.d.ts.map +1 -0
- package/dist/tool-runtime/engine.js +236 -0
- package/dist/tool-runtime/engine.js.map +1 -0
- package/dist/tool-runtime/http-executor.d.ts +19 -0
- package/dist/tool-runtime/http-executor.d.ts.map +1 -0
- package/dist/tool-runtime/http-executor.js +85 -0
- package/dist/tool-runtime/http-executor.js.map +1 -0
- package/dist/tool-runtime/identity.d.ts +25 -0
- package/dist/tool-runtime/identity.d.ts.map +1 -0
- package/dist/tool-runtime/identity.js +55 -0
- package/dist/tool-runtime/identity.js.map +1 -0
- package/dist/tool-runtime/index.d.ts +3 -0
- package/dist/tool-runtime/index.d.ts.map +1 -0
- package/dist/tool-runtime/index.js +2 -0
- package/dist/tool-runtime/index.js.map +1 -0
- package/dist/tool-runtime/manifest-loader.d.ts +6 -0
- package/dist/tool-runtime/manifest-loader.d.ts.map +1 -0
- package/dist/tool-runtime/manifest-loader.js +23 -0
- package/dist/tool-runtime/manifest-loader.js.map +1 -0
- package/dist/tool-runtime/manifest.d.ts +71 -0
- package/dist/tool-runtime/manifest.d.ts.map +1 -0
- package/dist/tool-runtime/manifest.js +467 -0
- package/dist/tool-runtime/manifest.js.map +1 -0
- package/dist/tool-runtime/mcp-executor.d.ts +12 -0
- package/dist/tool-runtime/mcp-executor.d.ts.map +1 -0
- package/dist/tool-runtime/mcp-executor.js +102 -0
- package/dist/tool-runtime/mcp-executor.js.map +1 -0
- package/dist/tool-runtime/multipart.d.ts +12 -0
- package/dist/tool-runtime/multipart.d.ts.map +1 -0
- package/dist/tool-runtime/multipart.js +47 -0
- package/dist/tool-runtime/multipart.js.map +1 -0
- package/dist/tool-runtime/oauth.d.ts +18 -0
- package/dist/tool-runtime/oauth.d.ts.map +1 -0
- package/dist/tool-runtime/oauth.js +80 -0
- package/dist/tool-runtime/oauth.js.map +1 -0
- package/dist/tool-runtime/orchestrator.d.ts +38 -0
- package/dist/tool-runtime/orchestrator.d.ts.map +1 -0
- package/dist/tool-runtime/orchestrator.js +117 -0
- package/dist/tool-runtime/orchestrator.js.map +1 -0
- package/dist/tool-runtime/planner.d.ts +23 -0
- package/dist/tool-runtime/planner.d.ts.map +1 -0
- package/dist/tool-runtime/planner.js +126 -0
- package/dist/tool-runtime/planner.js.map +1 -0
- package/dist/tool-runtime/policy.d.ts +23 -0
- package/dist/tool-runtime/policy.d.ts.map +1 -0
- package/dist/tool-runtime/policy.js +48 -0
- package/dist/tool-runtime/policy.js.map +1 -0
- package/dist/tool-runtime/response-template.d.ts +20 -0
- package/dist/tool-runtime/response-template.d.ts.map +1 -0
- package/dist/tool-runtime/response-template.js +87 -0
- package/dist/tool-runtime/response-template.js.map +1 -0
- package/dist/tool-runtime/workflow-runner.d.ts +13 -0
- package/dist/tool-runtime/workflow-runner.d.ts.map +1 -0
- package/dist/tool-runtime/workflow-runner.js +61 -0
- package/dist/tool-runtime/workflow-runner.js.map +1 -0
- package/dist/tools/crunchtrova.d.ts +78 -0
- package/dist/tools/crunchtrova.d.ts.map +1 -0
- package/dist/tools/crunchtrova.js +378 -0
- package/dist/tools/crunchtrova.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/input-guard.d.ts +8 -0
- package/dist/tools/input-guard.d.ts.map +1 -0
- package/dist/tools/input-guard.js +41 -0
- package/dist/tools/input-guard.js.map +1 -0
- package/dist/tools/llm-tool-definitions.d.ts +4 -0
- package/dist/tools/llm-tool-definitions.d.ts.map +1 -0
- package/dist/tools/llm-tool-definitions.js +30 -0
- package/dist/tools/llm-tool-definitions.js.map +1 -0
- package/dist/tools/model-manager.d.ts +29 -0
- package/dist/tools/model-manager.d.ts.map +1 -0
- package/dist/tools/model-manager.js +118 -0
- package/dist/tools/model-manager.js.map +1 -0
- package/dist/tools/registry.d.ts +41 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +325 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search-orchestrator.d.ts +74 -0
- package/dist/tools/search-orchestrator.d.ts.map +1 -0
- package/dist/tools/search-orchestrator.js +174 -0
- package/dist/tools/search-orchestrator.js.map +1 -0
- package/dist/tools/tool-catalog-config.d.ts +103 -0
- package/dist/tools/tool-catalog-config.d.ts.map +1 -0
- package/dist/tools/tool-catalog-config.js +185 -0
- package/dist/tools/tool-catalog-config.js.map +1 -0
- package/dist/tools/tool-catalog.d.ts +24 -0
- package/dist/tools/tool-catalog.d.ts.map +1 -0
- package/dist/tools/tool-catalog.js +62 -0
- package/dist/tools/tool-catalog.js.map +1 -0
- package/dist/tools/tool-command-synthesis.d.ts +22 -0
- package/dist/tools/tool-command-synthesis.d.ts.map +1 -0
- package/dist/tools/tool-command-synthesis.js +17 -0
- package/dist/tools/tool-command-synthesis.js.map +1 -0
- package/dist/tools/tool-policy.d.ts +21 -0
- package/dist/tools/tool-policy.d.ts.map +1 -0
- package/dist/tools/tool-policy.js +66 -0
- package/dist/tools/tool-policy.js.map +1 -0
- package/dist/usage/tracker.d.ts +35 -0
- package/dist/usage/tracker.d.ts.map +1 -0
- package/dist/usage/tracker.js +141 -0
- package/dist/usage/tracker.js.map +1 -0
- package/dist/validation/event-matrix.d.ts +41 -0
- package/dist/validation/event-matrix.d.ts.map +1 -0
- package/dist/validation/event-matrix.js +119 -0
- package/dist/validation/event-matrix.js.map +1 -0
- package/dist/validation/failure-simulator.d.ts +40 -0
- package/dist/validation/failure-simulator.d.ts.map +1 -0
- package/dist/validation/failure-simulator.js +216 -0
- package/dist/validation/failure-simulator.js.map +1 -0
- package/dist/validation/function-verifier.d.ts +48 -0
- package/dist/validation/function-verifier.d.ts.map +1 -0
- package/dist/validation/function-verifier.js +128 -0
- package/dist/validation/function-verifier.js.map +1 -0
- package/dist/validation/index.d.ts +14 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +9 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/route-inventory.d.ts +39 -0
- package/dist/validation/route-inventory.d.ts.map +1 -0
- package/dist/validation/route-inventory.js +413 -0
- package/dist/validation/route-inventory.js.map +1 -0
- package/dist/validation/state-machine.d.ts +51 -0
- package/dist/validation/state-machine.d.ts.map +1 -0
- package/dist/validation/state-machine.js +217 -0
- package/dist/validation/state-machine.js.map +1 -0
- package/dist/voice-pipeline/combined.d.ts +145 -0
- package/dist/voice-pipeline/combined.d.ts.map +1 -0
- package/dist/voice-pipeline/combined.js +166 -0
- package/dist/voice-pipeline/combined.js.map +1 -0
- package/dist/voice-pipeline/groq-whisper.d.ts +29 -0
- package/dist/voice-pipeline/groq-whisper.d.ts.map +1 -0
- package/dist/voice-pipeline/groq-whisper.js +138 -0
- package/dist/voice-pipeline/groq-whisper.js.map +1 -0
- package/dist/voice-pipeline/index.d.ts +5 -0
- package/dist/voice-pipeline/index.d.ts.map +1 -0
- package/dist/voice-pipeline/index.js +3 -0
- package/dist/voice-pipeline/index.js.map +1 -0
- package/docs/CLAUDE_STYLE_TOOLING_HANDOVER.md +1188 -0
- package/docs/admin-cli-security.md +71 -0
- package/docs/async-job-implementation-status.md +88 -0
- package/docs/async-job-workflow.md +175 -0
- package/docs/auth-persistence.md +18 -0
- package/docs/baileys-resilience.md +103 -0
- package/docs/chatbot-architecture-research-plan.md +80 -0
- package/docs/config-write-commands.md +78 -0
- package/docs/connector-implementation-playbook.md +182 -0
- package/docs/custom-connectors.md +167 -0
- package/docs/docker.md +76 -0
- package/docs/installation.md +384 -0
- package/docs/media-worker.md +114 -0
- package/docs/npm-install.md +75 -0
- package/docs/production-bot-guide.md +499 -0
- package/docs/production-handover.md +255 -0
- package/docs/production-monitoring.md +117 -0
- package/docs/routing-state-machine.md +47 -0
- package/docs/support-inbox-milestones.md +159 -0
- package/docs/tool-configuration-guide.md +257 -0
- package/docs/tool-plugin-and-packaging-roadmap.md +278 -0
- package/package.json +55 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
# WhatsApp AI Gateway v2 Production Handover
|
|
2
|
+
|
|
3
|
+
Release: `chatbot-v2-tool-system`
|
|
4
|
+
|
|
5
|
+
Main commit at release: `18be9aecf9174c67e326d2a40a3f87218b37124f`
|
|
6
|
+
|
|
7
|
+
Active follow-up branch: `feature/v2.2-config-write-commands`
|
|
8
|
+
|
|
9
|
+
Status at release:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
75 test files passed
|
|
13
|
+
659 tests passed
|
|
14
|
+
Docker runtime reached READY
|
|
15
|
+
Manual local WhatsApp smoke passed
|
|
16
|
+
Manual Docker WhatsApp smoke passed
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 1. What v2 adds
|
|
20
|
+
|
|
21
|
+
This release adds the v2 tool system and production hardening layer:
|
|
22
|
+
|
|
23
|
+
- Docker image and Compose runtime.
|
|
24
|
+
- CLI diagnostics and smoke commands.
|
|
25
|
+
- Configurable prompt registry.
|
|
26
|
+
- Configurable tool catalog.
|
|
27
|
+
- Owner-only slash tool commands.
|
|
28
|
+
- Customer slash-command blocking.
|
|
29
|
+
- Natural-language current-information routing.
|
|
30
|
+
- Tool output synthesis.
|
|
31
|
+
- Raw debug commands for owner inspection.
|
|
32
|
+
- Model-visible tool definitions from catalog.
|
|
33
|
+
- Baileys reconnect hardening.
|
|
34
|
+
- Response sanitizer to prevent model preambles or internal text from reaching WhatsApp replies.
|
|
35
|
+
- Installation guide under `docs/installation.md`.
|
|
36
|
+
|
|
37
|
+
## 2. v2.2 follow-up branch
|
|
38
|
+
|
|
39
|
+
The branch `feature/v2.2-config-write-commands` adds safe CLI mutation for `config/chatbot.config.json` only:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run cli -- config set <path> <json-value>
|
|
43
|
+
npm run cli -- config unset <path>
|
|
44
|
+
npm run cli -- config backup
|
|
45
|
+
npm run cli -- config restore <backup-file>
|
|
46
|
+
npm run cli -- config diff
|
|
47
|
+
npm run cli -- config validate
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Safety rules for this branch:
|
|
51
|
+
|
|
52
|
+
- Backup before every successful mutation.
|
|
53
|
+
- Validate candidate config before writing.
|
|
54
|
+
- Write through a temporary file, then replace the target file.
|
|
55
|
+
- Use stable pretty JSON.
|
|
56
|
+
- Reject unknown or unsafe paths.
|
|
57
|
+
- Reject prototype-pollution style path segments.
|
|
58
|
+
- Reject secret-like values.
|
|
59
|
+
- Keep `config/tools.chatbot.json` read-only until custom tool schema safety exists.
|
|
60
|
+
|
|
61
|
+
See `docs/config-write-commands.md` for details.
|
|
62
|
+
|
|
63
|
+
## 3. Verified commands
|
|
64
|
+
|
|
65
|
+
Before deployment or after any change, run:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git checkout main
|
|
69
|
+
git pull origin main
|
|
70
|
+
npm install
|
|
71
|
+
npm run build
|
|
72
|
+
npm test
|
|
73
|
+
npm run cli -- doctor
|
|
74
|
+
npm run cli -- smoke
|
|
75
|
+
npm run cli -- config validate
|
|
76
|
+
npm run cli -- start --print
|
|
77
|
+
npm run cli -- worker --print
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Expected release baseline:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
75 test files passed
|
|
84
|
+
659 tests passed
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
For v2.2 config write changes, also run:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm run cli -- config backup
|
|
91
|
+
npm run cli -- config diff
|
|
92
|
+
npm run cli -- config set debug.traceTools false
|
|
93
|
+
npm run cli -- config get debug.traceTools
|
|
94
|
+
npm run cli -- config unset debug.traceTools
|
|
95
|
+
npm run cli -- config get debug.traceTools
|
|
96
|
+
npm run cli -- config validate
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 4. Local runtime smoke
|
|
100
|
+
|
|
101
|
+
Start locally:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
npm run start:worker
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Wait for READY:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
READY — processing messages now
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Smoke test three surfaces:
|
|
114
|
+
|
|
115
|
+
1. Customer direct message.
|
|
116
|
+
2. Owner self-chat.
|
|
117
|
+
3. Group chat.
|
|
118
|
+
|
|
119
|
+
Expected behavior:
|
|
120
|
+
|
|
121
|
+
- Customer slash tool commands should receive normal customer guidance, not tool results.
|
|
122
|
+
- Customer natural-language questions should answer normally.
|
|
123
|
+
- Owner slash tools should work only in owner self-chat.
|
|
124
|
+
- Owner raw commands should return raw debug output.
|
|
125
|
+
- Unmentioned group messages should not trigger a reply.
|
|
126
|
+
- Mentioned group questions should receive a concise reply or safe fallback.
|
|
127
|
+
- WhatsApp replies should not include model preambles, hidden planning, or tool-call artifacts.
|
|
128
|
+
|
|
129
|
+
## 5. Docker runtime smoke
|
|
130
|
+
|
|
131
|
+
Start Docker Desktop, then run:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
docker compose down
|
|
135
|
+
docker compose build --no-cache
|
|
136
|
+
docker compose run --rm wa-chatbot node dist/cli/index.js doctor
|
|
137
|
+
docker compose run --rm wa-chatbot node dist/cli/index.js config validate
|
|
138
|
+
docker compose run --rm wa-chatbot node dist/cli/index.js smoke
|
|
139
|
+
docker compose run --rm wa-chatbot node dist/cli/index.js worker --print
|
|
140
|
+
docker compose up
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Expected READY path:
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
Connected to WhatsApp
|
|
147
|
+
READY — processing messages now
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
A 515 restart-required event immediately after pairing is acceptable if it is followed by automatic reconnect and READY.
|
|
151
|
+
|
|
152
|
+
Stop Docker:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
docker compose down
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## 6. Persistent runtime data
|
|
159
|
+
|
|
160
|
+
Docker mounts:
|
|
161
|
+
|
|
162
|
+
```text
|
|
163
|
+
./data -> /app/data
|
|
164
|
+
./config -> /app/config:ro
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Important container paths:
|
|
168
|
+
|
|
169
|
+
```text
|
|
170
|
+
AUTH_FILE_PATH=/app/data/auth_state.json
|
|
171
|
+
DATABASE_PATH=/app/data/bot.db
|
|
172
|
+
MEDIA_DIR=/app/data/media
|
|
173
|
+
CHATBOT_CONFIG_PATH=/app/config/chatbot.config.json
|
|
174
|
+
CHATBOT_TOOLS_PATH=/app/config/tools.chatbot.json
|
|
175
|
+
CHATBOT_PROMPTS_PATH=/app/config/prompts.chatbot.json
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Do not delete `data/` unless you intentionally want to reset auth/session state.
|
|
179
|
+
|
|
180
|
+
## 7. Known external limitation
|
|
181
|
+
|
|
182
|
+
The web/news provider can return weak snippets, empty content, or incomplete results. That is an upstream provider-quality issue, not a routing or command-policy issue. Use owner raw debug commands to inspect provider output before assuming an app bug.
|
|
183
|
+
|
|
184
|
+
## 8. Regression test map
|
|
185
|
+
|
|
186
|
+
Use these targeted test files when debugging:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
npm test -- src/conversation/__tests__/intent-routing.test.ts
|
|
190
|
+
npm test -- src/conversation/__tests__/runtime-group.test.ts
|
|
191
|
+
npm test -- src/gateway/reconnect/__tests__/manager.test.ts
|
|
192
|
+
npm test -- src/llm/__tests__/response-sanitizer.test.ts
|
|
193
|
+
npm test -- src/cli/__tests__/cli.test.ts
|
|
194
|
+
npm test -- src/cli/__tests__/cli-config-write.test.ts
|
|
195
|
+
npm test -- src/config/__tests__/config-editor.test.ts
|
|
196
|
+
npm test -- src/tools/__tests__/tools.test.ts
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
What they protect:
|
|
200
|
+
|
|
201
|
+
- Customer slash command blocking.
|
|
202
|
+
- Owner command behavior.
|
|
203
|
+
- Group activation behavior.
|
|
204
|
+
- Baileys reconnect decisions.
|
|
205
|
+
- Response sanitization.
|
|
206
|
+
- CLI documented command behavior.
|
|
207
|
+
- Config write safety.
|
|
208
|
+
- Tool registry and provider formatting.
|
|
209
|
+
|
|
210
|
+
## 9. Do not change these without tests
|
|
211
|
+
|
|
212
|
+
Treat these as release-critical behavior:
|
|
213
|
+
|
|
214
|
+
- Customers must not invoke slash search/news/fetch tools.
|
|
215
|
+
- Owner self-chat slash tools must continue to work.
|
|
216
|
+
- Owner `/help` must show full owner/admin help, not just tool help.
|
|
217
|
+
- Raw debug commands must stay owner-only.
|
|
218
|
+
- Natural-language customer questions must still be allowed to route through tools when the gateway decides they need current information.
|
|
219
|
+
- Docker must not bake secrets, auth, database files, or media into the image.
|
|
220
|
+
- Terminal disconnects such as logout, forbidden, connection replaced, device removed, and multi-device mismatch should not reconnect in a loop.
|
|
221
|
+
- 515 restart-required should reconnect immediately.
|
|
222
|
+
- Model preambles or hidden planning text must not be sent to WhatsApp users.
|
|
223
|
+
- Config write commands must not edit tool catalog definitions, prompts, secrets, or owner/customer command policy.
|
|
224
|
+
|
|
225
|
+
## 10. Future work intentionally left out of the frozen v2 tag
|
|
226
|
+
|
|
227
|
+
These are not part of `chatbot-v2-tool-system`:
|
|
228
|
+
|
|
229
|
+
- Arbitrary custom HTTP tool execution.
|
|
230
|
+
- CLI config writing commands such as config set/unset, except on the v2.2 follow-up branch.
|
|
231
|
+
- npm publishing.
|
|
232
|
+
- More provider fallback tuning for weak web/news results.
|
|
233
|
+
|
|
234
|
+
Handle those as future v2.x work with separate tests.
|
|
235
|
+
|
|
236
|
+
## 11. Branch cleanup after release
|
|
237
|
+
|
|
238
|
+
After confirming `main` and `chatbot-v2-tool-system` are correct, the merged feature branch can be deleted.
|
|
239
|
+
|
|
240
|
+
Local cleanup:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
git checkout main
|
|
244
|
+
git pull origin main
|
|
245
|
+
git branch -d feature/tool-system-v2
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Remote cleanup:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
git push origin --delete feature/tool-system-v2
|
|
252
|
+
git fetch --prune
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
If you want to keep the branch for archive/reference, do not delete it. The current release is already preserved by the `chatbot-v2-tool-system` tag.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Production Monitoring and Runtime Safety
|
|
2
|
+
|
|
3
|
+
Branch: `feature/v2.6-production-monitoring`
|
|
4
|
+
|
|
5
|
+
This milestone adds local and Docker runtime checks that do not start WhatsApp and do not send messages.
|
|
6
|
+
|
|
7
|
+
## Runtime health command
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm run cli -- health
|
|
11
|
+
npm run cli -- health --quiet
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The command checks:
|
|
15
|
+
|
|
16
|
+
- Chatbot config can load.
|
|
17
|
+
- Runtime data directory exists.
|
|
18
|
+
- Auth state file exists or warns when first pairing may be needed.
|
|
19
|
+
- Database file exists or warns when it may be created on first run.
|
|
20
|
+
- Media directory exists.
|
|
21
|
+
- Basic disk space near the runtime data directory.
|
|
22
|
+
|
|
23
|
+
Exit code behavior:
|
|
24
|
+
|
|
25
|
+
- `ok`: exits `0`.
|
|
26
|
+
- `warn`: exits `0`, because first-run auth/database warnings should not make Docker restart forever.
|
|
27
|
+
- `fail`: exits `1`, for example when config cannot load or the data directory is missing.
|
|
28
|
+
|
|
29
|
+
## Docker healthcheck
|
|
30
|
+
|
|
31
|
+
The Docker image and Compose service use:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
node dist/cli/index.js health --quiet
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This checks runtime health without opening a WhatsApp socket and without sending messages.
|
|
38
|
+
|
|
39
|
+
Compose keeps:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
restart: unless-stopped
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This restarts the service after ordinary failures, but it will not restart again after an operator intentionally stops it.
|
|
46
|
+
|
|
47
|
+
## Log rotation
|
|
48
|
+
|
|
49
|
+
Compose uses bounded container logs:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
logging:
|
|
53
|
+
driver: json-file
|
|
54
|
+
options:
|
|
55
|
+
max-size: "10m"
|
|
56
|
+
max-file: "3"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
This prevents long-running container logs from growing without limit.
|
|
60
|
+
|
|
61
|
+
## Runtime data backup
|
|
62
|
+
|
|
63
|
+
Create a backup of runtime data:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
bash scripts/backup-data.sh
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Optional environment overrides:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
DATA_DIR=./data BACKUP_DIR=./backups bash scripts/backup-data.sh
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The backup script archives runtime data only and skips local secret files.
|
|
76
|
+
|
|
77
|
+
## Runtime data restore
|
|
78
|
+
|
|
79
|
+
Restore a backup intentionally:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
bash scripts/restore-data.sh ./backups/data-YYYYMMDDTHHMMSSZ.tar.gz --yes
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The restore script refuses to run without `--yes`. If runtime data already exists, it creates a pre-restore backup before replacing it.
|
|
86
|
+
|
|
87
|
+
## Manual validation
|
|
88
|
+
|
|
89
|
+
Run:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm run build
|
|
93
|
+
npm test
|
|
94
|
+
npm run cli -- health
|
|
95
|
+
npm run cli -- health --quiet
|
|
96
|
+
bash scripts/check-runtime.sh
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Docker validation:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
docker compose config
|
|
103
|
+
docker compose build --no-cache
|
|
104
|
+
docker compose run --rm wa-chatbot node dist/cli/index.js health
|
|
105
|
+
docker compose run --rm wa-chatbot node dist/cli/index.js config validate
|
|
106
|
+
docker compose up
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Expected result: Docker reports a health status based on config/data checks, not a fake always-success healthcheck.
|
|
110
|
+
|
|
111
|
+
## Guardrails
|
|
112
|
+
|
|
113
|
+
- Health checks must not send WhatsApp messages.
|
|
114
|
+
- Health checks must not start WhatsApp pairing or gateway sockets.
|
|
115
|
+
- Backup archives must not include local secret files.
|
|
116
|
+
- Restore must require explicit confirmation.
|
|
117
|
+
- Missing auth or database files are warnings, not failures, because first-run deployments may create them later.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# WhatsApp Routing State Machine
|
|
2
|
+
|
|
3
|
+
## Order
|
|
4
|
+
|
|
5
|
+
1. Hard gates
|
|
6
|
+
- Slash commands
|
|
7
|
+
- Owner commands
|
|
8
|
+
- Group policy
|
|
9
|
+
- Blocked/resolved chats
|
|
10
|
+
- Rate limits
|
|
11
|
+
- Secure/private tool approval flows
|
|
12
|
+
|
|
13
|
+
2. Structured context resolver
|
|
14
|
+
- Builds candidate context from quoted WhatsApp text and the latest successful async tool result for the same chat.
|
|
15
|
+
- Returns one mode only: `standalone`, `quoted_context`, `previous_tool_context`, `combined_context`, or `clarify`.
|
|
16
|
+
- Rewrites the current user message into a self-contained `resolvedText` only when context is selected.
|
|
17
|
+
- Defaults safely to `standalone` if there is no candidate context, invalid JSON, low confidence, or invalid resolver output.
|
|
18
|
+
- If the resolver returns `clarify`, routing stops before triage/tool matching and asks for clarification.
|
|
19
|
+
|
|
20
|
+
3. Message triage planner
|
|
21
|
+
- answer_direct
|
|
22
|
+
- needs_tool
|
|
23
|
+
- clarify
|
|
24
|
+
- human_review
|
|
25
|
+
- blocked
|
|
26
|
+
|
|
27
|
+
4. Tool match planner
|
|
28
|
+
- Sees only configured tools from `config/tools.chatbot.json`
|
|
29
|
+
- Returns toolName and args only from the catalog
|
|
30
|
+
- Runtime validates enabled/public/ownerOnly/asyncEligible/schema
|
|
31
|
+
- If matching fails while selected context is attached, retry once without conversation context.
|
|
32
|
+
|
|
33
|
+
5. Durable async job
|
|
34
|
+
- Enqueue before first acknowledgement
|
|
35
|
+
- No job IDs in customer replies
|
|
36
|
+
|
|
37
|
+
6. Tool execution and synthesis
|
|
38
|
+
- Answer only from tool result
|
|
39
|
+
- No invented URLs or fake sources
|
|
40
|
+
- Weak or empty result triggers clarification or manual review
|
|
41
|
+
|
|
42
|
+
## Failure policy
|
|
43
|
+
|
|
44
|
+
- First uncertainty: ask one clear clarification question.
|
|
45
|
+
- Repeated uncertainty: set HUMAN_PENDING and label manual_review.
|
|
46
|
+
- Private account data without verified lookup: never answer directly.
|
|
47
|
+
- Response wording for routing acknowledgements, clarification, manual review, and blocked messages belongs in `config/tools.chatbot.json` or the default catalog response policy, not in runtime routing branches.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Support Inbox Milestones
|
|
2
|
+
|
|
3
|
+
Branch: `feature/support-inbox-profiles-labels`
|
|
4
|
+
|
|
5
|
+
This file records what has been implemented and what should happen next so the branch can be resumed safely after any interruption.
|
|
6
|
+
|
|
7
|
+
## Core rule
|
|
8
|
+
|
|
9
|
+
Owner control must stay separate from customer behavior.
|
|
10
|
+
|
|
11
|
+
- Owner commands work only in the owner self-chat.
|
|
12
|
+
- Customers cannot run owner commands.
|
|
13
|
+
- Owner messages inside a customer chat are treated as human takeover messages, not admin commands.
|
|
14
|
+
- Group chats must not receive owner command access.
|
|
15
|
+
- Future media processing must be DM-only unless explicitly changed later.
|
|
16
|
+
|
|
17
|
+
## Research basis
|
|
18
|
+
|
|
19
|
+
- Chatwoot AgentBot uses conversation status to separate bot triage and human handoff.
|
|
20
|
+
- Dify Question Classifier routes user input to different workflow paths before answering.
|
|
21
|
+
- LangChain treats routing, tools, model selection, memory, and fault tolerance as harness concerns around the model.
|
|
22
|
+
|
|
23
|
+
## Milestone 1: Support inbox foundation
|
|
24
|
+
|
|
25
|
+
Status: implemented and live smoke-tested.
|
|
26
|
+
|
|
27
|
+
Files:
|
|
28
|
+
|
|
29
|
+
- `src/support/store.ts`
|
|
30
|
+
- `src/support/__tests__/support-state.test.ts`
|
|
31
|
+
- `src/conversation/__tests__/support-commands.test.ts`
|
|
32
|
+
- `src/conversation/runtime.ts`
|
|
33
|
+
|
|
34
|
+
Features implemented:
|
|
35
|
+
|
|
36
|
+
- Conversation support statuses:
|
|
37
|
+
- `AI_ACTIVE`
|
|
38
|
+
- `HUMAN_PENDING`
|
|
39
|
+
- `HUMAN_ACTIVE`
|
|
40
|
+
- `WAITING_ON_CUSTOMER`
|
|
41
|
+
- `WAITING_ON_OWNER`
|
|
42
|
+
- `RESOLVED`
|
|
43
|
+
- `BLOCKED`
|
|
44
|
+
- Labels and tags.
|
|
45
|
+
- Priority: `low`, `normal`, `high`, `urgent`.
|
|
46
|
+
- Customer profiles.
|
|
47
|
+
- Owner notes.
|
|
48
|
+
- `/inbox` with filters.
|
|
49
|
+
- `/profile <alias>`.
|
|
50
|
+
- `/resolve` and `/reopen`.
|
|
51
|
+
- `/pause` and `/continue` now mirror support status.
|
|
52
|
+
|
|
53
|
+
Owner commands added:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
/inbox [filter]
|
|
57
|
+
/profile <target>
|
|
58
|
+
/status <target> [status]
|
|
59
|
+
/resolve <target>
|
|
60
|
+
/reopen <target>
|
|
61
|
+
/pending <target>
|
|
62
|
+
/waiting <target> customer|owner
|
|
63
|
+
/block <target>
|
|
64
|
+
/unblock <target>
|
|
65
|
+
/label <target> <label>
|
|
66
|
+
/labels <target>
|
|
67
|
+
/unlabel <target> <label>
|
|
68
|
+
/priority <target> low|normal|high|urgent
|
|
69
|
+
/note <target> <note>
|
|
70
|
+
/notes <target>
|
|
71
|
+
/language <target> <language>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Target means alias, numbered shortcut, or raw chat JID.
|
|
75
|
+
|
|
76
|
+
Verified by user:
|
|
77
|
+
|
|
78
|
+
- Focused handoff tests pass.
|
|
79
|
+
- Full suite passes: 20 files, 397 tests.
|
|
80
|
+
- Live WhatsApp smoke test passed for profile, labels, priority, notes, inbox filters, pause, resolve, reopen, and continue.
|
|
81
|
+
|
|
82
|
+
## Milestone 2: Detailed owner help
|
|
83
|
+
|
|
84
|
+
Status: implemented, awaiting local verification.
|
|
85
|
+
|
|
86
|
+
Files:
|
|
87
|
+
|
|
88
|
+
- `src/owner/help.ts`
|
|
89
|
+
- `src/conversation/runtime.ts`
|
|
90
|
+
|
|
91
|
+
Behavior:
|
|
92
|
+
|
|
93
|
+
- Owner `/help` returns a detailed command guide with examples.
|
|
94
|
+
- Customer `/help` remains simple and does not expose owner controls.
|
|
95
|
+
|
|
96
|
+
## Milestone 3: Intent classifier before AI reply
|
|
97
|
+
|
|
98
|
+
Status: implemented, awaiting local verification.
|
|
99
|
+
|
|
100
|
+
Files:
|
|
101
|
+
|
|
102
|
+
- `src/intent/classifier.ts`
|
|
103
|
+
- `src/intent/__tests__/classifier.test.ts`
|
|
104
|
+
- `src/conversation/__tests__/intent-routing.test.ts`
|
|
105
|
+
- `src/conversation/runtime.ts`
|
|
106
|
+
|
|
107
|
+
Classes:
|
|
108
|
+
|
|
109
|
+
- `smalltalk`
|
|
110
|
+
- `support_question`
|
|
111
|
+
- `current_info`
|
|
112
|
+
- `handoff_request`
|
|
113
|
+
- `complaint`
|
|
114
|
+
- `sales_lead`
|
|
115
|
+
- `risk_flag`
|
|
116
|
+
- `media_required`
|
|
117
|
+
- `owner_command_attempt`
|
|
118
|
+
|
|
119
|
+
Implementation notes:
|
|
120
|
+
|
|
121
|
+
- The first version is deterministic and model-independent.
|
|
122
|
+
- Handoff requests set `HUMAN_PENDING`, add a follow-up label, and do not trigger normal AI generation.
|
|
123
|
+
- Complaints add a complaint label and raise priority.
|
|
124
|
+
- Sales leads add lead labels.
|
|
125
|
+
- Media-needed messages add a media label.
|
|
126
|
+
- Current-info messages continue through the existing tool path.
|
|
127
|
+
- Owner-command attempts remain blocked.
|
|
128
|
+
|
|
129
|
+
## Next milestone: Task-specific model router
|
|
130
|
+
|
|
131
|
+
Status: next.
|
|
132
|
+
|
|
133
|
+
Goal:
|
|
134
|
+
|
|
135
|
+
- Add a task router so different models can handle different jobs.
|
|
136
|
+
- Keep API keys in environment variables, not raw SQLite values.
|
|
137
|
+
- Add owner commands to inspect and set task model routing later.
|
|
138
|
+
|
|
139
|
+
Planned tasks:
|
|
140
|
+
|
|
141
|
+
- `chat_reply`
|
|
142
|
+
- `tool_synthesis`
|
|
143
|
+
- `summary`
|
|
144
|
+
- `classification`
|
|
145
|
+
- `safety`
|
|
146
|
+
- `long_reasoning`
|
|
147
|
+
- `vision_ocr`
|
|
148
|
+
- `pdf_summary`
|
|
149
|
+
- `document_summary`
|
|
150
|
+
- `audio_transcription`
|
|
151
|
+
- `embedding`
|
|
152
|
+
|
|
153
|
+
Future milestones after model router:
|
|
154
|
+
|
|
155
|
+
- Knowledge base and RAG commands.
|
|
156
|
+
- DM-only media understanding.
|
|
157
|
+
- Optional group mode.
|
|
158
|
+
- Better tool debug commands.
|
|
159
|
+
- Auto-summary memory.
|