@lobu/gateway 2.8.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/dist/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +6 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/platform.d.ts +92 -0
- package/dist/api/platform.d.ts.map +1 -0
- package/dist/api/platform.js +236 -0
- package/dist/api/platform.js.map +1 -0
- package/dist/api/response-renderer.d.ts +44 -0
- package/dist/api/response-renderer.d.ts.map +1 -0
- package/dist/api/response-renderer.js +123 -0
- package/dist/api/response-renderer.js.map +1 -0
- package/dist/auth/agent-metadata-store.d.ts +64 -0
- package/dist/auth/agent-metadata-store.d.ts.map +1 -0
- package/dist/auth/agent-metadata-store.js +115 -0
- package/dist/auth/agent-metadata-store.js.map +1 -0
- package/dist/auth/api-auth-middleware.d.ts +19 -0
- package/dist/auth/api-auth-middleware.d.ts.map +1 -0
- package/dist/auth/api-auth-middleware.js +61 -0
- package/dist/auth/api-auth-middleware.js.map +1 -0
- package/dist/auth/api-key-provider-module.d.ts +60 -0
- package/dist/auth/api-key-provider-module.d.ts.map +1 -0
- package/dist/auth/api-key-provider-module.js +148 -0
- package/dist/auth/api-key-provider-module.js.map +1 -0
- package/dist/auth/base-provider-module.d.ts +70 -0
- package/dist/auth/base-provider-module.d.ts.map +1 -0
- package/dist/auth/base-provider-module.js +118 -0
- package/dist/auth/base-provider-module.js.map +1 -0
- package/dist/auth/chatgpt/chatgpt-oauth-module.d.ts +34 -0
- package/dist/auth/chatgpt/chatgpt-oauth-module.d.ts.map +1 -0
- package/dist/auth/chatgpt/chatgpt-oauth-module.js +136 -0
- package/dist/auth/chatgpt/chatgpt-oauth-module.js.map +1 -0
- package/dist/auth/chatgpt/device-code-client.d.ts +40 -0
- package/dist/auth/chatgpt/device-code-client.d.ts.map +1 -0
- package/dist/auth/chatgpt/device-code-client.js +165 -0
- package/dist/auth/chatgpt/device-code-client.js.map +1 -0
- package/dist/auth/chatgpt/index.d.ts +2 -0
- package/dist/auth/chatgpt/index.d.ts.map +1 -0
- package/dist/auth/chatgpt/index.js +6 -0
- package/dist/auth/chatgpt/index.js.map +1 -0
- package/dist/auth/claude/oauth-module.d.ts +29 -0
- package/dist/auth/claude/oauth-module.d.ts.map +1 -0
- package/dist/auth/claude/oauth-module.js +201 -0
- package/dist/auth/claude/oauth-module.js.map +1 -0
- package/dist/auth/cli/token-service.d.ts +35 -0
- package/dist/auth/cli/token-service.d.ts.map +1 -0
- package/dist/auth/cli/token-service.js +171 -0
- package/dist/auth/cli/token-service.js.map +1 -0
- package/dist/auth/external/client.d.ts +65 -0
- package/dist/auth/external/client.d.ts.map +1 -0
- package/dist/auth/external/client.js +348 -0
- package/dist/auth/external/client.js.map +1 -0
- package/dist/auth/external/device-code-client.d.ts +41 -0
- package/dist/auth/external/device-code-client.d.ts.map +1 -0
- package/dist/auth/external/device-code-client.js +128 -0
- package/dist/auth/external/device-code-client.js.map +1 -0
- package/dist/auth/mcp/config-service.d.ts +70 -0
- package/dist/auth/mcp/config-service.d.ts.map +1 -0
- package/dist/auth/mcp/config-service.js +269 -0
- package/dist/auth/mcp/config-service.js.map +1 -0
- package/dist/auth/mcp/proxy.d.ts +68 -0
- package/dist/auth/mcp/proxy.d.ts.map +1 -0
- package/dist/auth/mcp/proxy.js +783 -0
- package/dist/auth/mcp/proxy.js.map +1 -0
- package/dist/auth/mcp/string-substitution.d.ts +11 -0
- package/dist/auth/mcp/string-substitution.d.ts.map +1 -0
- package/dist/auth/mcp/string-substitution.js +21 -0
- package/dist/auth/mcp/string-substitution.js.map +1 -0
- package/dist/auth/mcp/tool-cache.d.ts +26 -0
- package/dist/auth/mcp/tool-cache.d.ts.map +1 -0
- package/dist/auth/mcp/tool-cache.js +58 -0
- package/dist/auth/mcp/tool-cache.js.map +1 -0
- package/dist/auth/oauth/base-client.d.ts +54 -0
- package/dist/auth/oauth/base-client.d.ts.map +1 -0
- package/dist/auth/oauth/base-client.js +191 -0
- package/dist/auth/oauth/base-client.js.map +1 -0
- package/dist/auth/oauth/client.d.ts +35 -0
- package/dist/auth/oauth/client.d.ts.map +1 -0
- package/dist/auth/oauth/client.js +96 -0
- package/dist/auth/oauth/client.js.map +1 -0
- package/dist/auth/oauth/credentials.d.ts +8 -0
- package/dist/auth/oauth/credentials.d.ts.map +1 -0
- package/dist/auth/oauth/credentials.js +3 -0
- package/dist/auth/oauth/credentials.js.map +1 -0
- package/dist/auth/oauth/providers.d.ts +44 -0
- package/dist/auth/oauth/providers.d.ts.map +1 -0
- package/dist/auth/oauth/providers.js +37 -0
- package/dist/auth/oauth/providers.js.map +1 -0
- package/dist/auth/oauth/state-store.d.ts +62 -0
- package/dist/auth/oauth/state-store.d.ts.map +1 -0
- package/dist/auth/oauth/state-store.js +84 -0
- package/dist/auth/oauth/state-store.js.map +1 -0
- package/dist/auth/oauth-templates.d.ts +15 -0
- package/dist/auth/oauth-templates.d.ts.map +1 -0
- package/dist/auth/oauth-templates.js +161 -0
- package/dist/auth/oauth-templates.js.map +1 -0
- package/dist/auth/provider-catalog.d.ts +52 -0
- package/dist/auth/provider-catalog.d.ts.map +1 -0
- package/dist/auth/provider-catalog.js +155 -0
- package/dist/auth/provider-catalog.js.map +1 -0
- package/dist/auth/provider-model-options.d.ts +3 -0
- package/dist/auth/provider-model-options.d.ts.map +1 -0
- package/dist/auth/provider-model-options.js +29 -0
- package/dist/auth/provider-model-options.js.map +1 -0
- package/dist/auth/settings/agent-settings-store.d.ts +112 -0
- package/dist/auth/settings/agent-settings-store.d.ts.map +1 -0
- package/dist/auth/settings/agent-settings-store.js +376 -0
- package/dist/auth/settings/agent-settings-store.js.map +1 -0
- package/dist/auth/settings/auth-profiles-manager.d.ts +26 -0
- package/dist/auth/settings/auth-profiles-manager.d.ts.map +1 -0
- package/dist/auth/settings/auth-profiles-manager.js +146 -0
- package/dist/auth/settings/auth-profiles-manager.js.map +1 -0
- package/dist/auth/settings/index.d.ts +4 -0
- package/dist/auth/settings/index.d.ts.map +1 -0
- package/dist/auth/settings/index.js +9 -0
- package/dist/auth/settings/index.js.map +1 -0
- package/dist/auth/settings/model-preference-store.d.ts +25 -0
- package/dist/auth/settings/model-preference-store.d.ts.map +1 -0
- package/dist/auth/settings/model-preference-store.js +50 -0
- package/dist/auth/settings/model-preference-store.js.map +1 -0
- package/dist/auth/settings/model-selection.d.ts +11 -0
- package/dist/auth/settings/model-selection.d.ts.map +1 -0
- package/dist/auth/settings/model-selection.js +83 -0
- package/dist/auth/settings/model-selection.js.map +1 -0
- package/dist/auth/settings/resolved-settings-view.d.ts +45 -0
- package/dist/auth/settings/resolved-settings-view.d.ts.map +1 -0
- package/dist/auth/settings/resolved-settings-view.js +152 -0
- package/dist/auth/settings/resolved-settings-view.js.map +1 -0
- package/dist/auth/settings/template-utils.d.ts +3 -0
- package/dist/auth/settings/template-utils.d.ts.map +1 -0
- package/dist/auth/settings/template-utils.js +43 -0
- package/dist/auth/settings/template-utils.js.map +1 -0
- package/dist/auth/settings/token-service.d.ts +86 -0
- package/dist/auth/settings/token-service.d.ts.map +1 -0
- package/dist/auth/settings/token-service.js +3 -0
- package/dist/auth/settings/token-service.js.map +1 -0
- package/dist/auth/system-env-store.d.ts +26 -0
- package/dist/auth/system-env-store.d.ts.map +1 -0
- package/dist/auth/system-env-store.js +92 -0
- package/dist/auth/system-env-store.js.map +1 -0
- package/dist/auth/user-agents-store.d.ts +31 -0
- package/dist/auth/user-agents-store.d.ts.map +1 -0
- package/dist/auth/user-agents-store.js +54 -0
- package/dist/auth/user-agents-store.js.map +1 -0
- package/dist/channels/binding-service.d.ts +69 -0
- package/dist/channels/binding-service.d.ts.map +1 -0
- package/dist/channels/binding-service.js +144 -0
- package/dist/channels/binding-service.js.map +1 -0
- package/dist/channels/index.d.ts +2 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +6 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/cli/gateway.d.ts +31 -0
- package/dist/cli/gateway.d.ts.map +1 -0
- package/dist/cli/gateway.js +1062 -0
- package/dist/cli/gateway.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +56 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/built-in-commands.d.ts +10 -0
- package/dist/commands/built-in-commands.d.ts.map +1 -0
- package/dist/commands/built-in-commands.js +63 -0
- package/dist/commands/built-in-commands.js.map +1 -0
- package/dist/commands/command-dispatcher.d.ts +25 -0
- package/dist/commands/command-dispatcher.d.ts.map +1 -0
- package/dist/commands/command-dispatcher.js +50 -0
- package/dist/commands/command-dispatcher.js.map +1 -0
- package/dist/commands/command-reply-adapters.d.ts +3 -0
- package/dist/commands/command-reply-adapters.d.ts.map +1 -0
- package/dist/commands/command-reply-adapters.js +60 -0
- package/dist/commands/command-reply-adapters.js.map +1 -0
- package/dist/config/file-loader.d.ts +23 -0
- package/dist/config/file-loader.d.ts.map +1 -0
- package/dist/config/file-loader.js +495 -0
- package/dist/config/file-loader.js.map +1 -0
- package/dist/config/index.d.ts +96 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +357 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/network-allowlist.d.ts +18 -0
- package/dist/config/network-allowlist.d.ts.map +1 -0
- package/dist/config/network-allowlist.js +60 -0
- package/dist/config/network-allowlist.js.map +1 -0
- package/dist/connections/chat-instance-manager.d.ts +107 -0
- package/dist/connections/chat-instance-manager.d.ts.map +1 -0
- package/dist/connections/chat-instance-manager.js +886 -0
- package/dist/connections/chat-instance-manager.js.map +1 -0
- package/dist/connections/chat-response-bridge.d.ts +31 -0
- package/dist/connections/chat-response-bridge.d.ts.map +1 -0
- package/dist/connections/chat-response-bridge.js +465 -0
- package/dist/connections/chat-response-bridge.js.map +1 -0
- package/dist/connections/index.d.ts +4 -0
- package/dist/connections/index.d.ts.map +1 -0
- package/dist/connections/index.js +8 -0
- package/dist/connections/index.js.map +1 -0
- package/dist/connections/interaction-bridge.d.ts +7 -0
- package/dist/connections/interaction-bridge.d.ts.map +1 -0
- package/dist/connections/interaction-bridge.js +593 -0
- package/dist/connections/interaction-bridge.js.map +1 -0
- package/dist/connections/message-handler-bridge.d.ts +21 -0
- package/dist/connections/message-handler-bridge.d.ts.map +1 -0
- package/dist/connections/message-handler-bridge.js +314 -0
- package/dist/connections/message-handler-bridge.js.map +1 -0
- package/dist/connections/platform-auth-methods.d.ts +5 -0
- package/dist/connections/platform-auth-methods.d.ts.map +1 -0
- package/dist/connections/platform-auth-methods.js +13 -0
- package/dist/connections/platform-auth-methods.js.map +1 -0
- package/dist/connections/types.d.ts +52 -0
- package/dist/connections/types.d.ts.map +1 -0
- package/dist/connections/types.js +20 -0
- package/dist/connections/types.js.map +1 -0
- package/dist/gateway/connection-manager.d.ts +87 -0
- package/dist/gateway/connection-manager.d.ts.map +1 -0
- package/dist/gateway/connection-manager.js +216 -0
- package/dist/gateway/connection-manager.js.map +1 -0
- package/dist/gateway/index.d.ts +71 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +509 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/job-router.d.ts +60 -0
- package/dist/gateway/job-router.d.ts.map +1 -0
- package/dist/gateway/job-router.js +148 -0
- package/dist/gateway/job-router.js.map +1 -0
- package/dist/gateway-main.d.ts +81 -0
- package/dist/gateway-main.d.ts.map +1 -0
- package/dist/gateway-main.js +143 -0
- package/dist/gateway-main.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/queue/index.d.ts +8 -0
- package/dist/infrastructure/queue/index.d.ts.map +1 -0
- package/dist/infrastructure/queue/index.js +12 -0
- package/dist/infrastructure/queue/index.js.map +1 -0
- package/dist/infrastructure/queue/queue-producer.d.ts +68 -0
- package/dist/infrastructure/queue/queue-producer.d.ts.map +1 -0
- package/dist/infrastructure/queue/queue-producer.js +72 -0
- package/dist/infrastructure/queue/queue-producer.js.map +1 -0
- package/dist/infrastructure/queue/redis-queue.d.ts +45 -0
- package/dist/infrastructure/queue/redis-queue.d.ts.map +1 -0
- package/dist/infrastructure/queue/redis-queue.js +273 -0
- package/dist/infrastructure/queue/redis-queue.js.map +1 -0
- package/dist/infrastructure/queue/types.d.ts +107 -0
- package/dist/infrastructure/queue/types.d.ts.map +1 -0
- package/dist/infrastructure/queue/types.js +7 -0
- package/dist/infrastructure/queue/types.js.map +1 -0
- package/dist/infrastructure/redis/system-message-limiter.d.ts +35 -0
- package/dist/infrastructure/redis/system-message-limiter.d.ts.map +1 -0
- package/dist/infrastructure/redis/system-message-limiter.js +61 -0
- package/dist/infrastructure/redis/system-message-limiter.js.map +1 -0
- package/dist/interactions/config-request-store.d.ts +41 -0
- package/dist/interactions/config-request-store.d.ts.map +1 -0
- package/dist/interactions/config-request-store.js +103 -0
- package/dist/interactions/config-request-store.js.map +1 -0
- package/dist/interactions.d.ts +134 -0
- package/dist/interactions.d.ts.map +1 -0
- package/dist/interactions.js +175 -0
- package/dist/interactions.js.map +1 -0
- package/dist/lobu.d.ts +78 -0
- package/dist/lobu.d.ts.map +1 -0
- package/dist/lobu.js +248 -0
- package/dist/lobu.js.map +1 -0
- package/dist/metrics/prometheus.d.ts +6 -0
- package/dist/metrics/prometheus.d.ts.map +1 -0
- package/dist/metrics/prometheus.js +78 -0
- package/dist/metrics/prometheus.js.map +1 -0
- package/dist/modules/module-system.d.ts +82 -0
- package/dist/modules/module-system.d.ts.map +1 -0
- package/dist/modules/module-system.js +53 -0
- package/dist/modules/module-system.js.map +1 -0
- package/dist/orchestration/base-deployment-manager.d.ts +173 -0
- package/dist/orchestration/base-deployment-manager.d.ts.map +1 -0
- package/dist/orchestration/base-deployment-manager.js +553 -0
- package/dist/orchestration/base-deployment-manager.js.map +1 -0
- package/dist/orchestration/deployment-utils.d.ts +25 -0
- package/dist/orchestration/deployment-utils.d.ts.map +1 -0
- package/dist/orchestration/deployment-utils.js +65 -0
- package/dist/orchestration/deployment-utils.js.map +1 -0
- package/dist/orchestration/impl/docker-deployment.d.ts +43 -0
- package/dist/orchestration/impl/docker-deployment.d.ts.map +1 -0
- package/dist/orchestration/impl/docker-deployment.js +480 -0
- package/dist/orchestration/impl/docker-deployment.js.map +1 -0
- package/dist/orchestration/impl/embedded-deployment.d.ts +16 -0
- package/dist/orchestration/impl/embedded-deployment.d.ts.map +1 -0
- package/dist/orchestration/impl/embedded-deployment.js +195 -0
- package/dist/orchestration/impl/embedded-deployment.js.map +1 -0
- package/dist/orchestration/impl/index.d.ts +8 -0
- package/dist/orchestration/impl/index.d.ts.map +1 -0
- package/dist/orchestration/impl/index.js +14 -0
- package/dist/orchestration/impl/index.js.map +1 -0
- package/dist/orchestration/impl/k8s/deployment.d.ts +204 -0
- package/dist/orchestration/impl/k8s/deployment.d.ts.map +1 -0
- package/dist/orchestration/impl/k8s/deployment.js +620 -0
- package/dist/orchestration/impl/k8s/deployment.js.map +1 -0
- package/dist/orchestration/impl/k8s/helpers.d.ts +34 -0
- package/dist/orchestration/impl/k8s/helpers.d.ts.map +1 -0
- package/dist/orchestration/impl/k8s/helpers.js +377 -0
- package/dist/orchestration/impl/k8s/helpers.js.map +1 -0
- package/dist/orchestration/impl/k8s/index.d.ts +2 -0
- package/dist/orchestration/impl/k8s/index.d.ts.map +1 -0
- package/dist/orchestration/impl/k8s/index.js +6 -0
- package/dist/orchestration/impl/k8s/index.js.map +1 -0
- package/dist/orchestration/index.d.ts +53 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +257 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/message-consumer.d.ts +49 -0
- package/dist/orchestration/message-consumer.d.ts.map +1 -0
- package/dist/orchestration/message-consumer.js +406 -0
- package/dist/orchestration/message-consumer.js.map +1 -0
- package/dist/orchestration/scheduled-wakeup.d.ts +110 -0
- package/dist/orchestration/scheduled-wakeup.d.ts.map +1 -0
- package/dist/orchestration/scheduled-wakeup.js +500 -0
- package/dist/orchestration/scheduled-wakeup.js.map +1 -0
- package/dist/permissions/approval-policy.d.ts +28 -0
- package/dist/permissions/approval-policy.d.ts.map +1 -0
- package/dist/permissions/approval-policy.js +33 -0
- package/dist/permissions/approval-policy.js.map +1 -0
- package/dist/permissions/grant-store.d.ts +52 -0
- package/dist/permissions/grant-store.d.ts.map +1 -0
- package/dist/permissions/grant-store.js +192 -0
- package/dist/permissions/grant-store.js.map +1 -0
- package/dist/platform/file-handler.d.ts +51 -0
- package/dist/platform/file-handler.d.ts.map +1 -0
- package/dist/platform/file-handler.js +6 -0
- package/dist/platform/file-handler.js.map +1 -0
- package/dist/platform/link-buttons.d.ts +21 -0
- package/dist/platform/link-buttons.d.ts.map +1 -0
- package/dist/platform/link-buttons.js +43 -0
- package/dist/platform/link-buttons.js.map +1 -0
- package/dist/platform/renderer-utils.d.ts +10 -0
- package/dist/platform/renderer-utils.d.ts.map +1 -0
- package/dist/platform/renderer-utils.js +42 -0
- package/dist/platform/renderer-utils.js.map +1 -0
- package/dist/platform/response-renderer.d.ts +66 -0
- package/dist/platform/response-renderer.d.ts.map +1 -0
- package/dist/platform/response-renderer.js +8 -0
- package/dist/platform/response-renderer.js.map +1 -0
- package/dist/platform/unified-thread-consumer.d.ts +41 -0
- package/dist/platform/unified-thread-consumer.d.ts.map +1 -0
- package/dist/platform/unified-thread-consumer.js +143 -0
- package/dist/platform/unified-thread-consumer.js.map +1 -0
- package/dist/platform.d.ts +255 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +40 -0
- package/dist/platform.js.map +1 -0
- package/dist/proxy/http-proxy.d.ts +32 -0
- package/dist/proxy/http-proxy.d.ts.map +1 -0
- package/dist/proxy/http-proxy.js +636 -0
- package/dist/proxy/http-proxy.js.map +1 -0
- package/dist/proxy/proxy-manager.d.ts +13 -0
- package/dist/proxy/proxy-manager.d.ts.map +1 -0
- package/dist/proxy/proxy-manager.js +68 -0
- package/dist/proxy/proxy-manager.js.map +1 -0
- package/dist/proxy/secret-proxy.d.ts +78 -0
- package/dist/proxy/secret-proxy.d.ts.map +1 -0
- package/dist/proxy/secret-proxy.js +309 -0
- package/dist/proxy/secret-proxy.js.map +1 -0
- package/dist/proxy/token-refresh-job.d.ts +29 -0
- package/dist/proxy/token-refresh-job.d.ts.map +1 -0
- package/dist/proxy/token-refresh-job.js +104 -0
- package/dist/proxy/token-refresh-job.js.map +1 -0
- package/dist/routes/internal/audio.d.ts +14 -0
- package/dist/routes/internal/audio.d.ts.map +1 -0
- package/dist/routes/internal/audio.js +118 -0
- package/dist/routes/internal/audio.js.map +1 -0
- package/dist/routes/internal/device-auth.d.ts +42 -0
- package/dist/routes/internal/device-auth.d.ts.map +1 -0
- package/dist/routes/internal/device-auth.js +397 -0
- package/dist/routes/internal/device-auth.js.map +1 -0
- package/dist/routes/internal/files.d.ts +9 -0
- package/dist/routes/internal/files.d.ts.map +1 -0
- package/dist/routes/internal/files.js +175 -0
- package/dist/routes/internal/files.js.map +1 -0
- package/dist/routes/internal/history.d.ts +9 -0
- package/dist/routes/internal/history.d.ts.map +1 -0
- package/dist/routes/internal/history.js +55 -0
- package/dist/routes/internal/history.js.map +1 -0
- package/dist/routes/internal/images.d.ts +10 -0
- package/dist/routes/internal/images.d.ts.map +1 -0
- package/dist/routes/internal/images.js +101 -0
- package/dist/routes/internal/images.js.map +1 -0
- package/dist/routes/internal/interactions.d.ts +9 -0
- package/dist/routes/internal/interactions.d.ts.map +1 -0
- package/dist/routes/internal/interactions.js +53 -0
- package/dist/routes/internal/interactions.js.map +1 -0
- package/dist/routes/internal/middleware.d.ts +7 -0
- package/dist/routes/internal/middleware.d.ts.map +1 -0
- package/dist/routes/internal/middleware.js +24 -0
- package/dist/routes/internal/middleware.js.map +1 -0
- package/dist/routes/internal/schedule.d.ts +14 -0
- package/dist/routes/internal/schedule.d.ts.map +1 -0
- package/dist/routes/internal/schedule.js +169 -0
- package/dist/routes/internal/schedule.js.map +1 -0
- package/dist/routes/internal/types.d.ts +22 -0
- package/dist/routes/internal/types.d.ts.map +1 -0
- package/dist/routes/internal/types.js +6 -0
- package/dist/routes/internal/types.js.map +1 -0
- package/dist/routes/openapi-auto.d.ts +8 -0
- package/dist/routes/openapi-auto.d.ts.map +1 -0
- package/dist/routes/openapi-auto.js +196 -0
- package/dist/routes/openapi-auto.js.map +1 -0
- package/dist/routes/public/agent-access.d.ts +11 -0
- package/dist/routes/public/agent-access.d.ts.map +1 -0
- package/dist/routes/public/agent-access.js +11 -0
- package/dist/routes/public/agent-access.js.map +1 -0
- package/dist/routes/public/agent-config.d.ts +42 -0
- package/dist/routes/public/agent-config.d.ts.map +1 -0
- package/dist/routes/public/agent-config.js +415 -0
- package/dist/routes/public/agent-config.js.map +1 -0
- package/dist/routes/public/agent-history.d.ts +17 -0
- package/dist/routes/public/agent-history.d.ts.map +1 -0
- package/dist/routes/public/agent-history.js +335 -0
- package/dist/routes/public/agent-history.js.map +1 -0
- package/dist/routes/public/agent-schedules.d.ts +18 -0
- package/dist/routes/public/agent-schedules.d.ts.map +1 -0
- package/dist/routes/public/agent-schedules.js +242 -0
- package/dist/routes/public/agent-schedules.js.map +1 -0
- package/dist/routes/public/agent.d.ts +23 -0
- package/dist/routes/public/agent.d.ts.map +1 -0
- package/dist/routes/public/agent.js +864 -0
- package/dist/routes/public/agent.js.map +1 -0
- package/dist/routes/public/agents.d.ts +22 -0
- package/dist/routes/public/agents.d.ts.map +1 -0
- package/dist/routes/public/agents.js +257 -0
- package/dist/routes/public/agents.js.map +1 -0
- package/dist/routes/public/channels.d.ts +23 -0
- package/dist/routes/public/channels.d.ts.map +1 -0
- package/dist/routes/public/channels.js +131 -0
- package/dist/routes/public/channels.js.map +1 -0
- package/dist/routes/public/cli-auth.d.ts +12 -0
- package/dist/routes/public/cli-auth.d.ts.map +1 -0
- package/dist/routes/public/cli-auth.js +552 -0
- package/dist/routes/public/cli-auth.js.map +1 -0
- package/dist/routes/public/connections.d.ts +20 -0
- package/dist/routes/public/connections.d.ts.map +1 -0
- package/dist/routes/public/connections.js +464 -0
- package/dist/routes/public/connections.js.map +1 -0
- package/dist/routes/public/landing.d.ts +3 -0
- package/dist/routes/public/landing.d.ts.map +1 -0
- package/dist/routes/public/landing.js +17 -0
- package/dist/routes/public/landing.js.map +1 -0
- package/dist/routes/public/oauth.d.ts +24 -0
- package/dist/routes/public/oauth.d.ts.map +1 -0
- package/dist/routes/public/oauth.js +108 -0
- package/dist/routes/public/oauth.js.map +1 -0
- package/dist/routes/public/settings-auth.d.ts +28 -0
- package/dist/routes/public/settings-auth.d.ts.map +1 -0
- package/dist/routes/public/settings-auth.js +90 -0
- package/dist/routes/public/settings-auth.js.map +1 -0
- package/dist/routes/public/slack.d.ts +4 -0
- package/dist/routes/public/slack.d.ts.map +1 -0
- package/dist/routes/public/slack.js +119 -0
- package/dist/routes/public/slack.js.map +1 -0
- package/dist/routes/shared/agent-ownership.d.ts +15 -0
- package/dist/routes/shared/agent-ownership.d.ts.map +1 -0
- package/dist/routes/shared/agent-ownership.js +61 -0
- package/dist/routes/shared/agent-ownership.js.map +1 -0
- package/dist/routes/shared/token-verifier.d.ts +21 -0
- package/dist/routes/shared/token-verifier.d.ts.map +1 -0
- package/dist/routes/shared/token-verifier.js +25 -0
- package/dist/routes/shared/token-verifier.js.map +1 -0
- package/dist/services/core-services.d.ts +133 -0
- package/dist/services/core-services.d.ts.map +1 -0
- package/dist/services/core-services.js +728 -0
- package/dist/services/core-services.js.map +1 -0
- package/dist/services/image-generation-service.d.ts +38 -0
- package/dist/services/image-generation-service.d.ts.map +1 -0
- package/dist/services/image-generation-service.js +167 -0
- package/dist/services/image-generation-service.js.map +1 -0
- package/dist/services/instruction-service.d.ts +41 -0
- package/dist/services/instruction-service.d.ts.map +1 -0
- package/dist/services/instruction-service.js +252 -0
- package/dist/services/instruction-service.js.map +1 -0
- package/dist/services/mcp-registry.d.ts +31 -0
- package/dist/services/mcp-registry.d.ts.map +1 -0
- package/dist/services/mcp-registry.js +69 -0
- package/dist/services/mcp-registry.js.map +1 -0
- package/dist/services/platform-helpers.d.ts +47 -0
- package/dist/services/platform-helpers.d.ts.map +1 -0
- package/dist/services/platform-helpers.js +200 -0
- package/dist/services/platform-helpers.js.map +1 -0
- package/dist/services/session-manager.d.ts +72 -0
- package/dist/services/session-manager.d.ts.map +1 -0
- package/dist/services/session-manager.js +199 -0
- package/dist/services/session-manager.js.map +1 -0
- package/dist/services/settings-resolver.d.ts +25 -0
- package/dist/services/settings-resolver.d.ts.map +1 -0
- package/dist/services/settings-resolver.js +55 -0
- package/dist/services/settings-resolver.js.map +1 -0
- package/dist/services/system-config-resolver.d.ts +25 -0
- package/dist/services/system-config-resolver.d.ts.map +1 -0
- package/dist/services/system-config-resolver.js +73 -0
- package/dist/services/system-config-resolver.js.map +1 -0
- package/dist/services/system-skills-service.d.ts +38 -0
- package/dist/services/system-skills-service.d.ts.map +1 -0
- package/dist/services/system-skills-service.js +186 -0
- package/dist/services/system-skills-service.js.map +1 -0
- package/dist/services/transcription-service.d.ts +91 -0
- package/dist/services/transcription-service.d.ts.map +1 -0
- package/dist/services/transcription-service.js +465 -0
- package/dist/services/transcription-service.js.map +1 -0
- package/dist/session.d.ts +75 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +19 -0
- package/dist/session.js.map +1 -0
- package/dist/spaces/index.d.ts +2 -0
- package/dist/spaces/index.d.ts.map +1 -0
- package/dist/spaces/index.js +18 -0
- package/dist/spaces/index.js.map +1 -0
- package/dist/spaces/space-resolver.d.ts +10 -0
- package/dist/spaces/space-resolver.d.ts.map +1 -0
- package/dist/spaces/space-resolver.js +17 -0
- package/dist/spaces/space-resolver.js.map +1 -0
- package/dist/stores/in-memory-agent-store.d.ts +57 -0
- package/dist/stores/in-memory-agent-store.d.ts.map +1 -0
- package/dist/stores/in-memory-agent-store.js +304 -0
- package/dist/stores/in-memory-agent-store.js.map +1 -0
- package/dist/stores/redis-agent-store.d.ts +57 -0
- package/dist/stores/redis-agent-store.d.ts.map +1 -0
- package/dist/stores/redis-agent-store.js +163 -0
- package/dist/stores/redis-agent-store.js.map +1 -0
- package/dist/utils/public-url.d.ts +6 -0
- package/dist/utils/public-url.d.ts.map +1 -0
- package/dist/utils/public-url.js +33 -0
- package/dist/utils/public-url.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +32 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +56 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified thread response consumer.
|
|
4
|
+
* Single consumer that routes responses to platform-specific renderers
|
|
5
|
+
* via the PlatformRegistry, eliminating duplicate queue filtering logic.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.UnifiedThreadResponseConsumer = void 0;
|
|
9
|
+
const core_1 = require("@lobu/core");
|
|
10
|
+
const logger = (0, core_1.createLogger)("unified-thread-consumer");
|
|
11
|
+
/**
|
|
12
|
+
* Unified consumer for thread_response queue.
|
|
13
|
+
* Routes responses to the appropriate platform adapter based on payload.platform field.
|
|
14
|
+
*/
|
|
15
|
+
class UnifiedThreadResponseConsumer {
|
|
16
|
+
constructor(queue, platformRegistry) {
|
|
17
|
+
this.queue = queue;
|
|
18
|
+
this.platformRegistry = platformRegistry;
|
|
19
|
+
this.isRunning = false;
|
|
20
|
+
}
|
|
21
|
+
setChatResponseBridge(bridge) {
|
|
22
|
+
this.chatResponseBridge = bridge;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Start consuming thread_response messages.
|
|
26
|
+
*/
|
|
27
|
+
async start() {
|
|
28
|
+
try {
|
|
29
|
+
await this.queue.start();
|
|
30
|
+
await this.queue.createQueue("thread_response");
|
|
31
|
+
await this.queue.work("thread_response", this.handleThreadResponse.bind(this));
|
|
32
|
+
this.isRunning = true;
|
|
33
|
+
logger.debug("Unified thread response consumer started");
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
logger.error("Failed to start unified thread response consumer:", error);
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Stop the consumer.
|
|
42
|
+
*/
|
|
43
|
+
async stop() {
|
|
44
|
+
this.isRunning = false;
|
|
45
|
+
await this.queue.stop();
|
|
46
|
+
logger.info("Unified thread response consumer stopped");
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Handle a thread response job by routing to the appropriate platform renderer.
|
|
50
|
+
*/
|
|
51
|
+
async handleThreadResponse(job) {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
const data = job.data;
|
|
54
|
+
if (!data || !data.messageId) {
|
|
55
|
+
logger.error(`Invalid thread response data: ${JSON.stringify(data)}`);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Check if this response belongs to a Chat SDK connection — handle before legacy routing
|
|
59
|
+
if ((_a = this.chatResponseBridge) === null || _a === void 0 ? void 0 : _a.canHandle(data)) {
|
|
60
|
+
const sessionKey = `${data.userId}:${data.originalMessageId || data.messageId}`;
|
|
61
|
+
try {
|
|
62
|
+
await this.routeToRenderer(this.chatResponseBridge, data, sessionKey);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
logger.error("Error processing Chat SDK response:", error);
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Use platform field, fall back to teamId
|
|
71
|
+
const platformName = data.platform || data.teamId;
|
|
72
|
+
if (!platformName) {
|
|
73
|
+
logger.warn(`Missing platform in thread response for message ${data.messageId}, skipping`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// Get platform adapter from registry
|
|
77
|
+
const platform = this.platformRegistry.get(platformName);
|
|
78
|
+
if (!platform) {
|
|
79
|
+
logger.warn(`No platform adapter registered for: ${platformName}, skipping message ${data.messageId}`);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
// Get renderer from platform
|
|
83
|
+
const renderer = (_b = platform.getResponseRenderer) === null || _b === void 0 ? void 0 : _b.call(platform);
|
|
84
|
+
if (!renderer) {
|
|
85
|
+
logger.warn(`Platform ${platformName} does not provide a response renderer, skipping message ${data.messageId}`);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Create session key for tracking
|
|
89
|
+
const sessionKey = `${data.userId}:${data.originalMessageId || data.messageId}`;
|
|
90
|
+
logger.info(`Processing thread response for platform=${platformName}, message=${data.messageId}, session=${sessionKey}`);
|
|
91
|
+
try {
|
|
92
|
+
await this.routeToRenderer(renderer, data, sessionKey);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
logger.error(`Error processing thread response for ${platformName}:`, error);
|
|
96
|
+
// Let queue handle retry logic
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Route the payload to the appropriate renderer method.
|
|
102
|
+
*/
|
|
103
|
+
async routeToRenderer(renderer, data, sessionKey) {
|
|
104
|
+
var _a;
|
|
105
|
+
// Handle ephemeral messages (OAuth/auth flows)
|
|
106
|
+
if (data.ephemeral && data.content && renderer.handleEphemeral) {
|
|
107
|
+
await renderer.handleEphemeral(data);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Handle status updates (heartbeat with elapsed time)
|
|
111
|
+
if (data.statusUpdate && renderer.handleStatusUpdate) {
|
|
112
|
+
await renderer.handleStatusUpdate(data);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
// Handle streaming delta
|
|
116
|
+
if (data.delta && renderer.handleDelta) {
|
|
117
|
+
await renderer.handleDelta(data, sessionKey);
|
|
118
|
+
// Early return if no error - delta processing is complete
|
|
119
|
+
if (!data.error) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Handle error
|
|
124
|
+
if (data.error) {
|
|
125
|
+
await renderer.handleError(data, sessionKey);
|
|
126
|
+
// Also complete session on error
|
|
127
|
+
await renderer.handleCompletion(data, sessionKey);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
// Handle completion
|
|
131
|
+
if ((_a = data.processedMessageIds) === null || _a === void 0 ? void 0 : _a.length) {
|
|
132
|
+
await renderer.handleCompletion(data, sessionKey);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Check if consumer is healthy.
|
|
137
|
+
*/
|
|
138
|
+
isHealthy() {
|
|
139
|
+
return this.isRunning;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.UnifiedThreadResponseConsumer = UnifiedThreadResponseConsumer;
|
|
143
|
+
//# sourceMappingURL=unified-thread-consumer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-thread-consumer.js","sourceRoot":"","sources":["../../src/platform/unified-thread-consumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
import type { CommandRegistry, InstructionProvider, UserSuggestion } from "@lobu/core";
|
|
3
|
+
import type { AgentMetadataStore } from "./auth/agent-metadata-store";
|
|
4
|
+
import type { McpProxy } from "./auth/mcp/proxy";
|
|
5
|
+
import type { ProviderOAuthStateStore } from "./auth/oauth/state-store";
|
|
6
|
+
import type { AgentSettingsStore } from "./auth/settings";
|
|
7
|
+
import type { ModelPreferenceStore } from "./auth/settings/model-preference-store";
|
|
8
|
+
import type { UserAgentsStore } from "./auth/user-agents-store";
|
|
9
|
+
import type { ChannelBindingService } from "./channels";
|
|
10
|
+
import type { WorkerGateway } from "./gateway";
|
|
11
|
+
import type { IMessageQueue, QueueProducer } from "./infrastructure/queue";
|
|
12
|
+
import type { InteractionService } from "./interactions";
|
|
13
|
+
import type { GrantStore } from "./permissions/grant-store";
|
|
14
|
+
import type { IFileHandler } from "./platform/file-handler";
|
|
15
|
+
import type { ResponseRenderer } from "./platform/response-renderer";
|
|
16
|
+
import type { SecretProxy } from "./proxy/secret-proxy";
|
|
17
|
+
import type { InstructionService } from "./services/instruction-service";
|
|
18
|
+
import type { TranscriptionService } from "./services/transcription-service";
|
|
19
|
+
import type { ISessionManager } from "./session";
|
|
20
|
+
/**
|
|
21
|
+
* Core services interface that platforms receive during initialization
|
|
22
|
+
* This allows platforms to access shared infrastructure without tight coupling
|
|
23
|
+
*/
|
|
24
|
+
export interface CoreServices {
|
|
25
|
+
getQueue(): IMessageQueue;
|
|
26
|
+
getQueueProducer(): QueueProducer;
|
|
27
|
+
getSecretProxy(): SecretProxy | undefined;
|
|
28
|
+
getWorkerGateway(): WorkerGateway | undefined;
|
|
29
|
+
getMcpProxy(): McpProxy | undefined;
|
|
30
|
+
getModelPreferenceStore(): ModelPreferenceStore | undefined;
|
|
31
|
+
getOAuthStateStore(): ProviderOAuthStateStore | undefined;
|
|
32
|
+
getPublicGatewayUrl(): string;
|
|
33
|
+
getSessionManager(): ISessionManager;
|
|
34
|
+
getInstructionService(): InstructionService | undefined;
|
|
35
|
+
getInteractionService(): InteractionService;
|
|
36
|
+
getAgentSettingsStore(): AgentSettingsStore;
|
|
37
|
+
getChannelBindingService(): ChannelBindingService;
|
|
38
|
+
getTranscriptionService(): TranscriptionService | undefined;
|
|
39
|
+
getUserAgentsStore(): UserAgentsStore;
|
|
40
|
+
getAgentMetadataStore(): AgentMetadataStore;
|
|
41
|
+
getCommandRegistry(): CommandRegistry;
|
|
42
|
+
getGrantStore(): GrantStore | undefined;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Interface that all platform adapters must implement
|
|
46
|
+
* Platforms include: Slack, Discord, Teams, etc.
|
|
47
|
+
*
|
|
48
|
+
* Each platform adapter:
|
|
49
|
+
* 1. Receives CoreServices during initialization
|
|
50
|
+
* 2. Sets up platform-specific event handlers
|
|
51
|
+
* 3. Manages its own platform client/connection
|
|
52
|
+
* 4. Uses core services (MCP, Anthropic, Redis) provided by Gateway
|
|
53
|
+
*/
|
|
54
|
+
export interface PlatformAdapter {
|
|
55
|
+
/**
|
|
56
|
+
* Platform name
|
|
57
|
+
*/
|
|
58
|
+
readonly name: string;
|
|
59
|
+
/**
|
|
60
|
+
* Initialize the platform with core services
|
|
61
|
+
* This is called by Gateway after core services are initialized
|
|
62
|
+
*
|
|
63
|
+
* @param services - Core services provided by Gateway
|
|
64
|
+
*/
|
|
65
|
+
initialize(services: CoreServices): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Start the platform (connect to platform API, start event listeners)
|
|
68
|
+
* This is called after initialization
|
|
69
|
+
*/
|
|
70
|
+
start(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Stop the platform gracefully
|
|
73
|
+
*/
|
|
74
|
+
stop(): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Check if platform is healthy and running
|
|
77
|
+
*/
|
|
78
|
+
isHealthy(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Optionally provide platform-specific instruction provider
|
|
81
|
+
* Returns null if platform doesn't have custom instructions
|
|
82
|
+
*/
|
|
83
|
+
getInstructionProvider?(): InstructionProvider | null;
|
|
84
|
+
/**
|
|
85
|
+
* Build platform-specific deployment metadata
|
|
86
|
+
* This metadata is used for deployment annotations (e.g., thread URLs, team IDs)
|
|
87
|
+
*
|
|
88
|
+
* @param conversationId - The conversation identifier
|
|
89
|
+
* @param channelId - The channel identifier
|
|
90
|
+
* @param platformMetadata - Platform-specific metadata from the queue payload
|
|
91
|
+
* @returns Record of metadata key-value pairs for deployment annotations
|
|
92
|
+
*/
|
|
93
|
+
buildDeploymentMetadata(conversationId: string, channelId: string, platformMetadata: Record<string, any>): Record<string, string>;
|
|
94
|
+
/**
|
|
95
|
+
* Render non-blocking suggestions
|
|
96
|
+
* Platform should display this as suggested prompts/quick replies
|
|
97
|
+
*
|
|
98
|
+
* @param suggestion - The suggestions to render
|
|
99
|
+
*/
|
|
100
|
+
renderSuggestion?(suggestion: UserSuggestion): Promise<void>;
|
|
101
|
+
/**
|
|
102
|
+
* Set conversation status indicator
|
|
103
|
+
* Used to show "is running...", "Waiting for approval...", etc.
|
|
104
|
+
* Pass null/undefined to clear the status
|
|
105
|
+
*
|
|
106
|
+
* @param channelId - Channel identifier
|
|
107
|
+
* @param conversationId - Conversation identifier
|
|
108
|
+
* @param status - Status message to display, or null to clear
|
|
109
|
+
*/
|
|
110
|
+
setThreadStatus?(channelId: string, conversationId: string, status: string | null): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Check if the provided token matches the platform's configured bot token
|
|
113
|
+
* Used to detect self-messaging for direct queueing
|
|
114
|
+
*
|
|
115
|
+
* @param token - Token to check
|
|
116
|
+
* @returns True if this is the platform's own bot token
|
|
117
|
+
*/
|
|
118
|
+
isOwnBotToken?(token: string): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Send a message via the messaging API
|
|
121
|
+
* Uses polymorphic routing info extracted from the request
|
|
122
|
+
*
|
|
123
|
+
* @param token - Auth token from request
|
|
124
|
+
* @param message - Message text to send (use @me to mention the bot)
|
|
125
|
+
* @param options - Routing and file options
|
|
126
|
+
* @param options.agentId - Universal session identifier
|
|
127
|
+
* @param options.channelId - Platform-specific channel (or agentId for API)
|
|
128
|
+
* @param options.conversationId - Platform-specific conversation (or agentId for API)
|
|
129
|
+
* @param options.teamId - Platform-specific team/workspace
|
|
130
|
+
* @param options.files - Files to upload with the message (up to 10)
|
|
131
|
+
* @returns Message metadata
|
|
132
|
+
*/
|
|
133
|
+
sendMessage?(token: string, message: string, options: {
|
|
134
|
+
agentId: string;
|
|
135
|
+
channelId: string;
|
|
136
|
+
conversationId?: string;
|
|
137
|
+
teamId: string;
|
|
138
|
+
files?: Array<{
|
|
139
|
+
buffer: Buffer;
|
|
140
|
+
filename: string;
|
|
141
|
+
}>;
|
|
142
|
+
}): Promise<{
|
|
143
|
+
messageId: string;
|
|
144
|
+
eventsUrl?: string;
|
|
145
|
+
queued?: boolean;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Render authentication status for OAuth providers (MCP servers, Claude, etc.)
|
|
149
|
+
* Displays connection status in platform-specific UI (e.g., Slack home tab)
|
|
150
|
+
*
|
|
151
|
+
* @param userId - User ID to render status for
|
|
152
|
+
* @param providers - Array of OAuth providers with their connection status
|
|
153
|
+
* @returns Promise that resolves when rendering is complete
|
|
154
|
+
*/
|
|
155
|
+
renderAuthStatus?(userId: string, providers: Array<{
|
|
156
|
+
id: string;
|
|
157
|
+
name: string;
|
|
158
|
+
isAuthenticated: boolean;
|
|
159
|
+
loginUrl?: string;
|
|
160
|
+
logoutUrl?: string;
|
|
161
|
+
metadata?: Record<string, any>;
|
|
162
|
+
}>): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Get the file handler for this platform.
|
|
165
|
+
* Used by the file upload/download routes to route files
|
|
166
|
+
* to the correct platform-specific handler.
|
|
167
|
+
*/
|
|
168
|
+
getFileHandler?(): IFileHandler | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* Get the response renderer for this platform.
|
|
171
|
+
* Used by the unified thread response consumer to route responses
|
|
172
|
+
* to platform-specific rendering logic.
|
|
173
|
+
*
|
|
174
|
+
* @returns ResponseRenderer instance or undefined if platform handles responses differently
|
|
175
|
+
*/
|
|
176
|
+
getResponseRenderer?(): ResponseRenderer | undefined;
|
|
177
|
+
/**
|
|
178
|
+
* Check if a channel ID represents a group/channel vs a DM.
|
|
179
|
+
* Used by space-resolver to determine space type.
|
|
180
|
+
*
|
|
181
|
+
* @param channelId - Channel identifier to check
|
|
182
|
+
* @returns True if this is a group/channel, false if DM
|
|
183
|
+
*/
|
|
184
|
+
isGroupChannel?(channelId: string): boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Get display information for the platform.
|
|
187
|
+
* Used in UI to show platform-specific icons and names.
|
|
188
|
+
*
|
|
189
|
+
* @returns Display info with name and icon (SVG or emoji)
|
|
190
|
+
*/
|
|
191
|
+
getDisplayInfo?(): {
|
|
192
|
+
/** Human-readable platform name */
|
|
193
|
+
name: string;
|
|
194
|
+
/** SVG icon markup or emoji */
|
|
195
|
+
icon: string;
|
|
196
|
+
/** Optional logo URL */
|
|
197
|
+
logoUrl?: string;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Extract routing info from platform-specific request body.
|
|
201
|
+
* Used by messaging API to parse platform-specific fields.
|
|
202
|
+
*
|
|
203
|
+
* @param body - Request body with platform-specific fields
|
|
204
|
+
* @returns Routing info or null if platform fields are missing/invalid
|
|
205
|
+
*/
|
|
206
|
+
extractRoutingInfo?(body: Record<string, unknown>): {
|
|
207
|
+
channelId: string;
|
|
208
|
+
conversationId?: string;
|
|
209
|
+
teamId?: string;
|
|
210
|
+
} | null;
|
|
211
|
+
/**
|
|
212
|
+
* Get conversation history for a channel/thread.
|
|
213
|
+
* Used by the GetChannelHistory tool to fetch past messages.
|
|
214
|
+
*
|
|
215
|
+
* @param channelId - Channel/chat identifier
|
|
216
|
+
* @param conversationId - Conversation identifier (optional)
|
|
217
|
+
* @param limit - Maximum number of messages to return
|
|
218
|
+
* @param before - ISO timestamp cursor for pagination
|
|
219
|
+
* @returns History response with messages and pagination info
|
|
220
|
+
*/
|
|
221
|
+
getConversationHistory?(channelId: string, conversationId: string | undefined, limit: number, before: string | undefined): Promise<{
|
|
222
|
+
messages: Array<{
|
|
223
|
+
timestamp: string;
|
|
224
|
+
user: string;
|
|
225
|
+
text: string;
|
|
226
|
+
isBot?: boolean;
|
|
227
|
+
}>;
|
|
228
|
+
nextCursor: string | null;
|
|
229
|
+
hasMore: boolean;
|
|
230
|
+
}>;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Global registry for platform adapters
|
|
234
|
+
* Allows deployment managers and other services to access platform-specific functionality
|
|
235
|
+
*/
|
|
236
|
+
export declare class PlatformRegistry {
|
|
237
|
+
private platforms;
|
|
238
|
+
/**
|
|
239
|
+
* Register a platform adapter
|
|
240
|
+
*/
|
|
241
|
+
register(platform: PlatformAdapter): void;
|
|
242
|
+
/**
|
|
243
|
+
* Get a platform by name
|
|
244
|
+
*/
|
|
245
|
+
get(name: string): PlatformAdapter | undefined;
|
|
246
|
+
/**
|
|
247
|
+
* Get list of available platform names
|
|
248
|
+
*/
|
|
249
|
+
getAvailablePlatforms(): string[];
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Global platform registry instance
|
|
253
|
+
*/
|
|
254
|
+
export declare const platformRegistry: PlatformRegistry;
|
|
255
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.platformRegistry = exports.PlatformRegistry = void 0;
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// Platform Registry
|
|
7
|
+
// ============================================================================
|
|
8
|
+
/**
|
|
9
|
+
* Global registry for platform adapters
|
|
10
|
+
* Allows deployment managers and other services to access platform-specific functionality
|
|
11
|
+
*/
|
|
12
|
+
class PlatformRegistry {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.platforms = new Map();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Register a platform adapter
|
|
18
|
+
*/
|
|
19
|
+
register(platform) {
|
|
20
|
+
this.platforms.set(platform.name, platform);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get a platform by name
|
|
24
|
+
*/
|
|
25
|
+
get(name) {
|
|
26
|
+
return this.platforms.get(name);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get list of available platform names
|
|
30
|
+
*/
|
|
31
|
+
getAvailablePlatforms() {
|
|
32
|
+
return Array.from(this.platforms.keys());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.PlatformRegistry = PlatformRegistry;
|
|
36
|
+
/**
|
|
37
|
+
* Global platform registry instance
|
|
38
|
+
*/
|
|
39
|
+
exports.platformRegistry = new PlatformRegistry();
|
|
40
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;AAyRA,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,MAAa,gBAAgB;IAA7B;QACU,cAAS,GAAiC,IAAI,GAAG,EAAE,CAAC;IAsB9D,CAAC;IApBC;;OAEG;IACH,QAAQ,CAAC,QAAyB;QAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AAvBD,4CAuBC;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as http from "node:http";
|
|
2
|
+
import type { GrantStore } from "../permissions/grant-store";
|
|
3
|
+
/**
|
|
4
|
+
* Set the grant store for the HTTP proxy to check domain grants.
|
|
5
|
+
* Called during gateway initialization.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setProxyGrantStore(store: GrantStore): void;
|
|
8
|
+
declare function isBlockedIpAddress(ip: string): boolean;
|
|
9
|
+
export declare const __testOnly: {
|
|
10
|
+
isBlockedIpAddress: typeof isBlockedIpAddress;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Start HTTP proxy server with per-deployment network config support.
|
|
14
|
+
*
|
|
15
|
+
* Workers identify themselves via Proxy-Authorization Basic auth:
|
|
16
|
+
* HTTP_PROXY=http://<deploymentName>:<token>@gateway:8118
|
|
17
|
+
*
|
|
18
|
+
* The proxy validates the encrypted worker token, cross-checks the
|
|
19
|
+
* claimed deployment name, and looks up per-deployment network config.
|
|
20
|
+
* Returns 407 if authentication fails.
|
|
21
|
+
*
|
|
22
|
+
* @param port - Port to listen on (default 8118)
|
|
23
|
+
* @param host - Bind address (default "::" for all interfaces)
|
|
24
|
+
* @returns Promise that resolves with the server once listening, or rejects on error
|
|
25
|
+
*/
|
|
26
|
+
export declare function startHttpProxy(port?: number, host?: string): Promise<http.Server>;
|
|
27
|
+
/**
|
|
28
|
+
* Stop HTTP proxy server
|
|
29
|
+
*/
|
|
30
|
+
export declare function stopHttpProxy(server: http.Server): Promise<void>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=http-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/http-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAUlC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAsD7D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAE1D;AAkHD,iBAAS,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAiB/C;AAED,eAAO,MAAM,UAAU;;CAEtB,CAAC;AAucF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,GAAE,MAAa,EACnB,IAAI,GAAE,MAAa,GAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAsDtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhE"}
|