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,96 @@
|
|
|
1
|
+
import { getOcrHelpSection } from './ocr-help.js';
|
|
2
|
+
export function getDetailedOwnerHelp() {
|
|
3
|
+
return [
|
|
4
|
+
'👑 *Owner Help*',
|
|
5
|
+
'',
|
|
6
|
+
'*Targets*',
|
|
7
|
+
'Use an alias like `joe`, a shortcut like `#1` or `1`, a display name like `JP`, or a raw WhatsApp JID.',
|
|
8
|
+
'Best flow: `/inbox` or `/chats` → `/alias set #1 joe` → use `joe` in commands.',
|
|
9
|
+
'',
|
|
10
|
+
'*Inbox and profiles*',
|
|
11
|
+
'`/inbox` — Shows support inbox with status, priority, labels, and last message.',
|
|
12
|
+
'`/inbox urgent` — Shows urgent chats only.',
|
|
13
|
+
'`/inbox human` — Shows chats in human handoff or pending human review.',
|
|
14
|
+
'`/inbox unresolved` — Shows active chats that are not resolved.',
|
|
15
|
+
'`/profile joe` — Shows profile, status, priority, labels, notes, and recent messages.',
|
|
16
|
+
'`/note joe likes short replies` — Saves a private owner note.',
|
|
17
|
+
'`/notes joe` — Shows saved notes.',
|
|
18
|
+
'`/language joe English` — Saves preferred language.',
|
|
19
|
+
'',
|
|
20
|
+
'*Status and handoff*',
|
|
21
|
+
'`/status joe` — View support status.',
|
|
22
|
+
'`/status JP` — You can also target by display name when it is unique.',
|
|
23
|
+
'`/status 1` — You can use the current inbox number without the # sign.',
|
|
24
|
+
'`/status joe waiting_owner` — Set status manually.',
|
|
25
|
+
'Statuses: `ai`, `pending`, `human`, `waiting_customer`, `waiting_owner`, `resolved`, `blocked`.',
|
|
26
|
+
'`/pause joe 60` — Pauses AI for one customer for 60 minutes.',
|
|
27
|
+
'`/continue joe` — Resumes AI for one customer.',
|
|
28
|
+
'`/resolve joe` — Marks a chat resolved. New messages are stored without AI replying.',
|
|
29
|
+
'`/reopen joe` — Reopens a resolved or blocked chat.',
|
|
30
|
+
'`/pending joe` — Marks as pending human review.',
|
|
31
|
+
'`/waiting joe customer` — Marks as waiting on the customer.',
|
|
32
|
+
'`/waiting joe owner` — Marks as waiting on the owner.',
|
|
33
|
+
'`/block joe` — Stops AI replies for one chat until reopened.',
|
|
34
|
+
'',
|
|
35
|
+
'*Labels and priority*',
|
|
36
|
+
'`/label joe urgent` — Adds a label.',
|
|
37
|
+
'`/labels joe` — Lists labels.',
|
|
38
|
+
'`/unlabel joe urgent` — Removes a label.',
|
|
39
|
+
'`/priority joe high` — Sets priority. Options: `low`, `normal`, `high`, `urgent`.',
|
|
40
|
+
'',
|
|
41
|
+
'*Scheduling*',
|
|
42
|
+
'`/schedule joe 08:00 Good morning` — Schedule for the next 08:00 in the bot timezone.',
|
|
43
|
+
'`/schedule joe in 3 hours Good morning` — Schedule using a relative delay.',
|
|
44
|
+
'`/schedule joe 2 weeks from now Follow up` — Schedule up to 30 days ahead.',
|
|
45
|
+
'`/schedule joe Friday at 4 pm Follow up` — Schedule by weekday and wall-clock time.',
|
|
46
|
+
'`/schedule JP 2026-07-10 08:00 Good morning` — Schedule for a specific date and time.',
|
|
47
|
+
'`/scheduled` — List pending scheduled messages.',
|
|
48
|
+
'`/cancel_schedule 1` — Cancel a pending scheduled message by ID.',
|
|
49
|
+
'',
|
|
50
|
+
'*Knowledge Base*',
|
|
51
|
+
'`/kb add Booking Policy | Customers book by sending their name and preferred time.` — Add owner-curated knowledge.',
|
|
52
|
+
'`/kb list` — List knowledge documents.',
|
|
53
|
+
'`/kb search refund policy` — Search knowledge documents.',
|
|
54
|
+
'`/kb test "How do I book?"` — Test retrieval.',
|
|
55
|
+
'`/kb delete 1` — Delete one knowledge document.',
|
|
56
|
+
'`/kb clear confirm` — Clear all knowledge documents.',
|
|
57
|
+
'',
|
|
58
|
+
getOcrHelpSection(),
|
|
59
|
+
'',
|
|
60
|
+
'*Aliases and context*',
|
|
61
|
+
'`/chats` — Shows recent customer chats with # shortcuts.',
|
|
62
|
+
'`/alias set #1 joe` — Saves #1 as @joe.',
|
|
63
|
+
'`/alias list` — Shows aliases.',
|
|
64
|
+
'`/context` — Shows owner context status. It does not reset anything.',
|
|
65
|
+
'`/context tokens` — Shows highest stored context by estimated tokens.',
|
|
66
|
+
'`/context history joe 10` — Shows last 10 stored messages for one customer.',
|
|
67
|
+
'`/context search joe refund` — Searches stored context for one customer only.',
|
|
68
|
+
'`/context compact joe 20` — Compacts one chat and keeps 20 recent messages.',
|
|
69
|
+
'`/context reset joe confirm` — Clears memory for one targeted chat only.',
|
|
70
|
+
'`/context reset all confirm` — Clears stored memory for every chat.',
|
|
71
|
+
'',
|
|
72
|
+
'*Custom connectors*',
|
|
73
|
+
'`/connectors status` — Shows custom connector manifest status.',
|
|
74
|
+
'`/connectors list` — Lists configured custom connectors.',
|
|
75
|
+
'`/connectors validate` — Validates the connector manifest.',
|
|
76
|
+
'`/connectors plan` — Previews a connector URL without network access.',
|
|
77
|
+
'`/connectors audit` — Shows connector audit events.',
|
|
78
|
+
'',
|
|
79
|
+
'*Model, usage, and system*',
|
|
80
|
+
'`/model` — Shows current model.',
|
|
81
|
+
'`/models` — Lists models.',
|
|
82
|
+
'`/model` — Shows the settings-backed chat model route.',
|
|
83
|
+
'`/usage today` — Shows usage today.',
|
|
84
|
+
'`/usage top` — Shows highest-usage chats.',
|
|
85
|
+
'`/usage users` — Shows highest token usage by user JID.',
|
|
86
|
+
'`/usage joe` — Shows usage for one customer.',
|
|
87
|
+
'`/config` — Shows config.',
|
|
88
|
+
'`/config thinking off` — Disables thinking-output cleanup mode.',
|
|
89
|
+
'`/stats` — Shows system stats.',
|
|
90
|
+
'`/audit` — Shows recent owner audit log.',
|
|
91
|
+
'',
|
|
92
|
+
'*Safety rule*',
|
|
93
|
+
'These controls only work in owner self-chat. Customer chats receive customer-safe help only.',
|
|
94
|
+
].join('\n');
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/owner/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,iBAAiB;QACjB,EAAE;QACF,WAAW;QACX,wGAAwG;QACxG,gFAAgF;QAChF,EAAE;QACF,sBAAsB;QACtB,iFAAiF;QACjF,4CAA4C;QAC5C,wEAAwE;QACxE,iEAAiE;QACjE,uFAAuF;QACvF,+DAA+D;QAC/D,mCAAmC;QACnC,qDAAqD;QACrD,EAAE;QACF,sBAAsB;QACtB,sCAAsC;QACtC,uEAAuE;QACvE,wEAAwE;QACxE,oDAAoD;QACpD,iGAAiG;QACjG,8DAA8D;QAC9D,gDAAgD;QAChD,sFAAsF;QACtF,qDAAqD;QACrD,iDAAiD;QACjD,6DAA6D;QAC7D,uDAAuD;QACvD,8DAA8D;QAC9D,EAAE;QACF,uBAAuB;QACvB,qCAAqC;QACrC,+BAA+B;QAC/B,0CAA0C;QAC1C,mFAAmF;QACnF,EAAE;QACF,cAAc;QACd,uFAAuF;QACvF,4EAA4E;QAC5E,4EAA4E;QAC5E,qFAAqF;QACrF,uFAAuF;QACvF,iDAAiD;QACjD,kEAAkE;QAClE,EAAE;QACF,kBAAkB;QAClB,oHAAoH;QACpH,wCAAwC;QACxC,0DAA0D;QAC1D,+CAA+C;QAC/C,iDAAiD;QACjD,sDAAsD;QACtD,EAAE;QACF,iBAAiB,EAAE;QACnB,EAAE;QACF,uBAAuB;QACvB,0DAA0D;QAC1D,yCAAyC;QACzC,gCAAgC;QAChC,sEAAsE;QACtE,uEAAuE;QACvE,6EAA6E;QAC7E,+EAA+E;QAC/E,6EAA6E;QAC7E,0EAA0E;QAC1E,qEAAqE;QACrE,EAAE;QACF,qBAAqB;QACrB,gEAAgE;QAChE,0DAA0D;QAC1D,4DAA4D;QAC5D,uEAAuE;QACvE,qDAAqD;QACrD,EAAE;QACF,4BAA4B;QAC5B,iCAAiC;QACjC,2BAA2B;QAC3B,wDAAwD;QACxD,qCAAqC;QACrC,2CAA2C;QAC3C,yDAAyD;QACzD,8CAA8C;QAC9C,2BAA2B;QAC3B,iEAAiE;QACjE,gCAAgC;QAChC,0CAA0C;QAC1C,EAAE;QACF,eAAe;QACf,8FAA8F;KAC/F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { WASocket } from '@whiskeysockets/baileys';
|
|
2
|
+
export interface OwnerRecord {
|
|
3
|
+
ownerJid: string;
|
|
4
|
+
ownerPhone: string;
|
|
5
|
+
/** Known LIDs (linked device identifiers) for this owner. Used for owner detection from linked devices. */
|
|
6
|
+
ownerLids: string[];
|
|
7
|
+
deviceFingerprint: string;
|
|
8
|
+
firstPairTimestamp: number;
|
|
9
|
+
lastSeenTimestamp: number;
|
|
10
|
+
pairCount: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class OwnerIdentityService {
|
|
13
|
+
private owner;
|
|
14
|
+
private ownerFile;
|
|
15
|
+
constructor(ownerFile?: string);
|
|
16
|
+
/**
|
|
17
|
+
* Manually set the owner JID. This should only be called from a trusted
|
|
18
|
+
* self-chat flow when no owner has been claimed yet.
|
|
19
|
+
*/
|
|
20
|
+
setOwnerJid(jid: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* Detect and persist the owner JID from a connected socket.
|
|
23
|
+
* This is intentionally conservative: once an owner exists, reconnects may
|
|
24
|
+
* update last-seen and merge LIDs, but must not silently replace the owner.
|
|
25
|
+
*/
|
|
26
|
+
detectOwner(sock: WASocket): OwnerRecord | null;
|
|
27
|
+
/** Update last seen timestamp on successful login. */
|
|
28
|
+
updateLastSeen(): void;
|
|
29
|
+
/** Check if a JID belongs to the owner. */
|
|
30
|
+
isOwner(jid: string, _chatJid?: string): boolean;
|
|
31
|
+
/** Get the owner record. */
|
|
32
|
+
getOwner(): OwnerRecord | null;
|
|
33
|
+
/** Check if owner has been set. */
|
|
34
|
+
hasOwner(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Normalize a JID to base form (strip device suffix and preserve domain).
|
|
37
|
+
* Handles: @s.whatsapp.net, @lid, @g.us
|
|
38
|
+
*/
|
|
39
|
+
normalizeJid(jid: string): string;
|
|
40
|
+
private extractPhone;
|
|
41
|
+
private fingerprintJid;
|
|
42
|
+
private save;
|
|
43
|
+
private load;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/owner/identity.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,2GAA2G;IAC3G,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,CAAC,EAAE,MAAM;IAK9B;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAoB9B;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IA2C/C,sDAAsD;IACtD,cAAc,IAAI,IAAI;IAOtB,2CAA2C;IAC3C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAWhD,4BAA4B;IAC5B,QAAQ,IAAI,WAAW,GAAG,IAAI;IAI9B,mCAAmC;IACnC,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAYjC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,IAAI;CAUb"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Owner Identity Service
|
|
3
|
+
*
|
|
4
|
+
* At first successful login, extracts the linked WhatsApp JID
|
|
5
|
+
* and persists it as the permanent owner. Only this JID can
|
|
6
|
+
* execute admin commands. Survives restarts and re-pairings.
|
|
7
|
+
*
|
|
8
|
+
* Based on OpenClaw's owner-gated WhatsApp control plane pattern.
|
|
9
|
+
*/
|
|
10
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
11
|
+
import { dirname } from 'node:path';
|
|
12
|
+
function getDefaultOwnerFile() {
|
|
13
|
+
return process.env.OWNER_FILE || './data/owner.json';
|
|
14
|
+
}
|
|
15
|
+
export class OwnerIdentityService {
|
|
16
|
+
owner = null;
|
|
17
|
+
ownerFile;
|
|
18
|
+
constructor(ownerFile) {
|
|
19
|
+
this.ownerFile = ownerFile || getDefaultOwnerFile();
|
|
20
|
+
this.load();
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Manually set the owner JID. This should only be called from a trusted
|
|
24
|
+
* self-chat flow when no owner has been claimed yet.
|
|
25
|
+
*/
|
|
26
|
+
setOwnerJid(jid) {
|
|
27
|
+
const normalized = this.normalizeJid(jid);
|
|
28
|
+
const isLid = normalized.endsWith('@lid');
|
|
29
|
+
const existingLids = this.owner?.ownerLids || [];
|
|
30
|
+
const ownerLids = isLid ? [...new Set([...existingLids, normalized])] : existingLids;
|
|
31
|
+
const ownerJid = isLid ? (this.owner?.ownerJid || normalized) : normalized;
|
|
32
|
+
this.owner = {
|
|
33
|
+
ownerJid,
|
|
34
|
+
ownerPhone: ownerJid.endsWith('@s.whatsapp.net') ? this.extractPhone(ownerJid) : (this.owner?.ownerPhone || ''),
|
|
35
|
+
ownerLids,
|
|
36
|
+
deviceFingerprint: this.fingerprintJid(ownerJid),
|
|
37
|
+
firstPairTimestamp: this.owner?.firstPairTimestamp || Date.now(),
|
|
38
|
+
lastSeenTimestamp: Date.now(),
|
|
39
|
+
pairCount: (this.owner?.pairCount || 0) + 1,
|
|
40
|
+
};
|
|
41
|
+
this.save();
|
|
42
|
+
console.log(`[OwnerIdentity] Owner claimed: ${normalized}${isLid ? ' (LID)' : ''}`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Detect and persist the owner JID from a connected socket.
|
|
46
|
+
* This is intentionally conservative: once an owner exists, reconnects may
|
|
47
|
+
* update last-seen and merge LIDs, but must not silently replace the owner.
|
|
48
|
+
*/
|
|
49
|
+
detectOwner(sock) {
|
|
50
|
+
const user = sock.user;
|
|
51
|
+
if (!user?.id)
|
|
52
|
+
return null;
|
|
53
|
+
const baseJid = this.normalizeJid(user.id);
|
|
54
|
+
const lid = user.lid;
|
|
55
|
+
const normalizedLid = lid ? this.normalizeJid(lid) : null;
|
|
56
|
+
if (this.owner) {
|
|
57
|
+
const currentOwner = this.normalizeJid(this.owner.ownerJid);
|
|
58
|
+
const lids = normalizedLid
|
|
59
|
+
? [...new Set([...(this.owner.ownerLids || []), normalizedLid])]
|
|
60
|
+
: (this.owner.ownerLids || []);
|
|
61
|
+
this.owner = {
|
|
62
|
+
...this.owner,
|
|
63
|
+
ownerJid: currentOwner,
|
|
64
|
+
ownerLids: lids,
|
|
65
|
+
lastSeenTimestamp: Date.now(),
|
|
66
|
+
pairCount: (this.owner.pairCount || 0) + 1,
|
|
67
|
+
};
|
|
68
|
+
this.save();
|
|
69
|
+
console.log(`[OwnerIdentity] Owner refreshed: ${this.owner.ownerJid}${normalizedLid ? ` (LID: ${normalizedLid})` : ''}`);
|
|
70
|
+
return this.getOwner();
|
|
71
|
+
}
|
|
72
|
+
const record = {
|
|
73
|
+
ownerJid: baseJid,
|
|
74
|
+
ownerPhone: this.extractPhone(baseJid),
|
|
75
|
+
ownerLids: normalizedLid ? [normalizedLid] : [],
|
|
76
|
+
deviceFingerprint: this.fingerprintJid(baseJid),
|
|
77
|
+
firstPairTimestamp: Date.now(),
|
|
78
|
+
lastSeenTimestamp: Date.now(),
|
|
79
|
+
pairCount: 1,
|
|
80
|
+
};
|
|
81
|
+
this.owner = record;
|
|
82
|
+
this.save();
|
|
83
|
+
console.log(`[OwnerIdentity] Owner set: ${record.ownerJid}${normalizedLid ? ` (LID: ${normalizedLid})` : ''}`);
|
|
84
|
+
return record;
|
|
85
|
+
}
|
|
86
|
+
/** Update last seen timestamp on successful login. */
|
|
87
|
+
updateLastSeen() {
|
|
88
|
+
if (this.owner) {
|
|
89
|
+
this.owner.lastSeenTimestamp = Date.now();
|
|
90
|
+
this.save();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Check if a JID belongs to the owner. */
|
|
94
|
+
isOwner(jid, _chatJid) {
|
|
95
|
+
if (!this.owner || !jid)
|
|
96
|
+
return false;
|
|
97
|
+
const normalized = this.normalizeJid(jid);
|
|
98
|
+
const ownerNormalized = this.normalizeJid(this.owner.ownerJid);
|
|
99
|
+
if (normalized === ownerNormalized)
|
|
100
|
+
return true;
|
|
101
|
+
if ((this.owner.ownerLids || []).some(lid => this.normalizeJid(lid) === normalized))
|
|
102
|
+
return true;
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
/** Get the owner record. */
|
|
106
|
+
getOwner() {
|
|
107
|
+
return this.owner ? { ...this.owner, ownerLids: [...(this.owner.ownerLids || [])] } : null;
|
|
108
|
+
}
|
|
109
|
+
/** Check if owner has been set. */
|
|
110
|
+
hasOwner() {
|
|
111
|
+
return this.owner !== null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Normalize a JID to base form (strip device suffix and preserve domain).
|
|
115
|
+
* Handles: @s.whatsapp.net, @lid, @g.us
|
|
116
|
+
*/
|
|
117
|
+
normalizeJid(jid) {
|
|
118
|
+
if (!jid)
|
|
119
|
+
return '';
|
|
120
|
+
const stripped = jid.replace(/:(\d+)@/, '@');
|
|
121
|
+
const local = stripped.split('@')[0];
|
|
122
|
+
const domain = stripped.includes('@g.us')
|
|
123
|
+
? 'g.us'
|
|
124
|
+
: stripped.includes('@lid')
|
|
125
|
+
? 'lid'
|
|
126
|
+
: 's.whatsapp.net';
|
|
127
|
+
return `${local}@${domain}`;
|
|
128
|
+
}
|
|
129
|
+
extractPhone(jid) {
|
|
130
|
+
return jid.split('@')[0].replace(/:\d+$/, '');
|
|
131
|
+
}
|
|
132
|
+
fingerprintJid(jid) {
|
|
133
|
+
return jid.slice(0, 20);
|
|
134
|
+
}
|
|
135
|
+
save() {
|
|
136
|
+
const dir = dirname(this.ownerFile);
|
|
137
|
+
if (!existsSync(dir))
|
|
138
|
+
mkdirSync(dir, { recursive: true });
|
|
139
|
+
writeFileSync(this.ownerFile, JSON.stringify(this.owner, null, 2), 'utf-8');
|
|
140
|
+
}
|
|
141
|
+
load() {
|
|
142
|
+
if (!existsSync(this.ownerFile))
|
|
143
|
+
return;
|
|
144
|
+
try {
|
|
145
|
+
const raw = JSON.parse(readFileSync(this.ownerFile, 'utf-8'));
|
|
146
|
+
if (!Array.isArray(raw.ownerLids))
|
|
147
|
+
raw.ownerLids = [];
|
|
148
|
+
this.owner = raw;
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
this.owner = null;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/owner/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { OwnerIdentityService } from './identity.js';
|
|
2
|
+
export type { OwnerRecord } from './identity.js';
|
|
3
|
+
export { GlobalConfigService } from './config.js';
|
|
4
|
+
export type { GlobalConfig, AuditEntry } from './config.js';
|
|
5
|
+
export { OwnerRouter } from './router.js';
|
|
6
|
+
export type { RouteResult, RouteTarget } from './router.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/owner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/owner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocr-help.d.ts","sourceRoot":"","sources":["../../src/owner/ocr-help.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,IAAI,MAAM,CAW1C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function getOcrHelpSection() {
|
|
2
|
+
return [
|
|
3
|
+
'*Task and OCR model routing*',
|
|
4
|
+
'`/tasks` — Show all task routes plus OCR-capable providers.',
|
|
5
|
+
'`/ocrmodels` — Show configured OCR, vision, audio, and text-capable providers.',
|
|
6
|
+
'`/taskmodel vision_ocr` — Show the selected image/OCR route.',
|
|
7
|
+
'`/taskmodel pdf_summary` — Show the selected PDF route.',
|
|
8
|
+
'`/taskmodel audio_transcription` — Show the selected audio route.',
|
|
9
|
+
'OCR providers can be OpenAI, Claude, Gemini, OpenRouter, Ollama/local, custom HTTP, or local HTTP.',
|
|
10
|
+
'Generic OCR env: `OCR_PROVIDER`, `OCR_MODEL`, `OCR_ENDPOINT`, and capability flags such as `OCR_SUPPORTS_IMAGES`.',
|
|
11
|
+
].join('\n');
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ocr-help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocr-help.js","sourceRoot":"","sources":["../../src/owner/ocr-help.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,8BAA8B;QAC9B,6DAA6D;QAC7D,gFAAgF;QAChF,8DAA8D;QAC9D,yDAAyD;QACzD,mEAAmE;QACnE,oGAAoG;QACpG,mHAAmH;KACpH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Owner Router
|
|
3
|
+
*
|
|
4
|
+
* Splits WhatsApp message routing BEFORE any command parsing:
|
|
5
|
+
*
|
|
6
|
+
* owner JID → OwnerRouter (admin commands, config, debug)
|
|
7
|
+
* all others → UserRouter (conversation only, no command discovery)
|
|
8
|
+
*
|
|
9
|
+
* Commands never even execute for non-owner messages.
|
|
10
|
+
* This eliminates injection, fuzzing, and command discovery.
|
|
11
|
+
*/
|
|
12
|
+
import { OwnerIdentityService } from './identity.js';
|
|
13
|
+
import { GlobalConfigService } from './config.js';
|
|
14
|
+
import type { ModelManager } from '../tools/model-manager.js';
|
|
15
|
+
export type RouteTarget = 'owner_admin' | 'user_conversation';
|
|
16
|
+
export interface RouteResult {
|
|
17
|
+
target: RouteTarget;
|
|
18
|
+
isOwner: boolean;
|
|
19
|
+
isCommand: boolean;
|
|
20
|
+
reply?: string;
|
|
21
|
+
command?: string;
|
|
22
|
+
data?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export declare class OwnerRouter {
|
|
25
|
+
private ownerIdentity;
|
|
26
|
+
private globalConfig;
|
|
27
|
+
private modelManager;
|
|
28
|
+
constructor(ownerIdentity: OwnerIdentityService, globalConfig: GlobalConfigService, modelManager: ModelManager);
|
|
29
|
+
/**
|
|
30
|
+
* Route a message BEFORE any command parsing.
|
|
31
|
+
* Owner messages get admin routing. Others get user routing.
|
|
32
|
+
*/
|
|
33
|
+
route(senderJid: string, text: string, isGroup: boolean, chatJid?: string): RouteResult;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a text starts with a known user command (exposed to all).
|
|
36
|
+
*/
|
|
37
|
+
isUserCommand(text: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a text starts with an admin command (owner only).
|
|
40
|
+
*/
|
|
41
|
+
isAdminCommand(text: string): boolean;
|
|
42
|
+
private handleUserCommand;
|
|
43
|
+
private handleAdminCommand;
|
|
44
|
+
/** Get user-safe help (no admin commands exposed). */
|
|
45
|
+
getUserHelp(): string;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/owner/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,mBAAmB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8CD,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAe;gBAGjC,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,EACjC,YAAY,EAAE,YAAY;IAO5B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW;IAkDvF;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAcpC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAkBrC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;IAgG1B,sDAAsD;IACtD,WAAW,IAAI,MAAM;CAGtB"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
// ─── Help ────────────────────────────────────────────────────────────────────
|
|
2
|
+
const OWNER_HELP = [
|
|
3
|
+
'👑 *Owner Commands*',
|
|
4
|
+
'',
|
|
5
|
+
'*Model:*',
|
|
6
|
+
'`/model` — Show settings-backed chat model route',
|
|
7
|
+
'`/models` — List settings-backed provider models and task routes',
|
|
8
|
+
'`/model <name>` — Not supported in memory-only mode; edit LLM settings instead',
|
|
9
|
+
'',
|
|
10
|
+
'*Config:*',
|
|
11
|
+
'`/config` — Show global config',
|
|
12
|
+
'`/config toggle_group` — Toggle group response',
|
|
13
|
+
'`/config toggle_tools` — Toggle tools',
|
|
14
|
+
'`/config memory <N>` — Set max messages per chat (e.g., /config memory 10)',
|
|
15
|
+
'`/config temp <0-1>` — Set AI temperature',
|
|
16
|
+
'',
|
|
17
|
+
'*Memory:*',
|
|
18
|
+
'`/memory` — Show memory stats per chat',
|
|
19
|
+
'`/memory clear <jid>` — Clear memory for a chat',
|
|
20
|
+
'',
|
|
21
|
+
'*Search:*',
|
|
22
|
+
'`/search <query>` — Web search',
|
|
23
|
+
'`/news <query>` — News search',
|
|
24
|
+
'`/fetch <url>` — Fetch URL',
|
|
25
|
+
'',
|
|
26
|
+
'*Other:*',
|
|
27
|
+
'`/audit` — View audit log (last 10)',
|
|
28
|
+
'`/help` — This help',
|
|
29
|
+
];
|
|
30
|
+
const USER_HELP = [
|
|
31
|
+
'🤖 *Available Commands*',
|
|
32
|
+
'',
|
|
33
|
+
'`/search <query>` — Search the web',
|
|
34
|
+
'`/news <query>` — Search news',
|
|
35
|
+
'`/fetch <url>` — Fetch a webpage',
|
|
36
|
+
'`/help` — Show this help',
|
|
37
|
+
'',
|
|
38
|
+
'_Just send a message for AI conversation!_',
|
|
39
|
+
];
|
|
40
|
+
// ─── Owner Router ────────────────────────────────────────────────────────────
|
|
41
|
+
export class OwnerRouter {
|
|
42
|
+
ownerIdentity;
|
|
43
|
+
globalConfig;
|
|
44
|
+
modelManager;
|
|
45
|
+
constructor(ownerIdentity, globalConfig, modelManager) {
|
|
46
|
+
this.ownerIdentity = ownerIdentity;
|
|
47
|
+
this.globalConfig = globalConfig;
|
|
48
|
+
this.modelManager = modelManager;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Route a message BEFORE any command parsing.
|
|
52
|
+
* Owner messages get admin routing. Others get user routing.
|
|
53
|
+
*/
|
|
54
|
+
route(senderJid, text, isGroup, chatJid) {
|
|
55
|
+
const isOwner = this.ownerIdentity.isOwner(senderJid, chatJid);
|
|
56
|
+
// ── NON-OWNER: Never expose admin commands ──
|
|
57
|
+
if (!isOwner) {
|
|
58
|
+
const isUserCmd = this.isUserCommand(text);
|
|
59
|
+
if (isUserCmd) {
|
|
60
|
+
return {
|
|
61
|
+
target: 'user_conversation',
|
|
62
|
+
isOwner: false,
|
|
63
|
+
isCommand: true,
|
|
64
|
+
reply: this.handleUserCommand(text),
|
|
65
|
+
command: text.split(' ')[0],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return { target: 'user_conversation', isOwner: false, isCommand: false };
|
|
69
|
+
}
|
|
70
|
+
// ── OWNER: Full admin access ──
|
|
71
|
+
// Groups: admin commands work in self-chat only
|
|
72
|
+
if (isGroup) {
|
|
73
|
+
// Owner in group — treat as normal conversation
|
|
74
|
+
const isUserCmd = this.isUserCommand(text);
|
|
75
|
+
if (isUserCmd) {
|
|
76
|
+
return {
|
|
77
|
+
target: 'owner_admin',
|
|
78
|
+
isOwner: true,
|
|
79
|
+
isCommand: true,
|
|
80
|
+
reply: this.handleUserCommand(text),
|
|
81
|
+
command: text.split(' ')[0],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return { target: 'user_conversation', isOwner: true, isCommand: false };
|
|
85
|
+
}
|
|
86
|
+
// Owner in DM — full admin
|
|
87
|
+
const isAdminCmd = this.isAdminCommand(text);
|
|
88
|
+
if (isAdminCmd) {
|
|
89
|
+
return {
|
|
90
|
+
target: 'owner_admin',
|
|
91
|
+
isOwner: true,
|
|
92
|
+
isCommand: true,
|
|
93
|
+
reply: this.handleAdminCommand(text),
|
|
94
|
+
command: text.split(' ')[0],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return { target: 'user_conversation', isOwner: true, isCommand: false };
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Check if a text starts with a known user command (exposed to all).
|
|
101
|
+
*/
|
|
102
|
+
isUserCommand(text) {
|
|
103
|
+
const t = text.trim().toLowerCase();
|
|
104
|
+
return (t.startsWith('/search') ||
|
|
105
|
+
t.startsWith('/news') ||
|
|
106
|
+
t.startsWith('/fetch') ||
|
|
107
|
+
t.startsWith('/s ') ||
|
|
108
|
+
t.startsWith('/n ') ||
|
|
109
|
+
t.startsWith('/f ') ||
|
|
110
|
+
t === '/help' ||
|
|
111
|
+
t === '/h');
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if a text starts with an admin command (owner only).
|
|
115
|
+
*/
|
|
116
|
+
isAdminCommand(text) {
|
|
117
|
+
const t = text.trim().toLowerCase();
|
|
118
|
+
return (t.startsWith('/model') ||
|
|
119
|
+
t.startsWith('/models') ||
|
|
120
|
+
t.startsWith('/config') ||
|
|
121
|
+
t.startsWith('/stats') ||
|
|
122
|
+
t.startsWith('/context') ||
|
|
123
|
+
t.startsWith('/memory') ||
|
|
124
|
+
t.startsWith('/audit') ||
|
|
125
|
+
t.startsWith('/debug') ||
|
|
126
|
+
t.startsWith('/status') ||
|
|
127
|
+
t === '/list');
|
|
128
|
+
}
|
|
129
|
+
// ─── Command Handlers ──────────────────────────────────────────────────
|
|
130
|
+
handleUserCommand(text) {
|
|
131
|
+
// Delegates to ToolRegistry — user commands only
|
|
132
|
+
return ''; // Will be handled by ToolRegistry in gateway
|
|
133
|
+
}
|
|
134
|
+
handleAdminCommand(text) {
|
|
135
|
+
const parts = text.trim().split(/\s+/);
|
|
136
|
+
const cmd = parts[0].toLowerCase();
|
|
137
|
+
switch (cmd) {
|
|
138
|
+
case '/models':
|
|
139
|
+
case '/list':
|
|
140
|
+
return this.modelManager.listModelsFormatted();
|
|
141
|
+
case '/model': {
|
|
142
|
+
if (parts.length < 2)
|
|
143
|
+
return this.modelManager.statusFormatted();
|
|
144
|
+
const result = this.modelManager.switchModel(parts.slice(1).join(' '));
|
|
145
|
+
if (result.success) {
|
|
146
|
+
this.globalConfig.set('model', result.model.id, 'owner');
|
|
147
|
+
return `✅ Switched to *${result.model.name}*\n\`${result.model.id}\``;
|
|
148
|
+
}
|
|
149
|
+
return `❌ ${result.error}`;
|
|
150
|
+
}
|
|
151
|
+
case '/config': {
|
|
152
|
+
if (parts.length < 2)
|
|
153
|
+
return this.globalConfig.statusFormatted();
|
|
154
|
+
const sub = parts[1].toLowerCase();
|
|
155
|
+
switch (sub) {
|
|
156
|
+
case 'toggle_group': {
|
|
157
|
+
const enabled = this.globalConfig.toggleGroupResponse('owner');
|
|
158
|
+
return `🔊 Group response: ${enabled ? '✅ ON' : '❌ OFF'}`;
|
|
159
|
+
}
|
|
160
|
+
case 'toggle_tools': {
|
|
161
|
+
const enabled = this.globalConfig.toggleTools('owner');
|
|
162
|
+
return `🔧 Tools: ${enabled ? '✅ ON' : '❌ OFF'}`;
|
|
163
|
+
}
|
|
164
|
+
case 'toggle_thinking':
|
|
165
|
+
case 'thinking': {
|
|
166
|
+
if (parts.length >= 3) {
|
|
167
|
+
const val = parts[2].toLowerCase();
|
|
168
|
+
const enable = val === 'on' || val === 'true' || val === '1';
|
|
169
|
+
this.globalConfig.set('thinkingEnabled', enable, 'owner');
|
|
170
|
+
return `🧠 Thinking: ${enable ? '✅ ON' : '❌ OFF (suppressed)'}`;
|
|
171
|
+
}
|
|
172
|
+
const toggled = this.globalConfig.toggleThinking('owner');
|
|
173
|
+
return `🧠 Thinking: ${toggled ? '✅ ON' : '❌ OFF (suppressed)'}`;
|
|
174
|
+
}
|
|
175
|
+
case 'memory': {
|
|
176
|
+
const limit = parseInt(parts[2], 10);
|
|
177
|
+
if (isNaN(limit) || limit < 1)
|
|
178
|
+
return 'Usage: /config memory <number>';
|
|
179
|
+
this.globalConfig.set('maxMessagesPerChat', limit, 'owner');
|
|
180
|
+
return `🧠 Memory limit set to *${limit}* messages per chat`;
|
|
181
|
+
}
|
|
182
|
+
case 'temp': {
|
|
183
|
+
const temp = parseFloat(parts[2]);
|
|
184
|
+
if (isNaN(temp) || temp < 0 || temp > 1)
|
|
185
|
+
return 'Usage: /config temp <0.0-1.0>';
|
|
186
|
+
this.globalConfig.set('temperature', temp, 'owner');
|
|
187
|
+
return `🌡️ Temperature set to *${temp}*`;
|
|
188
|
+
}
|
|
189
|
+
default:
|
|
190
|
+
return `Unknown config key: "${sub}". Available: toggle_group, toggle_tools, toggle_thinking, thinking on|off, memory, temp`;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
case '/memory': {
|
|
194
|
+
const parts2 = text.trim().split(/\s+/);
|
|
195
|
+
if (parts2.length >= 3 && parts2[1] === 'clear') {
|
|
196
|
+
return `__OPS_MEMORY_CLEAR__${parts2.slice(2).join(' ')}`;
|
|
197
|
+
}
|
|
198
|
+
if (parts2.length >= 2 && !parts2[1].startsWith('-')) {
|
|
199
|
+
return `__OPS_MEMORY__${parts2[1]}`;
|
|
200
|
+
}
|
|
201
|
+
return '__OPS_MEMORY__';
|
|
202
|
+
}
|
|
203
|
+
case '/stats':
|
|
204
|
+
return '__OPS_STATS__';
|
|
205
|
+
case '/context': {
|
|
206
|
+
const ctxParts = text.trim().split(/\s+/);
|
|
207
|
+
if (ctxParts.length >= 2)
|
|
208
|
+
return `__OPS_CONTEXT__${ctxParts.slice(1).join(' ')}`;
|
|
209
|
+
return 'Usage: /context <customer name or ID>';
|
|
210
|
+
}
|
|
211
|
+
case '/audit': {
|
|
212
|
+
const log = this.globalConfig.getAuditLog(10);
|
|
213
|
+
if (log.length === 0)
|
|
214
|
+
return '📋 No audit entries yet.';
|
|
215
|
+
return '📋 *Audit Log (last 10)*\n\n' + log.map((e) => `\`${new Date(e.timestamp).toISOString().slice(0, 19)}\` — ${e.command}: ${e.oldValue} → ${e.newValue}`).join('\n');
|
|
216
|
+
}
|
|
217
|
+
case '/help':
|
|
218
|
+
case '/h':
|
|
219
|
+
return OWNER_HELP.join('\n');
|
|
220
|
+
default:
|
|
221
|
+
return '';
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/** Get user-safe help (no admin commands exposed). */
|
|
225
|
+
getUserHelp() {
|
|
226
|
+
return USER_HELP.join('\n');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=router.js.map
|