@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,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPendingConfigRequest = getPendingConfigRequest;
|
|
4
|
+
exports.deletePendingConfigRequest = deletePendingConfigRequest;
|
|
5
|
+
exports.buildConfigRequestText = buildConfigRequestText;
|
|
6
|
+
exports.applyPendingConfigRequest = applyPendingConfigRequest;
|
|
7
|
+
const CONFIG_REQUEST_KEY_PREFIX = "pending-config:";
|
|
8
|
+
async function getPendingConfigRequest(redis, requestId) {
|
|
9
|
+
const raw = await redis.get(`${CONFIG_REQUEST_KEY_PREFIX}${requestId}`);
|
|
10
|
+
if (!raw)
|
|
11
|
+
return null;
|
|
12
|
+
try {
|
|
13
|
+
return JSON.parse(raw);
|
|
14
|
+
}
|
|
15
|
+
catch (_a) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async function deletePendingConfigRequest(redis, requestId) {
|
|
20
|
+
await redis.del(`${CONFIG_REQUEST_KEY_PREFIX}${requestId}`);
|
|
21
|
+
}
|
|
22
|
+
function buildConfigRequestText(request) {
|
|
23
|
+
var _a, _b, _c, _d, _e, _f;
|
|
24
|
+
const lines = ["Configuration Change Request", `Reason: ${request.reason}`];
|
|
25
|
+
if ((_a = request.message) === null || _a === void 0 ? void 0 : _a.trim()) {
|
|
26
|
+
lines.push(`Note: ${request.message.trim()}`);
|
|
27
|
+
}
|
|
28
|
+
if ((_b = request.skills) === null || _b === void 0 ? void 0 : _b.length) {
|
|
29
|
+
const names = request.skills.map((skill) => skill.name || skill.repo);
|
|
30
|
+
lines.push(`Skills: ${names.join(", ")}`);
|
|
31
|
+
}
|
|
32
|
+
if ((_c = request.mcpServers) === null || _c === void 0 ? void 0 : _c.length) {
|
|
33
|
+
const ids = request.mcpServers.map((mcp) => mcp.name || mcp.id);
|
|
34
|
+
lines.push(`MCP servers: ${ids.join(", ")}`);
|
|
35
|
+
}
|
|
36
|
+
if ((_d = request.nixPackages) === null || _d === void 0 ? void 0 : _d.length) {
|
|
37
|
+
lines.push(`Packages: ${request.nixPackages.join(", ")}`);
|
|
38
|
+
}
|
|
39
|
+
if ((_e = request.grants) === null || _e === void 0 ? void 0 : _e.length) {
|
|
40
|
+
lines.push(`Permissions: ${request.grants.join(", ")}`);
|
|
41
|
+
}
|
|
42
|
+
if ((_f = request.providers) === null || _f === void 0 ? void 0 : _f.length) {
|
|
43
|
+
lines.push(`Required providers (not changed by this approval): ${request.providers.join(", ")}`);
|
|
44
|
+
}
|
|
45
|
+
return lines.join("\n");
|
|
46
|
+
}
|
|
47
|
+
function mergeSkill(existingSkills, skill) {
|
|
48
|
+
const nextSkill = {
|
|
49
|
+
repo: skill.repo,
|
|
50
|
+
name: skill.name || skill.repo,
|
|
51
|
+
description: skill.description || "",
|
|
52
|
+
enabled: true,
|
|
53
|
+
mcpServers: skill.mcpServers,
|
|
54
|
+
nixPackages: skill.nixPackages,
|
|
55
|
+
permissions: skill.permissions,
|
|
56
|
+
providers: skill.providers,
|
|
57
|
+
};
|
|
58
|
+
const existingIndex = existingSkills.findIndex((entry) => entry.repo === skill.repo);
|
|
59
|
+
if (existingIndex >= 0 && existingSkills[existingIndex]) {
|
|
60
|
+
existingSkills[existingIndex] = Object.assign(Object.assign(Object.assign({}, existingSkills[existingIndex]), nextSkill), { enabled: true });
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
existingSkills.push(nextSkill);
|
|
64
|
+
}
|
|
65
|
+
function mergeMcpServers(current, mcpServers) {
|
|
66
|
+
var _a;
|
|
67
|
+
const merged = Object.assign({}, current);
|
|
68
|
+
for (const mcp of mcpServers) {
|
|
69
|
+
const existing = merged[mcp.id] || {};
|
|
70
|
+
merged[mcp.id] = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, existing), { enabled: true }), (mcp.url ? { url: mcp.url } : {})), (mcp.type ? { type: mcp.type } : {})), (mcp.command ? { command: mcp.command } : {})), (((_a = mcp.args) === null || _a === void 0 ? void 0 : _a.length) ? { args: mcp.args } : {})), (mcp.name ? { name: mcp.name } : {}));
|
|
71
|
+
}
|
|
72
|
+
return merged;
|
|
73
|
+
}
|
|
74
|
+
async function applyPendingConfigRequest(agentSettingsStore, grantStore, request) {
|
|
75
|
+
var _a, _b, _c, _d, _e, _f;
|
|
76
|
+
const settings = await agentSettingsStore.getSettings(request.agentId);
|
|
77
|
+
const nextSkills = [...(((_a = settings === null || settings === void 0 ? void 0 : settings.skillsConfig) === null || _a === void 0 ? void 0 : _a.skills) || [])];
|
|
78
|
+
for (const skill of request.skills || []) {
|
|
79
|
+
mergeSkill(nextSkills, skill);
|
|
80
|
+
}
|
|
81
|
+
const nextMcpServers = mergeMcpServers(((settings === null || settings === void 0 ? void 0 : settings.mcpServers) || {}), request.mcpServers || []);
|
|
82
|
+
const existingPackages = ((_b = settings === null || settings === void 0 ? void 0 : settings.nixConfig) === null || _b === void 0 ? void 0 : _b.packages) || [];
|
|
83
|
+
const nextPackages = Array.from(new Set([...(existingPackages || []), ...(request.nixPackages || [])]));
|
|
84
|
+
const updates = {};
|
|
85
|
+
if ((_c = request.skills) === null || _c === void 0 ? void 0 : _c.length) {
|
|
86
|
+
updates.skillsConfig = { skills: nextSkills };
|
|
87
|
+
}
|
|
88
|
+
if ((_d = request.mcpServers) === null || _d === void 0 ? void 0 : _d.length) {
|
|
89
|
+
updates.mcpServers = nextMcpServers;
|
|
90
|
+
}
|
|
91
|
+
if ((_e = request.nixPackages) === null || _e === void 0 ? void 0 : _e.length) {
|
|
92
|
+
updates.nixConfig = Object.assign(Object.assign({}, ((settings === null || settings === void 0 ? void 0 : settings.nixConfig) || {})), { packages: nextPackages });
|
|
93
|
+
}
|
|
94
|
+
if (Object.keys(updates).length > 0) {
|
|
95
|
+
await agentSettingsStore.updateSettings(request.agentId, updates);
|
|
96
|
+
}
|
|
97
|
+
if (grantStore && ((_f = request.grants) === null || _f === void 0 ? void 0 : _f.length)) {
|
|
98
|
+
for (const pattern of request.grants) {
|
|
99
|
+
await grantStore.grant(request.agentId, pattern, null);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=config-request-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-request-store.js","sourceRoot":"","sources":["../../src/interactions/config-request-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
/**
|
|
4
|
+
* Payload emitted on "question:created" — platform renderers listen for this.
|
|
5
|
+
*/
|
|
6
|
+
export interface PostedQuestion {
|
|
7
|
+
id: string;
|
|
8
|
+
userId: string;
|
|
9
|
+
conversationId: string;
|
|
10
|
+
channelId: string;
|
|
11
|
+
teamId?: string;
|
|
12
|
+
connectionId?: string;
|
|
13
|
+
question: string;
|
|
14
|
+
options: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Payload emitted on "link-button:created" — platform renderers listen for this.
|
|
18
|
+
*/
|
|
19
|
+
export interface PostedLinkButton {
|
|
20
|
+
id: string;
|
|
21
|
+
userId: string;
|
|
22
|
+
conversationId: string;
|
|
23
|
+
channelId: string;
|
|
24
|
+
teamId?: string;
|
|
25
|
+
connectionId?: string;
|
|
26
|
+
platform: string;
|
|
27
|
+
url: string;
|
|
28
|
+
label: string;
|
|
29
|
+
linkType: "settings" | "install" | "oauth";
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Payload emitted on "grant:requested" — platform renderers listen for this.
|
|
33
|
+
*/
|
|
34
|
+
export interface PostedGrantRequest {
|
|
35
|
+
id: string;
|
|
36
|
+
userId: string;
|
|
37
|
+
agentId: string;
|
|
38
|
+
conversationId: string;
|
|
39
|
+
channelId: string;
|
|
40
|
+
teamId?: string;
|
|
41
|
+
connectionId?: string;
|
|
42
|
+
domains: string[];
|
|
43
|
+
reason: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Payload emitted on "package:requested" — platform renderers listen for this.
|
|
47
|
+
*/
|
|
48
|
+
export interface PostedPackageRequest {
|
|
49
|
+
id: string;
|
|
50
|
+
userId: string;
|
|
51
|
+
agentId: string;
|
|
52
|
+
conversationId: string;
|
|
53
|
+
channelId: string;
|
|
54
|
+
teamId?: string;
|
|
55
|
+
packages: string[];
|
|
56
|
+
reason: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Payload emitted on "config:requested" — platform renderers listen for this.
|
|
60
|
+
*/
|
|
61
|
+
export interface PostedConfigRequest {
|
|
62
|
+
id: string;
|
|
63
|
+
userId: string;
|
|
64
|
+
agentId: string;
|
|
65
|
+
conversationId: string;
|
|
66
|
+
channelId: string;
|
|
67
|
+
teamId?: string;
|
|
68
|
+
connectionId?: string;
|
|
69
|
+
text: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Payload emitted on "status-message:created" — platform renderers listen for this.
|
|
73
|
+
*/
|
|
74
|
+
export interface PostedStatusMessage {
|
|
75
|
+
id: string;
|
|
76
|
+
conversationId: string;
|
|
77
|
+
channelId: string;
|
|
78
|
+
teamId?: string;
|
|
79
|
+
connectionId?: string;
|
|
80
|
+
platform: string;
|
|
81
|
+
text: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Platform-agnostic interaction service (fire-and-forget).
|
|
85
|
+
* Posts questions with buttons; no Redis, no blocking, no state machine.
|
|
86
|
+
* User clicks → platform converts to regular message → normal queue.
|
|
87
|
+
*/
|
|
88
|
+
export declare class InteractionService extends EventEmitter {
|
|
89
|
+
private beforeCreateHook?;
|
|
90
|
+
/**
|
|
91
|
+
* Set a hook to run before creating interactions.
|
|
92
|
+
* Used by platforms to stop streams before interaction messages appear.
|
|
93
|
+
*/
|
|
94
|
+
setBeforeCreateHook(hook: (userId: string, conversationId: string) => Promise<void>): void;
|
|
95
|
+
/**
|
|
96
|
+
* Post a question with button options (non-blocking, fire-and-forget).
|
|
97
|
+
* Emits "question:created" for platform renderers.
|
|
98
|
+
*/
|
|
99
|
+
postQuestion(userId: string, conversationId: string, channelId: string, teamId: string | undefined, connectionId: string | undefined, question: string, options: string[]): Promise<PostedQuestion>;
|
|
100
|
+
/**
|
|
101
|
+
* Post a grant request with approve/deny buttons (non-blocking, fire-and-forget).
|
|
102
|
+
* Emits "grant:requested" for platform renderers.
|
|
103
|
+
*/
|
|
104
|
+
postGrantRequest(userId: string, agentId: string, conversationId: string, channelId: string, teamId: string | undefined, connectionId: string | undefined, domains: string[], reason: string): Promise<PostedGrantRequest>;
|
|
105
|
+
/**
|
|
106
|
+
* Post a package install request with approve/deny buttons (non-blocking, fire-and-forget).
|
|
107
|
+
* Emits "package:requested" for platform renderers.
|
|
108
|
+
*/
|
|
109
|
+
postPackageRequest(userId: string, agentId: string, conversationId: string, channelId: string, teamId: string | undefined, packages: string[], reason: string): Promise<PostedPackageRequest>;
|
|
110
|
+
/**
|
|
111
|
+
* Post a config request with approve/deny buttons (non-blocking).
|
|
112
|
+
* Emits "config:requested" for platform renderers.
|
|
113
|
+
*/
|
|
114
|
+
postConfigRequest(userId: string, agentId: string, conversationId: string, channelId: string, teamId: string | undefined, connectionId: string | undefined, text: string): Promise<PostedConfigRequest>;
|
|
115
|
+
/**
|
|
116
|
+
* Post a link button (non-blocking, fire-and-forget).
|
|
117
|
+
* Emits "link-button:created" for platform renderers.
|
|
118
|
+
*/
|
|
119
|
+
postLinkButton(userId: string, conversationId: string, channelId: string, teamId: string | undefined, connectionId: string | undefined, platform: string, url: string, label: string, linkType: "settings" | "install" | "oauth"): Promise<PostedLinkButton>;
|
|
120
|
+
/**
|
|
121
|
+
* Post a plain text status message (non-blocking, fire-and-forget).
|
|
122
|
+
* Emits "status-message:created" for platform renderers.
|
|
123
|
+
*/
|
|
124
|
+
postStatusMessage(conversationId: string, channelId: string, teamId: string | undefined, connectionId: string | undefined, platform: string, text: string): Promise<PostedStatusMessage>;
|
|
125
|
+
/**
|
|
126
|
+
* Create non-blocking suggestions.
|
|
127
|
+
* Emits event immediately, no state tracking needed.
|
|
128
|
+
*/
|
|
129
|
+
createSuggestion(userId: string, conversationId: string, channelId: string, teamId: string | undefined, prompts: Array<{
|
|
130
|
+
title: string;
|
|
131
|
+
message: string;
|
|
132
|
+
}>): Promise<void>;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=interactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../src/interactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.InteractionService = void 0;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
const node_events_1 = require("node:events");
|
|
7
|
+
const core_1 = require("@lobu/core");
|
|
8
|
+
const logger = (0, core_1.createLogger)("interactions");
|
|
9
|
+
/**
|
|
10
|
+
* Platform-agnostic interaction service (fire-and-forget).
|
|
11
|
+
* Posts questions with buttons; no Redis, no blocking, no state machine.
|
|
12
|
+
* User clicks → platform converts to regular message → normal queue.
|
|
13
|
+
*/
|
|
14
|
+
class InteractionService extends node_events_1.EventEmitter {
|
|
15
|
+
/**
|
|
16
|
+
* Set a hook to run before creating interactions.
|
|
17
|
+
* Used by platforms to stop streams before interaction messages appear.
|
|
18
|
+
*/
|
|
19
|
+
setBeforeCreateHook(hook) {
|
|
20
|
+
this.beforeCreateHook = hook;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Post a question with button options (non-blocking, fire-and-forget).
|
|
24
|
+
* Emits "question:created" for platform renderers.
|
|
25
|
+
*/
|
|
26
|
+
async postQuestion(userId, conversationId, channelId, teamId, connectionId, question, options) {
|
|
27
|
+
if (this.beforeCreateHook) {
|
|
28
|
+
await this.beforeCreateHook(userId, conversationId);
|
|
29
|
+
}
|
|
30
|
+
const posted = {
|
|
31
|
+
id: `q_${(0, node_crypto_1.randomUUID)()}`,
|
|
32
|
+
userId,
|
|
33
|
+
conversationId,
|
|
34
|
+
channelId,
|
|
35
|
+
teamId,
|
|
36
|
+
connectionId,
|
|
37
|
+
question,
|
|
38
|
+
options,
|
|
39
|
+
};
|
|
40
|
+
logger.info(`Posted question ${posted.id} for conversation ${conversationId}`);
|
|
41
|
+
this.emit("question:created", posted);
|
|
42
|
+
return posted;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Post a grant request with approve/deny buttons (non-blocking, fire-and-forget).
|
|
46
|
+
* Emits "grant:requested" for platform renderers.
|
|
47
|
+
*/
|
|
48
|
+
async postGrantRequest(userId, agentId, conversationId, channelId, teamId, connectionId, domains, reason) {
|
|
49
|
+
if (this.beforeCreateHook) {
|
|
50
|
+
await this.beforeCreateHook(userId, conversationId);
|
|
51
|
+
}
|
|
52
|
+
const posted = {
|
|
53
|
+
id: `gr_${(0, node_crypto_1.randomUUID)()}`,
|
|
54
|
+
userId,
|
|
55
|
+
agentId,
|
|
56
|
+
conversationId,
|
|
57
|
+
channelId,
|
|
58
|
+
teamId,
|
|
59
|
+
connectionId,
|
|
60
|
+
domains,
|
|
61
|
+
reason,
|
|
62
|
+
};
|
|
63
|
+
logger.info(`Posted grant request ${posted.id} for agent ${agentId} domains=${domains.join(",")}`);
|
|
64
|
+
this.emit("grant:requested", posted);
|
|
65
|
+
return posted;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Post a package install request with approve/deny buttons (non-blocking, fire-and-forget).
|
|
69
|
+
* Emits "package:requested" for platform renderers.
|
|
70
|
+
*/
|
|
71
|
+
async postPackageRequest(userId, agentId, conversationId, channelId, teamId, packages, reason) {
|
|
72
|
+
if (this.beforeCreateHook) {
|
|
73
|
+
await this.beforeCreateHook(userId, conversationId);
|
|
74
|
+
}
|
|
75
|
+
const posted = {
|
|
76
|
+
id: `pkg_${(0, node_crypto_1.randomUUID)()}`,
|
|
77
|
+
userId,
|
|
78
|
+
agentId,
|
|
79
|
+
conversationId,
|
|
80
|
+
channelId,
|
|
81
|
+
teamId,
|
|
82
|
+
packages,
|
|
83
|
+
reason,
|
|
84
|
+
};
|
|
85
|
+
logger.info(`Posted package request ${posted.id} for agent ${agentId} packages=${packages.join(",")}`);
|
|
86
|
+
this.emit("package:requested", posted);
|
|
87
|
+
return posted;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Post a config request with approve/deny buttons (non-blocking).
|
|
91
|
+
* Emits "config:requested" for platform renderers.
|
|
92
|
+
*/
|
|
93
|
+
async postConfigRequest(userId, agentId, conversationId, channelId, teamId, connectionId, text) {
|
|
94
|
+
if (this.beforeCreateHook) {
|
|
95
|
+
await this.beforeCreateHook(userId, conversationId);
|
|
96
|
+
}
|
|
97
|
+
const posted = {
|
|
98
|
+
id: `cfg_${(0, node_crypto_1.randomUUID)()}`,
|
|
99
|
+
userId,
|
|
100
|
+
agentId,
|
|
101
|
+
conversationId,
|
|
102
|
+
channelId,
|
|
103
|
+
teamId,
|
|
104
|
+
connectionId,
|
|
105
|
+
text,
|
|
106
|
+
};
|
|
107
|
+
logger.info(`Posted config request ${posted.id} for agent ${agentId} conversation ${conversationId}`);
|
|
108
|
+
this.emit("config:requested", posted);
|
|
109
|
+
return posted;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Post a link button (non-blocking, fire-and-forget).
|
|
113
|
+
* Emits "link-button:created" for platform renderers.
|
|
114
|
+
*/
|
|
115
|
+
async postLinkButton(userId, conversationId, channelId, teamId, connectionId, platform, url, label, linkType) {
|
|
116
|
+
if (this.beforeCreateHook) {
|
|
117
|
+
await this.beforeCreateHook(userId, conversationId);
|
|
118
|
+
}
|
|
119
|
+
const posted = {
|
|
120
|
+
id: `lb_${(0, node_crypto_1.randomUUID)()}`,
|
|
121
|
+
userId,
|
|
122
|
+
conversationId,
|
|
123
|
+
channelId,
|
|
124
|
+
teamId,
|
|
125
|
+
connectionId,
|
|
126
|
+
platform,
|
|
127
|
+
url,
|
|
128
|
+
label,
|
|
129
|
+
linkType,
|
|
130
|
+
};
|
|
131
|
+
logger.info(`Posted link button ${posted.id} for conversation ${conversationId} (${linkType})`);
|
|
132
|
+
this.emit("link-button:created", posted);
|
|
133
|
+
return posted;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Post a plain text status message (non-blocking, fire-and-forget).
|
|
137
|
+
* Emits "status-message:created" for platform renderers.
|
|
138
|
+
*/
|
|
139
|
+
async postStatusMessage(conversationId, channelId, teamId, connectionId, platform, text) {
|
|
140
|
+
if (this.beforeCreateHook) {
|
|
141
|
+
await this.beforeCreateHook("", conversationId);
|
|
142
|
+
}
|
|
143
|
+
const posted = {
|
|
144
|
+
id: `sm_${(0, node_crypto_1.randomUUID)()}`,
|
|
145
|
+
conversationId,
|
|
146
|
+
channelId,
|
|
147
|
+
teamId,
|
|
148
|
+
connectionId,
|
|
149
|
+
platform,
|
|
150
|
+
text,
|
|
151
|
+
};
|
|
152
|
+
logger.info(`Posted status message ${posted.id} for conversation ${conversationId}`);
|
|
153
|
+
this.emit("status-message:created", posted);
|
|
154
|
+
return posted;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Create non-blocking suggestions.
|
|
158
|
+
* Emits event immediately, no state tracking needed.
|
|
159
|
+
*/
|
|
160
|
+
async createSuggestion(userId, conversationId, channelId, teamId, prompts) {
|
|
161
|
+
const suggestion = {
|
|
162
|
+
id: `sug_${(0, node_crypto_1.randomUUID)()}`,
|
|
163
|
+
userId,
|
|
164
|
+
conversationId,
|
|
165
|
+
channelId,
|
|
166
|
+
teamId,
|
|
167
|
+
blocking: false,
|
|
168
|
+
prompts,
|
|
169
|
+
};
|
|
170
|
+
logger.info(`Created suggestion ${suggestion.id} for conversation ${conversationId}`);
|
|
171
|
+
this.emit("suggestion:created", suggestion);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.InteractionService = InteractionService;
|
|
175
|
+
//# sourceMappingURL=interactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../src/interactions.ts"],"names":[],"mappings":"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"}
|
package/dist/lobu.d.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export interface LobuAgentConfig {
|
|
2
|
+
id: string;
|
|
3
|
+
name?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
identity?: string;
|
|
6
|
+
soul?: string;
|
|
7
|
+
user?: string;
|
|
8
|
+
providers?: Array<{
|
|
9
|
+
id: string;
|
|
10
|
+
model?: string;
|
|
11
|
+
key?: string;
|
|
12
|
+
}>;
|
|
13
|
+
connections?: Array<{
|
|
14
|
+
type: string;
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
}>;
|
|
17
|
+
skills?: string[];
|
|
18
|
+
network?: {
|
|
19
|
+
allowed?: string[];
|
|
20
|
+
denied?: string[];
|
|
21
|
+
};
|
|
22
|
+
nixPackages?: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface LobuConfig {
|
|
25
|
+
redis: string;
|
|
26
|
+
memory?: string;
|
|
27
|
+
agents?: LobuAgentConfig[];
|
|
28
|
+
port?: number;
|
|
29
|
+
deploymentMode?: "embedded" | "docker";
|
|
30
|
+
/** Public URL of the gateway (used for OAuth callbacks). Defaults to http://localhost:{port}. */
|
|
31
|
+
publicUrl?: string;
|
|
32
|
+
/** Admin password for API auth. Auto-generated if not provided. */
|
|
33
|
+
adminPassword?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare class Lobu {
|
|
36
|
+
private gateway;
|
|
37
|
+
private gatewayConfig;
|
|
38
|
+
private agentConfigs;
|
|
39
|
+
private httpServer;
|
|
40
|
+
private chatInstanceManager;
|
|
41
|
+
private initialized;
|
|
42
|
+
private port;
|
|
43
|
+
constructor(config: LobuConfig);
|
|
44
|
+
/**
|
|
45
|
+
* Initialize services, populate agents, and seed connections without starting
|
|
46
|
+
* an HTTP server. Call this when embedding Lobu in an existing server, then
|
|
47
|
+
* use `getApp()` to get the Hono handler.
|
|
48
|
+
*
|
|
49
|
+
* Safe to call multiple times — initialization runs only once.
|
|
50
|
+
*/
|
|
51
|
+
initialize(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Start the gateway and an HTTP server. Shorthand for `initialize()` + bind
|
|
54
|
+
* to a port. Use `initialize()` + `getApp()` instead when mounting Lobu in
|
|
55
|
+
* an existing framework.
|
|
56
|
+
*/
|
|
57
|
+
start(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Stop the gateway and HTTP server.
|
|
60
|
+
*/
|
|
61
|
+
stop(): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Get the Hono app for mounting in another server (no HTTP server started).
|
|
64
|
+
* Call this instead of start() when embedding in an existing HTTP server.
|
|
65
|
+
*/
|
|
66
|
+
getApp(): import("@hono/zod-openapi").OpenAPIHono<import("hono").Env, {}, "/">;
|
|
67
|
+
/**
|
|
68
|
+
* Populate InMemoryAgentStore + seed credentials from LobuAgentConfig[].
|
|
69
|
+
* Mirrors what CoreServices.populateStoreFromFiles() does for file-loaded agents.
|
|
70
|
+
*/
|
|
71
|
+
private populateAgents;
|
|
72
|
+
/**
|
|
73
|
+
* Seed platform connections from agent configs.
|
|
74
|
+
* Mirrors the file-loaded agent connection seeding in gateway.ts startGateway().
|
|
75
|
+
*/
|
|
76
|
+
private seedConnections;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=lobu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobu.d.ts","sourceRoot":"","sources":["../src/lobu.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;gBAET,MAAM,EAAE,UAAU;IA0C9B;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B;;;OAGG;IACH,MAAM;IAeN;;;OAGG;YACW,cAAc;IAgF5B;;;OAGG;YACW,eAAe;CAgC9B"}
|