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,35 @@
|
|
|
1
|
+
import { MediaQueueWorker } from '../media/queue-worker.js';
|
|
2
|
+
import { safeLogObject, sanitizeLogField } from '../observability/safe-log.js';
|
|
3
|
+
function hasWork(result) {
|
|
4
|
+
return result.due > 0 || result.completed > 0 || result.retried > 0 || result.failed > 0 || result.ownerReview > 0;
|
|
5
|
+
}
|
|
6
|
+
function createDefaultWorker(logger) {
|
|
7
|
+
return new MediaQueueWorker({
|
|
8
|
+
onResult: (result) => {
|
|
9
|
+
if (hasWork(result))
|
|
10
|
+
logger.info('[MediaQueueWorker] tick', safeLogObject(result));
|
|
11
|
+
},
|
|
12
|
+
onError: (error) => logger.error('[MediaQueueWorker] error:', sanitizeLogField(error.message)),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export function createGatewayMediaWorker(logger = console, options = {}) {
|
|
16
|
+
const worker = options.worker || createDefaultWorker(logger);
|
|
17
|
+
const started = worker.start();
|
|
18
|
+
if (started)
|
|
19
|
+
logger.info('[MediaQueueWorker] started');
|
|
20
|
+
else if (worker.isEnabled())
|
|
21
|
+
logger.warn('[MediaQueueWorker] enabled but already started');
|
|
22
|
+
else
|
|
23
|
+
logger.info('[MediaQueueWorker] disabled');
|
|
24
|
+
return {
|
|
25
|
+
worker,
|
|
26
|
+
started,
|
|
27
|
+
stop: () => {
|
|
28
|
+
const stopped = worker.stop();
|
|
29
|
+
if (stopped)
|
|
30
|
+
logger.info('[MediaQueueWorker] stopped');
|
|
31
|
+
return stopped;
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=media-queue-worker-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-queue-worker-runtime.js","sourceRoot":"","sources":["../../src/gateway/media-queue-worker-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAkB/E,SAAS,OAAO,CAAC,MAA2B;IAC1C,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA2B;IACtD,OAAO,IAAI,gBAAgB,CAAC;QAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACnB,IAAI,OAAO,CAAC,MAAM,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC/F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,SAA8B,OAAO,EAAE,UAAqC,EAAE;IACrH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;SAClD,IAAI,MAAM,CAAC,SAAS,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;;QACtF,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAEhD,OAAO;QACL,MAAM;QACN,OAAO;QACP,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message Buffer — holds messages received before the gateway is READY.
|
|
3
|
+
* Flushes them when the gateway transitions to READY.
|
|
4
|
+
*/
|
|
5
|
+
import type { ParsedMessage } from './events/handler.js';
|
|
6
|
+
export declare function bufferMessage(msg: ParsedMessage): void;
|
|
7
|
+
export declare function flushBuffer(): ParsedMessage[];
|
|
8
|
+
export declare function getBufferSize(): number;
|
|
9
|
+
//# sourceMappingURL=message-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-buffer.d.ts","sourceRoot":"","sources":["../../src/gateway/message-buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAItD;AAED,wBAAgB,WAAW,IAAI,aAAa,EAAE,CAI7C;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
let buffer = [];
|
|
2
|
+
const MAX_BUFFER = 200;
|
|
3
|
+
export function bufferMessage(msg) {
|
|
4
|
+
if (buffer.length < MAX_BUFFER) {
|
|
5
|
+
buffer.push(msg);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export function flushBuffer() {
|
|
9
|
+
const msgs = buffer;
|
|
10
|
+
buffer = [];
|
|
11
|
+
return msgs;
|
|
12
|
+
}
|
|
13
|
+
export function getBufferSize() {
|
|
14
|
+
return buffer.length;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=message-buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-buffer.js","sourceRoot":"","sources":["../../src/gateway/message-buffer.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAoB,EAAE,CAAC;AACjC,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,GAAG,EAAE,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function markOutgoingBotMessage(messageId: string | undefined | null, now?: number): void;
|
|
2
|
+
export declare function consumeOutgoingBotMessage(messageId: string | undefined | null, now?: number): boolean;
|
|
3
|
+
export declare function resetOutgoingBotMessagesForTests(): void;
|
|
4
|
+
//# sourceMappingURL=outgoing-messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outgoing-messages.d.ts","sourceRoot":"","sources":["../../src/gateway/outgoing-messages.ts"],"names":[],"mappings":"AAUA,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,GAAG,SAAa,GAAG,IAAI,CAInG;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,GAAG,SAAa,GAAG,OAAO,CAIzG;AAED,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const MAX_TRACKED = 500;
|
|
2
|
+
const tracked = new Map();
|
|
3
|
+
function prune(now = Date.now()) {
|
|
4
|
+
const cutoff = now - 10 * 60_000;
|
|
5
|
+
for (const [id, timestamp] of tracked) {
|
|
6
|
+
if (timestamp < cutoff || tracked.size > MAX_TRACKED)
|
|
7
|
+
tracked.delete(id);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export function markOutgoingBotMessage(messageId, now = Date.now()) {
|
|
11
|
+
if (!messageId)
|
|
12
|
+
return;
|
|
13
|
+
prune(now);
|
|
14
|
+
tracked.set(messageId, now);
|
|
15
|
+
}
|
|
16
|
+
export function consumeOutgoingBotMessage(messageId, now = Date.now()) {
|
|
17
|
+
if (!messageId)
|
|
18
|
+
return false;
|
|
19
|
+
prune(now);
|
|
20
|
+
return tracked.delete(messageId);
|
|
21
|
+
}
|
|
22
|
+
export function resetOutgoingBotMessagesForTests() {
|
|
23
|
+
tracked.clear();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=outgoing-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outgoing-messages.js","sourceRoot":"","sources":["../../src/gateway/outgoing-messages.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE1C,SAAS,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,WAAW;YAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAoC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3F,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,KAAK,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAoC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC9F,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,KAAK,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface LifecycleProcess {
|
|
2
|
+
once(event: 'SIGINT' | 'SIGTERM' | 'beforeExit', listener: () => void): unknown;
|
|
3
|
+
}
|
|
4
|
+
export interface LifecycleHandle {
|
|
5
|
+
stop(): void;
|
|
6
|
+
}
|
|
7
|
+
export declare function registerLifecycleShutdown(stop: () => void, proc?: LifecycleProcess): LifecycleHandle;
|
|
8
|
+
//# sourceMappingURL=process-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../src/gateway/process-lifecycle.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACjF;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,gBAA0B,GAAG,eAAe,CAa7G"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function registerLifecycleShutdown(stop, proc = process) {
|
|
2
|
+
let stopped = false;
|
|
3
|
+
const stopOnce = () => {
|
|
4
|
+
if (stopped)
|
|
5
|
+
return;
|
|
6
|
+
stopped = true;
|
|
7
|
+
stop();
|
|
8
|
+
};
|
|
9
|
+
proc.once('SIGINT', stopOnce);
|
|
10
|
+
proc.once('SIGTERM', stopOnce);
|
|
11
|
+
proc.once('beforeExit', stopOnce);
|
|
12
|
+
return { stop: stopOnce };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=process-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-lifecycle.js","sourceRoot":"","sources":["../../src/gateway/process-lifecycle.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,yBAAyB,CAAC,IAAgB,EAAE,OAAyB,OAAO;IAC1F,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAElC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { GatewayLogger } from './logger.js';
|
|
2
|
+
export interface GatewayLifecycle {
|
|
3
|
+
start(): Promise<void>;
|
|
4
|
+
shutdown(): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export interface ProcessSafetyOptions {
|
|
7
|
+
exit?: (code?: number) => void;
|
|
8
|
+
processLike?: Pick<NodeJS.Process, 'once'>;
|
|
9
|
+
}
|
|
10
|
+
export declare function assertSingleGatewayInstance(logger: GatewayLogger, exit?: (code?: number) => void): void;
|
|
11
|
+
export declare function installGlobalSafetyNet(logger: GatewayLogger, exit?: (code?: number) => void): void;
|
|
12
|
+
export declare function runGateway(factory: () => GatewayLifecycle, logger: GatewayLogger, options?: ProcessSafetyOptions): Promise<void>;
|
|
13
|
+
export declare function resetGatewayInstanceForTests(): void;
|
|
14
|
+
//# sourceMappingURL=process-safety.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-safety.d.ts","sourceRoot":"","sources":["../../src/gateway/process-safety.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC5C;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,GAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAmB,GAAG,IAAI,CAQrH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,GAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAmB,GAAG,IAAI,CAUhH;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB1I;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { runShutdownTasks } from './shutdown-registry.js';
|
|
2
|
+
const INSTANCE_KEY = '__BAILEYS_RUNNING__';
|
|
3
|
+
export function assertSingleGatewayInstance(logger, exit = process.exit) {
|
|
4
|
+
const globalState = globalThis;
|
|
5
|
+
if (globalState[INSTANCE_KEY]) {
|
|
6
|
+
logger.error('[FATAL] Another gateway instance is already running. Exiting.');
|
|
7
|
+
exit(1);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
globalState[INSTANCE_KEY] = true;
|
|
11
|
+
}
|
|
12
|
+
export function installGlobalSafetyNet(logger, exit = process.exit) {
|
|
13
|
+
process.on('unhandledRejection', (reason) => {
|
|
14
|
+
const message = reason?.message || String(reason);
|
|
15
|
+
if (message.includes('media key') || message.includes('empty media')) {
|
|
16
|
+
logger.warn('[Recovered] Media key error in history sync:', message);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
logger.error('[Fatal] Unhandled rejection:', reason);
|
|
20
|
+
exit(1);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export async function runGateway(factory, logger, options = {}) {
|
|
24
|
+
const exit = options.exit || process.exit;
|
|
25
|
+
const processLike = options.processLike || process;
|
|
26
|
+
const gateway = factory();
|
|
27
|
+
let shutdownStarted = false;
|
|
28
|
+
const shutdown = async (signal, code = 0) => {
|
|
29
|
+
if (shutdownStarted)
|
|
30
|
+
return;
|
|
31
|
+
shutdownStarted = true;
|
|
32
|
+
logger.info(`Received ${signal} — shutting down`);
|
|
33
|
+
await runShutdownTasks();
|
|
34
|
+
await gateway.shutdown();
|
|
35
|
+
exit(code);
|
|
36
|
+
};
|
|
37
|
+
processLike.once('SIGINT', () => { shutdown('SIGINT').catch(() => exit(1)); });
|
|
38
|
+
processLike.once('SIGTERM', () => { shutdown('SIGTERM').catch(() => exit(1)); });
|
|
39
|
+
processLike.once('uncaughtException', (err) => {
|
|
40
|
+
logger.error('Uncaught exception:', err.message);
|
|
41
|
+
shutdown('uncaughtException', 1).catch(() => exit(1));
|
|
42
|
+
});
|
|
43
|
+
await gateway.start();
|
|
44
|
+
}
|
|
45
|
+
export function resetGatewayInstanceForTests() {
|
|
46
|
+
delete globalThis[INSTANCE_KEY];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=process-safety.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-safety.js","sourceRoot":"","sources":["../../src/gateway/process-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAY3C,MAAM,UAAU,2BAA2B,CAAC,MAAqB,EAAE,OAAgC,OAAO,CAAC,IAAI;IAC7G,MAAM,WAAW,GAAG,UAAqC,CAAC;IAC1D,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,CAAC,CAAC;QACR,OAAO;IACT,CAAC;IACD,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAqB,EAAE,OAAgC,OAAO,CAAC,IAAI;IACxG,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAe,EAAE,EAAE;QACnD,MAAM,OAAO,GAAI,MAAgB,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA+B,EAAE,MAAqB,EAAE,UAAgC,EAAE;IACzH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;QAClD,IAAI,eAAe;YAAE,OAAO;QAC5B,eAAe,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,YAAY,MAAM,kBAAkB,CAAC,CAAC;QAClD,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAU,EAAE,EAAE;QACnD,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAQ,UAAsC,CAAC,YAAY,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gateway/reconnect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gateway/reconnect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface ReconnectConfig {
|
|
2
|
+
/** Initial delay before first reconnection attempt (ms) */
|
|
3
|
+
initialDelayMs: number;
|
|
4
|
+
/** Maximum delay between reconnection attempts (ms) */
|
|
5
|
+
maxDelayMs: number;
|
|
6
|
+
/** Multiplier for exponential backoff */
|
|
7
|
+
backoffMultiplier: number;
|
|
8
|
+
/** Maximum number of reconnection attempts (0 = unlimited) */
|
|
9
|
+
maxAttempts: number;
|
|
10
|
+
/** Rolling window used to detect repeated disconnect loops (ms) */
|
|
11
|
+
rapidWindowMs: number;
|
|
12
|
+
/** Maximum reconnect schedules allowed in the rolling window before circuit breaking (0 = disabled) */
|
|
13
|
+
maxRapidAttempts: number;
|
|
14
|
+
/** Delay used after too many reconnect schedules in the rolling window (ms) */
|
|
15
|
+
rapidPauseMs: number;
|
|
16
|
+
}
|
|
17
|
+
export type ReconnectCallback = () => Promise<void>;
|
|
18
|
+
export type ConnectionStateUpdate = {
|
|
19
|
+
connection: string;
|
|
20
|
+
lastDisconnect?: {
|
|
21
|
+
date: Date;
|
|
22
|
+
reason?: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare class ReconnectManager {
|
|
26
|
+
private config;
|
|
27
|
+
private reconnectCallback;
|
|
28
|
+
private attemptCount;
|
|
29
|
+
private isReconnecting;
|
|
30
|
+
private timer;
|
|
31
|
+
private currentDelay;
|
|
32
|
+
private rapidAttemptTimestamps;
|
|
33
|
+
private terminalDisconnectSeen;
|
|
34
|
+
constructor(config?: Partial<ReconnectConfig>);
|
|
35
|
+
/** Set the function to call when reconnection is needed. */
|
|
36
|
+
onReconnect(callback: ReconnectCallback): void;
|
|
37
|
+
/**
|
|
38
|
+
* Handle a connection state update.
|
|
39
|
+
* Returns true if reconnection was initiated.
|
|
40
|
+
*/
|
|
41
|
+
handleConnectionUpdate(update: ConnectionStateUpdate): boolean;
|
|
42
|
+
private markTerminalDisconnect;
|
|
43
|
+
private rapidLoopDelay;
|
|
44
|
+
/** Schedule a reconnection attempt. */
|
|
45
|
+
private scheduleReconnect;
|
|
46
|
+
/** Reset the reconnection state (called on successful connection). */
|
|
47
|
+
reset(): void;
|
|
48
|
+
/** Try to extract a DisconnectReason status code from the reason string. */
|
|
49
|
+
private extractStatusCode;
|
|
50
|
+
/** Number of reconnection attempts so far. */
|
|
51
|
+
get attempts(): number;
|
|
52
|
+
/** Whether a reconnection is in progress. */
|
|
53
|
+
get reconnecting(): boolean;
|
|
54
|
+
/** Whether a terminal disconnect was seen. */
|
|
55
|
+
get terminal(): boolean;
|
|
56
|
+
/** Clean up. */
|
|
57
|
+
destroy(): void;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/gateway/reconnect/manager.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB,uGAAuG;IACvG,gBAAgB,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAwBF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAK7C,4DAA4D;IAC5D,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAI9C;;;OAGG;IACH,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IA2C9D,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,cAAc;IAetB,uCAAuC;IACvC,OAAO,CAAC,iBAAiB;IAgCzB,sEAAsE;IACtE,KAAK,IAAI,IAAI;IAYb,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB;IAwBzB,8CAA8C;IAC9C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,6CAA6C;IAC7C,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,8CAA8C;IAC9C,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,gBAAgB;IAChB,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reconnect Manager
|
|
3
|
+
*
|
|
4
|
+
* Implements automatic reconnection with exponential backoff.
|
|
5
|
+
* Watches connection state changes from Baileys and triggers
|
|
6
|
+
* reconnection when the socket disconnects unexpectedly.
|
|
7
|
+
*
|
|
8
|
+
* Following OpenClaw's pattern: one reconnect manager is the
|
|
9
|
+
* single authority on when and how to reconnect.
|
|
10
|
+
*/
|
|
11
|
+
import { DisconnectReason } from '@whiskeysockets/baileys';
|
|
12
|
+
// ─── Default Config ──────────────────────────────────────────────────────────
|
|
13
|
+
const DEFAULT_CONFIG = {
|
|
14
|
+
initialDelayMs: 1_000,
|
|
15
|
+
maxDelayMs: 60_000,
|
|
16
|
+
backoffMultiplier: 2,
|
|
17
|
+
maxAttempts: 0, // unlimited
|
|
18
|
+
rapidWindowMs: 60_000,
|
|
19
|
+
maxRapidAttempts: 5,
|
|
20
|
+
rapidPauseMs: 5 * 60_000,
|
|
21
|
+
};
|
|
22
|
+
const NON_RECONNECTABLE_STATUS = new Set([
|
|
23
|
+
DisconnectReason.badSession,
|
|
24
|
+
DisconnectReason.loggedOut,
|
|
25
|
+
DisconnectReason.forbidden,
|
|
26
|
+
DisconnectReason.connectionReplaced,
|
|
27
|
+
DisconnectReason.multideviceMismatch,
|
|
28
|
+
]);
|
|
29
|
+
// ─── Reconnect Manager ───────────────────────────────────────────────────────
|
|
30
|
+
export class ReconnectManager {
|
|
31
|
+
config;
|
|
32
|
+
reconnectCallback = null;
|
|
33
|
+
attemptCount = 0;
|
|
34
|
+
isReconnecting = false;
|
|
35
|
+
timer = null;
|
|
36
|
+
currentDelay;
|
|
37
|
+
rapidAttemptTimestamps = [];
|
|
38
|
+
terminalDisconnectSeen = false;
|
|
39
|
+
constructor(config) {
|
|
40
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
41
|
+
this.currentDelay = this.config.initialDelayMs;
|
|
42
|
+
}
|
|
43
|
+
/** Set the function to call when reconnection is needed. */
|
|
44
|
+
onReconnect(callback) {
|
|
45
|
+
this.reconnectCallback = callback;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Handle a connection state update.
|
|
49
|
+
* Returns true if reconnection was initiated.
|
|
50
|
+
*/
|
|
51
|
+
handleConnectionUpdate(update) {
|
|
52
|
+
if (update.connection !== 'close') {
|
|
53
|
+
// Connection opened or connecting — reset backoff on success
|
|
54
|
+
if (update.connection === 'open') {
|
|
55
|
+
this.reset();
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
const reason = update.lastDisconnect?.reason || 'unknown';
|
|
60
|
+
const statusCode = this.extractStatusCode(reason);
|
|
61
|
+
// Do not reconnect when WhatsApp says this session is no longer valid or has been replaced.
|
|
62
|
+
// Reconnecting these cases can create loops, hide a real logout, or fight another active session.
|
|
63
|
+
if (NON_RECONNECTABLE_STATUS.has(statusCode)) {
|
|
64
|
+
this.markTerminalDisconnect(statusCode || reason);
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
if (this.terminalDisconnectSeen) {
|
|
68
|
+
console.log('[Reconnect] Terminal disconnect was already seen; refusing reconnect until process/session reset');
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
// Don't reconnect if already in progress
|
|
72
|
+
if (this.isReconnecting) {
|
|
73
|
+
console.log('[Reconnect] Already attempting reconnection');
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
// Check max attempts
|
|
77
|
+
if (this.config.maxAttempts > 0 && this.attemptCount >= this.config.maxAttempts) {
|
|
78
|
+
console.error(`[Reconnect] Max reconnection attempts (${this.config.maxAttempts}) reached — giving up`);
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
const immediate = statusCode === DisconnectReason.restartRequired;
|
|
82
|
+
this.scheduleReconnect(reason, immediate ? 0 : undefined);
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
markTerminalDisconnect(reason) {
|
|
86
|
+
this.terminalDisconnectSeen = true;
|
|
87
|
+
if (this.timer) {
|
|
88
|
+
clearTimeout(this.timer);
|
|
89
|
+
this.timer = null;
|
|
90
|
+
}
|
|
91
|
+
this.isReconnecting = false;
|
|
92
|
+
console.log(`[Reconnect] Not reconnecting after terminal disconnect (${reason})`);
|
|
93
|
+
}
|
|
94
|
+
rapidLoopDelay(now = Date.now()) {
|
|
95
|
+
if (this.config.maxRapidAttempts <= 0)
|
|
96
|
+
return undefined;
|
|
97
|
+
const windowStart = now - this.config.rapidWindowMs;
|
|
98
|
+
this.rapidAttemptTimestamps = this.rapidAttemptTimestamps.filter((timestamp) => timestamp >= windowStart);
|
|
99
|
+
this.rapidAttemptTimestamps.push(now);
|
|
100
|
+
if (this.rapidAttemptTimestamps.length <= this.config.maxRapidAttempts)
|
|
101
|
+
return undefined;
|
|
102
|
+
console.warn(`[Reconnect] Rapid disconnect loop detected (${this.rapidAttemptTimestamps.length} reconnects in ${this.config.rapidWindowMs}ms); pausing for ${this.config.rapidPauseMs}ms`);
|
|
103
|
+
return this.config.rapidPauseMs;
|
|
104
|
+
}
|
|
105
|
+
/** Schedule a reconnection attempt. */
|
|
106
|
+
scheduleReconnect(reason, delayOverrideMs) {
|
|
107
|
+
this.isReconnecting = true;
|
|
108
|
+
this.attemptCount++;
|
|
109
|
+
const baseDelay = delayOverrideMs ?? this.currentDelay;
|
|
110
|
+
const loopDelay = this.rapidLoopDelay();
|
|
111
|
+
const delay = loopDelay === undefined ? baseDelay : Math.max(baseDelay, loopDelay);
|
|
112
|
+
console.log(`[Reconnect] Scheduling reconnect #${this.attemptCount} in ${delay}ms (reason: ${reason})`);
|
|
113
|
+
this.timer = setTimeout(async () => {
|
|
114
|
+
try {
|
|
115
|
+
if (this.reconnectCallback) {
|
|
116
|
+
await this.reconnectCallback();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
console.error('[Reconnect] Attempt failed:', err.message);
|
|
121
|
+
}
|
|
122
|
+
finally {
|
|
123
|
+
// ALWAYS reset reconnecting flag so next attempt can proceed
|
|
124
|
+
this.isReconnecting = false;
|
|
125
|
+
}
|
|
126
|
+
}, delay);
|
|
127
|
+
// Increase delay for next attempt (exponential backoff). Restart-required reconnects are immediate,
|
|
128
|
+
// but the next non-immediate failure should still use normal backoff.
|
|
129
|
+
this.currentDelay = Math.min(this.currentDelay * this.config.backoffMultiplier, this.config.maxDelayMs);
|
|
130
|
+
}
|
|
131
|
+
/** Reset the reconnection state (called on successful connection). */
|
|
132
|
+
reset() {
|
|
133
|
+
this.attemptCount = 0;
|
|
134
|
+
this.isReconnecting = false;
|
|
135
|
+
this.currentDelay = this.config.initialDelayMs;
|
|
136
|
+
this.rapidAttemptTimestamps = [];
|
|
137
|
+
this.terminalDisconnectSeen = false;
|
|
138
|
+
if (this.timer) {
|
|
139
|
+
clearTimeout(this.timer);
|
|
140
|
+
this.timer = null;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** Try to extract a DisconnectReason status code from the reason string. */
|
|
144
|
+
extractStatusCode(reason) {
|
|
145
|
+
// Baileys stores the status code in the Boom error's message
|
|
146
|
+
// e.g., "Connection closed: 428" or "loggedOut"
|
|
147
|
+
const match = reason.match(/\b(\d{3})\b/);
|
|
148
|
+
if (match)
|
|
149
|
+
return parseInt(match[1], 10);
|
|
150
|
+
// Check for known reason strings
|
|
151
|
+
const reasonLower = reason.toLowerCase();
|
|
152
|
+
if (reasonLower.includes('logged'))
|
|
153
|
+
return DisconnectReason.loggedOut;
|
|
154
|
+
if (reasonLower.includes('device_removed'))
|
|
155
|
+
return DisconnectReason.loggedOut;
|
|
156
|
+
if (reasonLower.includes('bad session'))
|
|
157
|
+
return DisconnectReason.badSession;
|
|
158
|
+
if (reasonLower.includes('bad_session'))
|
|
159
|
+
return DisconnectReason.badSession;
|
|
160
|
+
if (reasonLower.includes('restart'))
|
|
161
|
+
return DisconnectReason.restartRequired;
|
|
162
|
+
if (reasonLower.includes('timed'))
|
|
163
|
+
return DisconnectReason.timedOut;
|
|
164
|
+
if (reasonLower.includes('timeout'))
|
|
165
|
+
return DisconnectReason.timedOut;
|
|
166
|
+
if (reasonLower.includes('forbidden'))
|
|
167
|
+
return DisconnectReason.forbidden;
|
|
168
|
+
if (reasonLower.includes('replaced'))
|
|
169
|
+
return DisconnectReason.connectionReplaced;
|
|
170
|
+
if (reasonLower.includes('conflict'))
|
|
171
|
+
return DisconnectReason.connectionReplaced;
|
|
172
|
+
if (reasonLower.includes('unavailable'))
|
|
173
|
+
return DisconnectReason.unavailableService;
|
|
174
|
+
if (reasonLower.includes('mismatch'))
|
|
175
|
+
return DisconnectReason.multideviceMismatch;
|
|
176
|
+
return 0; // unknown
|
|
177
|
+
}
|
|
178
|
+
/** Number of reconnection attempts so far. */
|
|
179
|
+
get attempts() {
|
|
180
|
+
return this.attemptCount;
|
|
181
|
+
}
|
|
182
|
+
/** Whether a reconnection is in progress. */
|
|
183
|
+
get reconnecting() {
|
|
184
|
+
return this.isReconnecting;
|
|
185
|
+
}
|
|
186
|
+
/** Whether a terminal disconnect was seen. */
|
|
187
|
+
get terminal() {
|
|
188
|
+
return this.terminalDisconnectSeen;
|
|
189
|
+
}
|
|
190
|
+
/** Clean up. */
|
|
191
|
+
destroy() {
|
|
192
|
+
this.reset();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/gateway/reconnect/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-echo-guard.d.ts","sourceRoot":"","sources":["../../src/gateway/self-echo-guard.ts"],"names":[],"mappings":"AAsBA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAMzE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const SELF_REPLY_PREFIXES = [
|
|
2
|
+
'here is what i found:',
|
|
3
|
+
'i searched, but',
|
|
4
|
+
'i tried to search, but',
|
|
5
|
+
'i could not find',
|
|
6
|
+
'i couldn’t find',
|
|
7
|
+
'the current time is',
|
|
8
|
+
'no commands are needed here',
|
|
9
|
+
'i processed your request',
|
|
10
|
+
'these results are',
|
|
11
|
+
];
|
|
12
|
+
const RESULT_LOOP_PATTERNS = [
|
|
13
|
+
/\bweb result\b/,
|
|
14
|
+
/\btool result\b/,
|
|
15
|
+
/\bsearch results\b/,
|
|
16
|
+
/\bhere is what i found\b/,
|
|
17
|
+
/\bgot those search results\b/,
|
|
18
|
+
/\bthese results are all\b/,
|
|
19
|
+
/https?:\/\//,
|
|
20
|
+
];
|
|
21
|
+
export function isLikelySelfEcho(text) {
|
|
22
|
+
if (!text)
|
|
23
|
+
return false;
|
|
24
|
+
const normalized = text.toLowerCase().replace(/\s+/g, ' ').trim();
|
|
25
|
+
if (!normalized)
|
|
26
|
+
return false;
|
|
27
|
+
if (SELF_REPLY_PREFIXES.some((prefix) => normalized.startsWith(prefix)))
|
|
28
|
+
return true;
|
|
29
|
+
return RESULT_LOOP_PATTERNS.some((pattern) => pattern.test(normalized));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=self-echo-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-echo-guard.js","sourceRoot":"","sources":["../../src/gateway/self-echo-guard.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG;IAC1B,uBAAuB;IACvB,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,6BAA6B;IAC7B,0BAA0B;IAC1B,mBAAmB;CACpB,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,0BAA0B;IAC1B,8BAA8B;IAC9B,2BAA2B;IAC3B,aAAa;CACd,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAA+B;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WhatsApp Gateway Server
|
|
3
|
+
*
|
|
4
|
+
* Entry point for the WhatsApp automation gateway.
|
|
5
|
+
*
|
|
6
|
+
* Architecture (following OpenClaw's Gateway pattern):
|
|
7
|
+
*
|
|
8
|
+
* WhatsApp ←→ Baileys Socket ←→ Gateway ←→ Event Bus ←→ Router ←→ AI
|
|
9
|
+
*
|
|
10
|
+
* The gateway is the sole owner of the WhatsApp session.
|
|
11
|
+
* Nothing talks directly to WhatsApp — everything routes through here.
|
|
12
|
+
*/
|
|
13
|
+
declare class Gateway {
|
|
14
|
+
private authStore;
|
|
15
|
+
private socketManager;
|
|
16
|
+
private eventHandler;
|
|
17
|
+
private reconnectManager;
|
|
18
|
+
private healthMonitor;
|
|
19
|
+
private shuttingDown;
|
|
20
|
+
private saveIntervals;
|
|
21
|
+
private db;
|
|
22
|
+
private mediaService;
|
|
23
|
+
private sessionManager;
|
|
24
|
+
private snapshotService;
|
|
25
|
+
private recoveryService;
|
|
26
|
+
private aiEngine;
|
|
27
|
+
private toolRegistry;
|
|
28
|
+
private ownerIdentity;
|
|
29
|
+
private globalConfig;
|
|
30
|
+
private ownerRouter;
|
|
31
|
+
private persistentMemory;
|
|
32
|
+
private whisperService;
|
|
33
|
+
private ocrClient;
|
|
34
|
+
private ocrRegistry;
|
|
35
|
+
private eventStore;
|
|
36
|
+
private chatRegistry;
|
|
37
|
+
private ops;
|
|
38
|
+
private runtime;
|
|
39
|
+
private asyncJobWorker;
|
|
40
|
+
private promptRegistry;
|
|
41
|
+
constructor();
|
|
42
|
+
/** Start the gateway. */
|
|
43
|
+
start(): Promise<void>;
|
|
44
|
+
/** Establish a WhatsApp connection. */
|
|
45
|
+
private connect;
|
|
46
|
+
/** Echo a message back (fallback when no API keys). */
|
|
47
|
+
private echoMessage;
|
|
48
|
+
/** AI-powered response using OpenRouter/Kilocode. */
|
|
49
|
+
private aiRespond;
|
|
50
|
+
private analyzeVisualMedia;
|
|
51
|
+
private handleVisualMediaMessage;
|
|
52
|
+
/** Route incoming message: OwnerRouter → commands/tools → AI. */
|
|
53
|
+
/** Single entry point — delegates to ConversationRuntime. */
|
|
54
|
+
private handleIncomingMessage;
|
|
55
|
+
private sendReply;
|
|
56
|
+
getHealth(): import("./health/monitor.js").HealthStatus;
|
|
57
|
+
/** Graceful shutdown. */
|
|
58
|
+
shutdown(): Promise<void>;
|
|
59
|
+
}
|
|
60
|
+
export { Gateway };
|
|
61
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/gateway/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmIH,cAAM,OAAO;IACX,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,EAAE,CAAiC;IAC3C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAA+F;IAClH,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAA8E;IAC/F,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAwB;;IAiE9C,yBAAyB;IACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyR5B,uCAAuC;YACzB,OAAO;IAwOrB,uDAAuD;YACzC,WAAW;IA2CzB,qDAAqD;YACvC,SAAS;YAqDT,kBAAkB;YA8ClB,wBAAwB;IAiEtC,iEAAiE;IACjE,6DAA6D;YAC/C,qBAAqB;YAUrB,SAAS;IAqBvB,SAAS;IAIT,yBAAyB;IACnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAoChC;AAkCD,OAAO,EAAE,OAAO,EAAE,CAAC"}
|