@ixo/oracle-runtime 0.0.1
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/bootstrap/ambient-factory.d.ts +32 -0
- package/dist/bootstrap/ambient-factory.d.ts.map +1 -0
- package/dist/bootstrap/ambient-factory.js +128 -0
- package/dist/bootstrap/create-oracle-app.d.ts +112 -0
- package/dist/bootstrap/create-oracle-app.d.ts.map +1 -0
- package/dist/bootstrap/create-oracle-app.js +530 -0
- package/dist/bootstrap/graceful-shutdown.d.ts +20 -0
- package/dist/bootstrap/graceful-shutdown.d.ts.map +1 -0
- package/dist/bootstrap/graceful-shutdown.js +61 -0
- package/dist/bootstrap/index.d.ts +13 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +6 -0
- package/dist/bootstrap/inspect.d.ts +74 -0
- package/dist/bootstrap/inspect.d.ts.map +1 -0
- package/dist/bootstrap/inspect.js +111 -0
- package/dist/bootstrap/plugin-loader.d.ts +50 -0
- package/dist/bootstrap/plugin-loader.d.ts.map +1 -0
- package/dist/bootstrap/plugin-loader.js +119 -0
- package/dist/bootstrap/runtime-app-module.d.ts +38 -0
- package/dist/bootstrap/runtime-app-module.d.ts.map +1 -0
- package/dist/bootstrap/runtime-app-module.js +114 -0
- package/dist/bootstrap/schema-composer.d.ts +46 -0
- package/dist/bootstrap/schema-composer.d.ts.map +1 -0
- package/dist/bootstrap/schema-composer.js +65 -0
- package/dist/config/base-env-config.d.ts +31 -0
- package/dist/config/base-env-config.d.ts.map +1 -0
- package/dist/config/base-env-config.js +70 -0
- package/dist/config/base-env-schema.d.ts +77 -0
- package/dist/config/base-env-schema.d.ts.map +1 -0
- package/dist/config/base-env-schema.js +102 -0
- package/dist/events/scoped-emitter.d.ts +33 -0
- package/dist/events/scoped-emitter.d.ts.map +1 -0
- package/dist/events/scoped-emitter.js +32 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +6 -0
- package/dist/graph/main-agent-types.d.ts +88 -0
- package/dist/graph/main-agent-types.d.ts.map +1 -0
- package/dist/graph/main-agent-types.js +20 -0
- package/dist/graph/main-agent.d.ts +16 -0
- package/dist/graph/main-agent.d.ts.map +1 -0
- package/dist/graph/main-agent.js +251 -0
- package/dist/graph/middlewares/capability-gate-middleware.d.ts +35 -0
- package/dist/graph/middlewares/capability-gate-middleware.d.ts.map +1 -0
- package/dist/graph/middlewares/capability-gate-middleware.js +54 -0
- package/dist/graph/middlewares/index.d.ts +7 -0
- package/dist/graph/middlewares/index.d.ts.map +1 -0
- package/dist/graph/middlewares/index.js +6 -0
- package/dist/graph/middlewares/page-context-middleware.d.ts +23 -0
- package/dist/graph/middlewares/page-context-middleware.d.ts.map +1 -0
- package/dist/graph/middlewares/page-context-middleware.js +68 -0
- package/dist/graph/middlewares/safety-guardrail-middleware.d.ts +26 -0
- package/dist/graph/middlewares/safety-guardrail-middleware.d.ts.map +1 -0
- package/dist/graph/middlewares/safety-guardrail-middleware.js +88 -0
- package/dist/graph/middlewares/summarization-middleware.d.ts +17 -0
- package/dist/graph/middlewares/summarization-middleware.d.ts.map +1 -0
- package/dist/graph/middlewares/summarization-middleware.js +62 -0
- package/dist/graph/middlewares/tool-repetition-guard-middleware.d.ts +24 -0
- package/dist/graph/middlewares/tool-repetition-guard-middleware.d.ts.map +1 -0
- package/dist/graph/middlewares/tool-repetition-guard-middleware.js +112 -0
- package/dist/graph/middlewares/tool-validation-middleware.d.ts +24 -0
- package/dist/graph/middlewares/tool-validation-middleware.d.ts.map +1 -0
- package/dist/graph/middlewares/tool-validation-middleware.js +61 -0
- package/dist/graph/prompt-composer.d.ts +69 -0
- package/dist/graph/prompt-composer.d.ts.map +1 -0
- package/dist/graph/prompt-composer.js +315 -0
- package/dist/graph/state.d.ts +65 -0
- package/dist/graph/state.d.ts.map +1 -0
- package/dist/graph/state.js +60 -0
- package/dist/graph/sub-agent-fallback.d.ts +56 -0
- package/dist/graph/sub-agent-fallback.d.ts.map +1 -0
- package/dist/graph/sub-agent-fallback.js +79 -0
- package/dist/graph/subagent-as-tool.d.ts +77 -0
- package/dist/graph/subagent-as-tool.d.ts.map +1 -0
- package/dist/graph/subagent-as-tool.js +197 -0
- package/dist/graph/wrap-plugin-tool.d.ts +28 -0
- package/dist/graph/wrap-plugin-tool.d.ts.map +1 -0
- package/dist/graph/wrap-plugin-tool.js +30 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +1 -0
- package/dist/llm/llm-provider.d.ts +41 -0
- package/dist/llm/llm-provider.d.ts.map +1 -0
- package/dist/llm/llm-provider.js +130 -0
- package/dist/manifest/index.d.ts +6 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +3 -0
- package/dist/manifest/schema.d.ts +31 -0
- package/dist/manifest/schema.d.ts.map +1 -0
- package/dist/manifest/schema.js +44 -0
- package/dist/manifest/tier1-renderer.d.ts +31 -0
- package/dist/manifest/tier1-renderer.d.ts.map +1 -0
- package/dist/manifest/tier1-renderer.js +68 -0
- package/dist/manifest/validator.d.ts +34 -0
- package/dist/manifest/validator.d.ts.map +1 -0
- package/dist/manifest/validator.js +111 -0
- package/dist/matrix/checkpointer/matrix-upload-utils.d.ts +66 -0
- package/dist/matrix/checkpointer/matrix-upload-utils.d.ts.map +1 -0
- package/dist/matrix/checkpointer/matrix-upload-utils.js +228 -0
- package/dist/matrix/checkpointer/type.d.ts +4 -0
- package/dist/matrix/checkpointer/type.d.ts.map +1 -0
- package/dist/matrix/checkpointer/type.js +1 -0
- package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.module.d.ts +3 -0
- package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.module.d.ts.map +1 -0
- package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.module.js +22 -0
- package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.service.d.ts +93 -0
- package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.service.d.ts.map +1 -0
- package/dist/matrix/checkpointer/user-matrix-sqlite-sync-service.service.js +856 -0
- package/dist/matrix/room-membership.d.ts +11 -0
- package/dist/matrix/room-membership.d.ts.map +1 -0
- package/dist/matrix/room-membership.js +33 -0
- package/dist/meta-tools/index.d.ts +28 -0
- package/dist/meta-tools/index.d.ts.map +1 -0
- package/dist/meta-tools/index.js +24 -0
- package/dist/meta-tools/list-capabilities.d.ts +12 -0
- package/dist/meta-tools/list-capabilities.d.ts.map +1 -0
- package/dist/meta-tools/list-capabilities.js +55 -0
- package/dist/meta-tools/load-capability.d.ts +24 -0
- package/dist/meta-tools/load-capability.d.ts.map +1 -0
- package/dist/meta-tools/load-capability.js +82 -0
- package/dist/modules/auth/auth-header.middleware.d.ts +37 -0
- package/dist/modules/auth/auth-header.middleware.d.ts.map +1 -0
- package/dist/modules/auth/auth-header.middleware.js +115 -0
- package/dist/modules/auth/auth.module.d.ts +9 -0
- package/dist/modules/auth/auth.module.d.ts.map +1 -0
- package/dist/modules/auth/auth.module.js +27 -0
- package/dist/modules/auth/index.d.ts +3 -0
- package/dist/modules/auth/index.d.ts.map +1 -0
- package/dist/modules/auth/index.js +2 -0
- package/dist/modules/auth/validate-ucan-delegation.d.ts +31 -0
- package/dist/modules/auth/validate-ucan-delegation.d.ts.map +1 -0
- package/dist/modules/auth/validate-ucan-delegation.js +36 -0
- package/dist/modules/blob-store/blob-store.module.d.ts +10 -0
- package/dist/modules/blob-store/blob-store.module.d.ts.map +1 -0
- package/dist/modules/blob-store/blob-store.module.js +25 -0
- package/dist/modules/blob-store/blob-store.service.d.ts +66 -0
- package/dist/modules/blob-store/blob-store.service.d.ts.map +1 -0
- package/dist/modules/blob-store/blob-store.service.js +108 -0
- package/dist/modules/blob-store/index.d.ts +3 -0
- package/dist/modules/blob-store/index.d.ts.map +1 -0
- package/dist/modules/blob-store/index.js +2 -0
- package/dist/modules/health/health.controller.d.ts +18 -0
- package/dist/modules/health/health.controller.d.ts.map +1 -0
- package/dist/modules/health/health.controller.js +48 -0
- package/dist/modules/health/health.module.d.ts +8 -0
- package/dist/modules/health/health.module.d.ts.map +1 -0
- package/dist/modules/health/health.module.js +21 -0
- package/dist/modules/index.d.ts +8 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +6 -0
- package/dist/modules/messages/__test-fixtures__/deps.d.ts +41 -0
- package/dist/modules/messages/__test-fixtures__/deps.d.ts.map +1 -0
- package/dist/modules/messages/__test-fixtures__/deps.js +73 -0
- package/dist/modules/messages/__test-fixtures__/fake-agent.d.ts +27 -0
- package/dist/modules/messages/__test-fixtures__/fake-agent.d.ts.map +1 -0
- package/dist/modules/messages/__test-fixtures__/fake-agent.js +41 -0
- package/dist/modules/messages/__test-fixtures__/fake-response.d.ts +29 -0
- package/dist/modules/messages/__test-fixtures__/fake-response.d.ts.map +1 -0
- package/dist/modules/messages/__test-fixtures__/fake-response.js +55 -0
- package/dist/modules/messages/agent-builder.d.ts +64 -0
- package/dist/modules/messages/agent-builder.d.ts.map +1 -0
- package/dist/modules/messages/agent-builder.js +219 -0
- package/dist/modules/messages/batch-invoker.d.ts +36 -0
- package/dist/modules/messages/batch-invoker.d.ts.map +1 -0
- package/dist/modules/messages/batch-invoker.js +58 -0
- package/dist/modules/messages/dto/list-messages.dto.d.ts +4 -0
- package/dist/modules/messages/dto/list-messages.dto.d.ts.map +1 -0
- package/dist/modules/messages/dto/list-messages.dto.js +17 -0
- package/dist/modules/messages/dto/send-message.dto.d.ts +73 -0
- package/dist/modules/messages/dto/send-message.dto.d.ts.map +1 -0
- package/dist/modules/messages/dto/send-message.dto.js +318 -0
- package/dist/modules/messages/file-processing-credit-sink.port.d.ts +20 -0
- package/dist/modules/messages/file-processing-credit-sink.port.d.ts.map +1 -0
- package/dist/modules/messages/file-processing-credit-sink.port.js +1 -0
- package/dist/modules/messages/file-processing.service.d.ts +195 -0
- package/dist/modules/messages/file-processing.service.d.ts.map +1 -0
- package/dist/modules/messages/file-processing.service.js +1278 -0
- package/dist/modules/messages/homeserver-cache.d.ts +11 -0
- package/dist/modules/messages/homeserver-cache.d.ts.map +1 -0
- package/dist/modules/messages/homeserver-cache.js +31 -0
- package/dist/modules/messages/matrix-listener-bridge.d.ts +63 -0
- package/dist/modules/messages/matrix-listener-bridge.d.ts.map +1 -0
- package/dist/modules/messages/matrix-listener-bridge.js +280 -0
- package/dist/modules/messages/messages.controller.d.ts +13 -0
- package/dist/modules/messages/messages.controller.d.ts.map +1 -0
- package/dist/modules/messages/messages.controller.js +95 -0
- package/dist/modules/messages/messages.module.d.ts +3 -0
- package/dist/modules/messages/messages.module.d.ts.map +1 -0
- package/dist/modules/messages/messages.module.js +75 -0
- package/dist/modules/messages/messages.service.d.ts +112 -0
- package/dist/modules/messages/messages.service.d.ts.map +1 -0
- package/dist/modules/messages/messages.service.js +279 -0
- package/dist/modules/messages/oracle-runtime-bundle.d.ts +38 -0
- package/dist/modules/messages/oracle-runtime-bundle.d.ts.map +1 -0
- package/dist/modules/messages/oracle-runtime-bundle.js +40 -0
- package/dist/modules/messages/post-message-syncer.d.ts +30 -0
- package/dist/modules/messages/post-message-syncer.d.ts.map +1 -0
- package/dist/modules/messages/post-message-syncer.js +73 -0
- package/dist/modules/messages/request-preparer.d.ts +53 -0
- package/dist/modules/messages/request-preparer.d.ts.map +1 -0
- package/dist/modules/messages/request-preparer.js +139 -0
- package/dist/modules/messages/sse-stream-runner.d.ts +73 -0
- package/dist/modules/messages/sse-stream-runner.d.ts.map +1 -0
- package/dist/modules/messages/sse-stream-runner.js +352 -0
- package/dist/modules/messages/sse.utils.d.ts +29 -0
- package/dist/modules/messages/sse.utils.d.ts.map +1 -0
- package/dist/modules/messages/sse.utils.js +77 -0
- package/dist/modules/messages/user-context-fetcher.d.ts +41 -0
- package/dist/modules/messages/user-context-fetcher.d.ts.map +1 -0
- package/dist/modules/messages/user-context-fetcher.js +117 -0
- package/dist/modules/secrets/index.d.ts +2 -0
- package/dist/modules/secrets/index.d.ts.map +1 -0
- package/dist/modules/secrets/index.js +1 -0
- package/dist/modules/secrets/secrets.service.d.ts +29 -0
- package/dist/modules/secrets/secrets.service.d.ts.map +1 -0
- package/dist/modules/secrets/secrets.service.js +107 -0
- package/dist/modules/sessions/dto/create-session.dto.d.ts +6 -0
- package/dist/modules/sessions/dto/create-session.dto.d.ts.map +1 -0
- package/dist/modules/sessions/dto/create-session.dto.js +5 -0
- package/dist/modules/sessions/dto/delete-session.dto.d.ts +6 -0
- package/dist/modules/sessions/dto/delete-session.dto.d.ts.map +1 -0
- package/dist/modules/sessions/dto/delete-session.dto.js +5 -0
- package/dist/modules/sessions/dto/list-sessions.dto.d.ts +7 -0
- package/dist/modules/sessions/dto/list-sessions.dto.d.ts.map +1 -0
- package/dist/modules/sessions/dto/list-sessions.dto.js +6 -0
- package/dist/modules/sessions/session-history-processor.service.d.ts +48 -0
- package/dist/modules/sessions/session-history-processor.service.d.ts.map +1 -0
- package/dist/modules/sessions/session-history-processor.service.js +254 -0
- package/dist/modules/sessions/sessions.controller.d.ts +13 -0
- package/dist/modules/sessions/sessions.controller.d.ts.map +1 -0
- package/dist/modules/sessions/sessions.controller.js +113 -0
- package/dist/modules/sessions/sessions.module.d.ts +3 -0
- package/dist/modules/sessions/sessions.module.d.ts.map +1 -0
- package/dist/modules/sessions/sessions.module.js +49 -0
- package/dist/modules/sessions/sessions.service.d.ts +23 -0
- package/dist/modules/sessions/sessions.service.d.ts.map +1 -0
- package/dist/modules/sessions/sessions.service.js +168 -0
- package/dist/modules/subscription/subscription.middleware.d.ts +37 -0
- package/dist/modules/subscription/subscription.middleware.d.ts.map +1 -0
- package/dist/modules/subscription/subscription.middleware.js +141 -0
- package/dist/modules/subscription/subscription.module.d.ts +12 -0
- package/dist/modules/subscription/subscription.module.d.ts.map +1 -0
- package/dist/modules/subscription/subscription.module.js +26 -0
- package/dist/modules/throttler/throttler.module.d.ts +11 -0
- package/dist/modules/throttler/throttler.module.d.ts.map +1 -0
- package/dist/modules/throttler/throttler.module.js +32 -0
- package/dist/modules/ucan/index.d.ts +7 -0
- package/dist/modules/ucan/index.d.ts.map +1 -0
- package/dist/modules/ucan/index.js +6 -0
- package/dist/modules/ucan/ucan.config.d.ts +87 -0
- package/dist/modules/ucan/ucan.config.d.ts.map +1 -0
- package/dist/modules/ucan/ucan.config.js +114 -0
- package/dist/modules/ucan/ucan.module.d.ts +29 -0
- package/dist/modules/ucan/ucan.module.d.ts.map +1 -0
- package/dist/modules/ucan/ucan.module.js +46 -0
- package/dist/modules/ucan/ucan.service.d.ts +129 -0
- package/dist/modules/ucan/ucan.service.d.ts.map +1 -0
- package/dist/modules/ucan/ucan.service.js +582 -0
- package/dist/modules/ws/emitter.d.ts +12 -0
- package/dist/modules/ws/emitter.d.ts.map +1 -0
- package/dist/modules/ws/emitter.js +12 -0
- package/dist/modules/ws/ws.gateway.d.ts +34 -0
- package/dist/modules/ws/ws.gateway.d.ts.map +1 -0
- package/dist/modules/ws/ws.gateway.js +241 -0
- package/dist/modules/ws/ws.module.d.ts +3 -0
- package/dist/modules/ws/ws.module.d.ts.map +1 -0
- package/dist/modules/ws/ws.module.js +21 -0
- package/dist/modules/ws/ws.service.d.ts +25 -0
- package/dist/modules/ws/ws.service.d.ts.map +1 -0
- package/dist/modules/ws/ws.service.js +113 -0
- package/dist/plugin-api/define-plugin.d.ts +19 -0
- package/dist/plugin-api/define-plugin.d.ts.map +1 -0
- package/dist/plugin-api/define-plugin.js +25 -0
- package/dist/plugin-api/oracle-plugin.d.ts +92 -0
- package/dist/plugin-api/oracle-plugin.d.ts.map +1 -0
- package/dist/plugin-api/oracle-plugin.js +15 -0
- package/dist/plugin-api/tool-helper.d.ts +33 -0
- package/dist/plugin-api/tool-helper.d.ts.map +1 -0
- package/dist/plugin-api/tool-helper.js +40 -0
- package/dist/plugin-api/types.d.ts +378 -0
- package/dist/plugin-api/types.d.ts.map +1 -0
- package/dist/plugin-api/types.js +1 -0
- package/dist/plugins/agui/agui-agent.d.ts +10 -0
- package/dist/plugins/agui/agui-agent.d.ts.map +1 -0
- package/dist/plugins/agui/agui-agent.js +110 -0
- package/dist/plugins/agui/agui.plugin.d.ts +16 -0
- package/dist/plugins/agui/agui.plugin.d.ts.map +1 -0
- package/dist/plugins/agui/agui.plugin.js +117 -0
- package/dist/plugins/agui/index.d.ts +3 -0
- package/dist/plugins/agui/index.d.ts.map +1 -0
- package/dist/plugins/agui/index.js +2 -0
- package/dist/plugins/composio/composio-tools.d.ts +59 -0
- package/dist/plugins/composio/composio-tools.d.ts.map +1 -0
- package/dist/plugins/composio/composio-tools.js +88 -0
- package/dist/plugins/composio/composio-ucan.d.ts +14 -0
- package/dist/plugins/composio/composio-ucan.d.ts.map +1 -0
- package/dist/plugins/composio/composio-ucan.js +32 -0
- package/dist/plugins/composio/composio.plugin.d.ts +45 -0
- package/dist/plugins/composio/composio.plugin.d.ts.map +1 -0
- package/dist/plugins/composio/composio.plugin.js +116 -0
- package/dist/plugins/composio/index.d.ts +4 -0
- package/dist/plugins/composio/index.d.ts.map +1 -0
- package/dist/plugins/composio/index.js +3 -0
- package/dist/plugins/credits/claim-processing.module.d.ts +28 -0
- package/dist/plugins/credits/claim-processing.module.d.ts.map +1 -0
- package/dist/plugins/credits/claim-processing.module.js +37 -0
- package/dist/plugins/credits/claim-processing.service.d.ts +92 -0
- package/dist/plugins/credits/claim-processing.service.d.ts.map +1 -0
- package/dist/plugins/credits/claim-processing.service.js +406 -0
- package/dist/plugins/credits/credits-middleware.d.ts +23 -0
- package/dist/plugins/credits/credits-middleware.d.ts.map +1 -0
- package/dist/plugins/credits/credits-middleware.js +154 -0
- package/dist/plugins/credits/credits.plugin.d.ts +55 -0
- package/dist/plugins/credits/credits.plugin.d.ts.map +1 -0
- package/dist/plugins/credits/credits.plugin.js +95 -0
- package/dist/plugins/credits/file-processing-sink.module.d.ts +18 -0
- package/dist/plugins/credits/file-processing-sink.module.d.ts.map +1 -0
- package/dist/plugins/credits/file-processing-sink.module.js +56 -0
- package/dist/plugins/credits/index.d.ts +8 -0
- package/dist/plugins/credits/index.d.ts.map +1 -0
- package/dist/plugins/credits/index.js +7 -0
- package/dist/plugins/credits/subscription-sink.module.d.ts +23 -0
- package/dist/plugins/credits/subscription-sink.module.d.ts.map +1 -0
- package/dist/plugins/credits/subscription-sink.module.js +54 -0
- package/dist/plugins/credits/token-limiter.d.ts +139 -0
- package/dist/plugins/credits/token-limiter.d.ts.map +1 -0
- package/dist/plugins/credits/token-limiter.js +302 -0
- package/dist/plugins/domain-indexer/domain-indexer-agent.d.ts +7 -0
- package/dist/plugins/domain-indexer/domain-indexer-agent.d.ts.map +1 -0
- package/dist/plugins/domain-indexer/domain-indexer-agent.js +48 -0
- package/dist/plugins/domain-indexer/domain-indexer-tools.d.ts +8 -0
- package/dist/plugins/domain-indexer/domain-indexer-tools.d.ts.map +1 -0
- package/dist/plugins/domain-indexer/domain-indexer-tools.js +194 -0
- package/dist/plugins/domain-indexer/domain-indexer.plugin.d.ts +20 -0
- package/dist/plugins/domain-indexer/domain-indexer.plugin.d.ts.map +1 -0
- package/dist/plugins/domain-indexer/domain-indexer.plugin.js +78 -0
- package/dist/plugins/domain-indexer/index.d.ts +2 -0
- package/dist/plugins/domain-indexer/index.d.ts.map +1 -0
- package/dist/plugins/domain-indexer/index.js +1 -0
- package/dist/plugins/editor/apply-sandbox-output.d.ts +33 -0
- package/dist/plugins/editor/apply-sandbox-output.d.ts.map +1 -0
- package/dist/plugins/editor/apply-sandbox-output.js +302 -0
- package/dist/plugins/editor/block-actions.d.ts +84 -0
- package/dist/plugins/editor/block-actions.d.ts.map +1 -0
- package/dist/plugins/editor/block-actions.js +471 -0
- package/dist/plugins/editor/blocknote-helper.d.ts +147 -0
- package/dist/plugins/editor/blocknote-helper.d.ts.map +1 -0
- package/dist/plugins/editor/blocknote-helper.js +542 -0
- package/dist/plugins/editor/blocknote-tools.d.ts +364 -0
- package/dist/plugins/editor/blocknote-tools.d.ts.map +1 -0
- package/dist/plugins/editor/blocknote-tools.js +2123 -0
- package/dist/plugins/editor/editor-agent.d.ts +47 -0
- package/dist/plugins/editor/editor-agent.d.ts.map +1 -0
- package/dist/plugins/editor/editor-agent.js +158 -0
- package/dist/plugins/editor/editor-mx.d.ts +56 -0
- package/dist/plugins/editor/editor-mx.d.ts.map +1 -0
- package/dist/plugins/editor/editor-mx.js +100 -0
- package/dist/plugins/editor/editor.plugin.d.ts +32 -0
- package/dist/plugins/editor/editor.plugin.d.ts.map +1 -0
- package/dist/plugins/editor/editor.plugin.js +189 -0
- package/dist/plugins/editor/index.d.ts +6 -0
- package/dist/plugins/editor/index.d.ts.map +1 -0
- package/dist/plugins/editor/index.js +5 -0
- package/dist/plugins/editor/mint-invocation-tool.d.ts +72 -0
- package/dist/plugins/editor/mint-invocation-tool.d.ts.map +1 -0
- package/dist/plugins/editor/mint-invocation-tool.js +173 -0
- package/dist/plugins/editor/page-functions.d.ts +100 -0
- package/dist/plugins/editor/page-functions.d.ts.map +1 -0
- package/dist/plugins/editor/page-functions.js +317 -0
- package/dist/plugins/editor/page-tools.d.ts +75 -0
- package/dist/plugins/editor/page-tools.d.ts.map +1 -0
- package/dist/plugins/editor/page-tools.js +238 -0
- package/dist/plugins/editor/prompts.d.ts +22 -0
- package/dist/plugins/editor/prompts.d.ts.map +1 -0
- package/dist/plugins/editor/prompts.js +451 -0
- package/dist/plugins/editor/provider.d.ts +101 -0
- package/dist/plugins/editor/provider.d.ts.map +1 -0
- package/dist/plugins/editor/provider.js +249 -0
- package/dist/plugins/editor/standalone-editor-tool.d.ts +17 -0
- package/dist/plugins/editor/standalone-editor-tool.d.ts.map +1 -0
- package/dist/plugins/editor/standalone-editor-tool.js +136 -0
- package/dist/plugins/editor/survey-helpers.d.ts +112 -0
- package/dist/plugins/editor/survey-helpers.d.ts.map +1 -0
- package/dist/plugins/editor/survey-helpers.js +358 -0
- package/dist/plugins/firecrawl/firecrawl-agent.d.ts +7 -0
- package/dist/plugins/firecrawl/firecrawl-agent.d.ts.map +1 -0
- package/dist/plugins/firecrawl/firecrawl-agent.js +84 -0
- package/dist/plugins/firecrawl/firecrawl-tools.d.ts +37 -0
- package/dist/plugins/firecrawl/firecrawl-tools.d.ts.map +1 -0
- package/dist/plugins/firecrawl/firecrawl-tools.js +129 -0
- package/dist/plugins/firecrawl/firecrawl.plugin.d.ts +32 -0
- package/dist/plugins/firecrawl/firecrawl.plugin.d.ts.map +1 -0
- package/dist/plugins/firecrawl/firecrawl.plugin.js +69 -0
- package/dist/plugins/firecrawl/index.d.ts +3 -0
- package/dist/plugins/firecrawl/index.d.ts.map +1 -0
- package/dist/plugins/firecrawl/index.js +2 -0
- package/dist/plugins/index.d.ts +47 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +69 -0
- package/dist/plugins/matrix-group-chats/channel-memory.module.d.ts +7 -0
- package/dist/plugins/matrix-group-chats/channel-memory.module.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/channel-memory.module.js +22 -0
- package/dist/plugins/matrix-group-chats/channel-memory.repo.d.ts +62 -0
- package/dist/plugins/matrix-group-chats/channel-memory.repo.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/channel-memory.repo.js +311 -0
- package/dist/plugins/matrix-group-chats/channel-memory.service.d.ts +89 -0
- package/dist/plugins/matrix-group-chats/channel-memory.service.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/channel-memory.service.js +565 -0
- package/dist/plugins/matrix-group-chats/channel-memory.summarizer.d.ts +18 -0
- package/dist/plugins/matrix-group-chats/channel-memory.summarizer.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/channel-memory.summarizer.js +128 -0
- package/dist/plugins/matrix-group-chats/channel-memory.types.d.ts +50 -0
- package/dist/plugins/matrix-group-chats/channel-memory.types.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/channel-memory.types.js +2 -0
- package/dist/plugins/matrix-group-chats/guard.d.ts +83 -0
- package/dist/plugins/matrix-group-chats/guard.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/guard.js +138 -0
- package/dist/plugins/matrix-group-chats/index.d.ts +59 -0
- package/dist/plugins/matrix-group-chats/index.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/index.js +140 -0
- package/dist/plugins/matrix-group-chats/middleware.d.ts +31 -0
- package/dist/plugins/matrix-group-chats/middleware.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/middleware.js +186 -0
- package/dist/plugins/matrix-group-chats/power-levels.d.ts +15 -0
- package/dist/plugins/matrix-group-chats/power-levels.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/power-levels.js +36 -0
- package/dist/plugins/matrix-group-chats/room-info.d.ts +23 -0
- package/dist/plugins/matrix-group-chats/room-info.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/room-info.js +34 -0
- package/dist/plugins/matrix-group-chats/tools.d.ts +8 -0
- package/dist/plugins/matrix-group-chats/tools.d.ts.map +1 -0
- package/dist/plugins/matrix-group-chats/tools.js +154 -0
- package/dist/plugins/memory/index.d.ts +5 -0
- package/dist/plugins/memory/index.d.ts.map +1 -0
- package/dist/plugins/memory/index.js +3 -0
- package/dist/plugins/memory/memory-tools.d.ts +52 -0
- package/dist/plugins/memory/memory-tools.d.ts.map +1 -0
- package/dist/plugins/memory/memory-tools.js +88 -0
- package/dist/plugins/memory/memory-ucan.d.ts +17 -0
- package/dist/plugins/memory/memory-ucan.d.ts.map +1 -0
- package/dist/plugins/memory/memory-ucan.js +43 -0
- package/dist/plugins/memory/memory.plugin.d.ts +51 -0
- package/dist/plugins/memory/memory.plugin.d.ts.map +1 -0
- package/dist/plugins/memory/memory.plugin.js +76 -0
- package/dist/plugins/memory/types.d.ts +75 -0
- package/dist/plugins/memory/types.d.ts.map +1 -0
- package/dist/plugins/memory/types.js +2 -0
- package/dist/plugins/portal/index.d.ts +3 -0
- package/dist/plugins/portal/index.d.ts.map +1 -0
- package/dist/plugins/portal/index.js +2 -0
- package/dist/plugins/portal/portal-agent.d.ts +9 -0
- package/dist/plugins/portal/portal-agent.d.ts.map +1 -0
- package/dist/plugins/portal/portal-agent.js +70 -0
- package/dist/plugins/portal/portal.plugin.d.ts +16 -0
- package/dist/plugins/portal/portal.plugin.d.ts.map +1 -0
- package/dist/plugins/portal/portal.plugin.js +115 -0
- package/dist/plugins/sandbox/index.d.ts +3 -0
- package/dist/plugins/sandbox/index.d.ts.map +1 -0
- package/dist/plugins/sandbox/index.js +2 -0
- package/dist/plugins/sandbox/sandbox-mcp.d.ts +46 -0
- package/dist/plugins/sandbox/sandbox-mcp.d.ts.map +1 -0
- package/dist/plugins/sandbox/sandbox-mcp.js +80 -0
- package/dist/plugins/sandbox/sandbox-write-blob.d.ts +22 -0
- package/dist/plugins/sandbox/sandbox-write-blob.d.ts.map +1 -0
- package/dist/plugins/sandbox/sandbox-write-blob.js +80 -0
- package/dist/plugins/sandbox/sandbox.plugin.d.ts +80 -0
- package/dist/plugins/sandbox/sandbox.plugin.d.ts.map +1 -0
- package/dist/plugins/sandbox/sandbox.plugin.js +204 -0
- package/dist/plugins/skills/index.d.ts +3 -0
- package/dist/plugins/skills/index.d.ts.map +1 -0
- package/dist/plugins/skills/index.js +2 -0
- package/dist/plugins/skills/skills-tools.d.ts +20 -0
- package/dist/plugins/skills/skills-tools.d.ts.map +1 -0
- package/dist/plugins/skills/skills-tools.js +204 -0
- package/dist/plugins/skills/skills-ucan.d.ts +24 -0
- package/dist/plugins/skills/skills-ucan.d.ts.map +1 -0
- package/dist/plugins/skills/skills-ucan.js +28 -0
- package/dist/plugins/skills/skills.plugin.d.ts +37 -0
- package/dist/plugins/skills/skills.plugin.d.ts.map +1 -0
- package/dist/plugins/skills/skills.plugin.js +82 -0
- package/dist/plugins/slack/index.d.ts +4 -0
- package/dist/plugins/slack/index.d.ts.map +1 -0
- package/dist/plugins/slack/index.js +3 -0
- package/dist/plugins/slack/slack.module.d.ts +9 -0
- package/dist/plugins/slack/slack.module.d.ts.map +1 -0
- package/dist/plugins/slack/slack.module.js +27 -0
- package/dist/plugins/slack/slack.plugin.d.ts +30 -0
- package/dist/plugins/slack/slack.plugin.d.ts.map +1 -0
- package/dist/plugins/slack/slack.plugin.js +40 -0
- package/dist/plugins/slack/slack.service.d.ts +32 -0
- package/dist/plugins/slack/slack.service.d.ts.map +1 -0
- package/dist/plugins/slack/slack.service.js +157 -0
- package/dist/plugins/user-preferences/index.d.ts +4 -0
- package/dist/plugins/user-preferences/index.d.ts.map +1 -0
- package/dist/plugins/user-preferences/index.js +3 -0
- package/dist/plugins/user-preferences/service/user-preferences.service.d.ts +61 -0
- package/dist/plugins/user-preferences/service/user-preferences.service.d.ts.map +1 -0
- package/dist/plugins/user-preferences/service/user-preferences.service.js +105 -0
- package/dist/plugins/user-preferences/user-preferences-http.module.d.ts +10 -0
- package/dist/plugins/user-preferences/user-preferences-http.module.d.ts.map +1 -0
- package/dist/plugins/user-preferences/user-preferences-http.module.js +23 -0
- package/dist/plugins/user-preferences/user-preferences-tool.d.ts +22 -0
- package/dist/plugins/user-preferences/user-preferences-tool.d.ts.map +1 -0
- package/dist/plugins/user-preferences/user-preferences-tool.js +103 -0
- package/dist/plugins/user-preferences/user-preferences.controller.d.ts +18 -0
- package/dist/plugins/user-preferences/user-preferences.controller.d.ts.map +1 -0
- package/dist/plugins/user-preferences/user-preferences.controller.js +72 -0
- package/dist/plugins/user-preferences/user-preferences.plugin.d.ts +27 -0
- package/dist/plugins/user-preferences/user-preferences.plugin.d.ts.map +1 -0
- package/dist/plugins/user-preferences/user-preferences.plugin.js +66 -0
- package/dist/registries/config-schema-registry.d.ts +24 -0
- package/dist/registries/config-schema-registry.d.ts.map +1 -0
- package/dist/registries/config-schema-registry.js +27 -0
- package/dist/registries/index.d.ts +13 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/index.js +6 -0
- package/dist/registries/manifest-registry.d.ts +49 -0
- package/dist/registries/manifest-registry.d.ts.map +1 -0
- package/dist/registries/manifest-registry.js +53 -0
- package/dist/registries/middleware-registry.d.ts +41 -0
- package/dist/registries/middleware-registry.d.ts.map +1 -0
- package/dist/registries/middleware-registry.js +52 -0
- package/dist/registries/shared-state-registry.d.ts +41 -0
- package/dist/registries/shared-state-registry.d.ts.map +1 -0
- package/dist/registries/shared-state-registry.js +65 -0
- package/dist/registries/subagent-registry.d.ts +55 -0
- package/dist/registries/subagent-registry.d.ts.map +1 -0
- package/dist/registries/subagent-registry.js +106 -0
- package/dist/registries/test-fixtures.d.ts +47 -0
- package/dist/registries/test-fixtures.d.ts.map +1 -0
- package/dist/registries/test-fixtures.js +168 -0
- package/dist/registries/tool-registry.d.ts +74 -0
- package/dist/registries/tool-registry.d.ts.map +1 -0
- package/dist/registries/tool-registry.js +130 -0
- package/dist/runtime-context/ambient.d.ts +118 -0
- package/dist/runtime-context/ambient.d.ts.map +1 -0
- package/dist/runtime-context/ambient.js +1 -0
- package/dist/runtime-context/build-plugin.d.ts +20 -0
- package/dist/runtime-context/build-plugin.d.ts.map +1 -0
- package/dist/runtime-context/build-plugin.js +16 -0
- package/dist/runtime-context/build-runtime.d.ts +60 -0
- package/dist/runtime-context/build-runtime.d.ts.map +1 -0
- package/dist/runtime-context/build-runtime.js +81 -0
- package/dist/testing/create-test-runtime.d.ts +95 -0
- package/dist/testing/create-test-runtime.d.ts.map +1 -0
- package/dist/testing/create-test-runtime.js +302 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/integration/chat-client.d.ts +143 -0
- package/dist/testing/integration/chat-client.d.ts.map +1 -0
- package/dist/testing/integration/chat-client.js +238 -0
- package/dist/testing/integration/harness.d.ts +189 -0
- package/dist/testing/integration/harness.d.ts.map +1 -0
- package/dist/testing/integration/harness.js +461 -0
- package/dist/testing/integration/index.d.ts +14 -0
- package/dist/testing/integration/index.d.ts.map +1 -0
- package/dist/testing/integration/index.js +18 -0
- package/dist/testing/integration/setup.d.ts +2 -0
- package/dist/testing/integration/setup.d.ts.map +1 -0
- package/dist/testing/integration/setup.js +41 -0
- package/dist/testing/integration/sse-parser.d.ts +99 -0
- package/dist/testing/integration/sse-parser.d.ts.map +1 -0
- package/dist/testing/integration/sse-parser.js +125 -0
- package/dist/testing/integration/ucan.d.ts +74 -0
- package/dist/testing/integration/ucan.d.ts.map +1 -0
- package/dist/testing/integration/ucan.js +95 -0
- package/dist/testing/integration/wait-for-matrix-loaded.d.ts +19 -0
- package/dist/testing/integration/wait-for-matrix-loaded.d.ts.map +1 -0
- package/dist/testing/integration/wait-for-matrix-loaded.js +31 -0
- package/dist/testing/mocks.d.ts +64 -0
- package/dist/testing/mocks.d.ts.map +1 -0
- package/dist/testing/mocks.js +141 -0
- package/dist/testing/nest-doubles.d.ts +10 -0
- package/dist/testing/nest-doubles.d.ts.map +1 -0
- package/dist/testing/nest-doubles.js +19 -0
- package/dist/utils/emoji.d.ts +3 -0
- package/dist/utils/emoji.d.ts.map +1 -0
- package/dist/utils/emoji.js +36 -0
- package/package.json +102 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { HumanMessage } from '@langchain/core/messages';
|
|
2
|
+
import { resolvePlugins, } from '../bootstrap/plugin-loader.js';
|
|
3
|
+
import { validateManifest } from '../manifest/validator.js';
|
|
4
|
+
import { ConfigSchemaRegistry, ManifestRegistry, MiddlewareRegistry, SharedStateRegistry, SubAgentRegistry, ToolRegistry, } from '../registries/index.js';
|
|
5
|
+
import { buildPluginContext } from '../runtime-context/build-plugin.js';
|
|
6
|
+
import { buildRuntimeContext, } from '../runtime-context/build-runtime.js';
|
|
7
|
+
import { mockBlobStore, mockEmit, mockLlm, mockLogger, mockMatrix, mockSecrets, mockUcan, } from './mocks.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build a `TestRuntime` for unit-testing one or more plugins in isolation.
|
|
10
|
+
*
|
|
11
|
+
* The harness wires the same registries the production runtime does, so
|
|
12
|
+
* collisions, manifest validation, and meta-tool behavior all match what
|
|
13
|
+
* an oracle would see at boot. It does NOT spin up Matrix, Redis, or a
|
|
14
|
+
* real LLM — every ambient service is replaced with a mock by default.
|
|
15
|
+
*/
|
|
16
|
+
export async function createTestRuntime(opts) {
|
|
17
|
+
const logger = opts.logger ?? mockLogger();
|
|
18
|
+
// 1. Resolve the plugin list through the production loader. `autoDetect`
|
|
19
|
+
// probes are typed against `NodeJS.ProcessEnv` (string-or-undefined values),
|
|
20
|
+
// so we stringify the test config — plugin authors can drop in numbers or
|
|
21
|
+
// bools and still see consistent string-shaped probe input.
|
|
22
|
+
const env = {};
|
|
23
|
+
for (const [k, v] of Object.entries(opts.config ?? {})) {
|
|
24
|
+
if (v === undefined || v === null)
|
|
25
|
+
continue;
|
|
26
|
+
env[k] = typeof v === 'string' ? v : String(v);
|
|
27
|
+
}
|
|
28
|
+
const resolved = resolvePlugins({
|
|
29
|
+
bundled: opts.plugins,
|
|
30
|
+
features: opts.features,
|
|
31
|
+
env,
|
|
32
|
+
logger,
|
|
33
|
+
});
|
|
34
|
+
const loadedPluginNames = new Set(resolved.loaded.map((p) => p.name));
|
|
35
|
+
// 2. Populate the six registries.
|
|
36
|
+
const tools = new ToolRegistry();
|
|
37
|
+
const subAgents = new SubAgentRegistry();
|
|
38
|
+
const middlewares = new MiddlewareRegistry();
|
|
39
|
+
const manifests = new ManifestRegistry();
|
|
40
|
+
const configSchemas = new ConfigSchemaRegistry();
|
|
41
|
+
const sharedState = new SharedStateRegistry();
|
|
42
|
+
for (const plugin of resolved.loaded) {
|
|
43
|
+
tools.register(plugin);
|
|
44
|
+
subAgents.register(plugin);
|
|
45
|
+
middlewares.register(plugin);
|
|
46
|
+
manifests.register(plugin);
|
|
47
|
+
configSchemas.register(plugin);
|
|
48
|
+
sharedState.register(plugin);
|
|
49
|
+
}
|
|
50
|
+
// 3. Mock ambient services. `let`-bindings so `rt.mocks.*` can swap them.
|
|
51
|
+
let matrixAdapter = mockMatrix(opts.mocks?.matrix);
|
|
52
|
+
const llmAdapter = mockLlm(opts.mocks?.llm);
|
|
53
|
+
const secretsAdapter = mockSecrets(opts.mocks?.secrets);
|
|
54
|
+
const blobStoreAdapter = mockBlobStore();
|
|
55
|
+
const ucanAdapter = mockUcan();
|
|
56
|
+
const emitAdapter = mockEmit();
|
|
57
|
+
let fetchHandler = opts.mocks?.fetch;
|
|
58
|
+
const identity = {
|
|
59
|
+
name: 'TestOracle',
|
|
60
|
+
org: 'Test',
|
|
61
|
+
description: 'createTestRuntime',
|
|
62
|
+
entityDid: 'did:ixo:test',
|
|
63
|
+
...opts.identity,
|
|
64
|
+
};
|
|
65
|
+
// Build the ambient services with `matrix` as a getter so subsequent
|
|
66
|
+
// `rt.mocks.matrix(...)` swaps are picked up by every fresh
|
|
67
|
+
// `buildRuntimeContext` call without relying on a re-bind.
|
|
68
|
+
const ambient = {
|
|
69
|
+
config: opts.config ?? {},
|
|
70
|
+
identity,
|
|
71
|
+
availablePlugins: loadedPluginNames,
|
|
72
|
+
secrets: secretsAdapter,
|
|
73
|
+
blobStore: blobStoreAdapter,
|
|
74
|
+
get matrix() {
|
|
75
|
+
return matrixAdapter;
|
|
76
|
+
},
|
|
77
|
+
llm: llmAdapter,
|
|
78
|
+
emit: emitAdapter,
|
|
79
|
+
ucan: ucanAdapter,
|
|
80
|
+
logger,
|
|
81
|
+
};
|
|
82
|
+
// 4. Build the per-plugin PluginContexts (used to collect tools/subagents/etc).
|
|
83
|
+
const buildCtxFor = (pluginName) => buildPluginContext({
|
|
84
|
+
config: opts.config ?? {},
|
|
85
|
+
identity,
|
|
86
|
+
availablePlugins: loadedPluginNames,
|
|
87
|
+
logger,
|
|
88
|
+
pluginName,
|
|
89
|
+
});
|
|
90
|
+
// Pre-collect tools/subagents/middlewares so the registries' query helpers
|
|
91
|
+
// (`toolsForPlugin`, `assertNoCollisions`) work synchronously thereafter.
|
|
92
|
+
// Registries pass a single PluginContext to every plugin; we use the
|
|
93
|
+
// generic `__test__`-scoped one — attribution is by `plugin.name`, not by
|
|
94
|
+
// anything inside the ctx, so a shared ctx is correct.
|
|
95
|
+
const sharedBuildCtx = buildCtxFor('__test__');
|
|
96
|
+
const collectedTools = await tools.collect(sharedBuildCtx);
|
|
97
|
+
const collectedSubAgents = await subAgents.collect(sharedBuildCtx);
|
|
98
|
+
const collectedMiddlewares = middlewares.collect(sharedBuildCtx);
|
|
99
|
+
const loadedSet = new Set();
|
|
100
|
+
// 5. Helper to construct a fresh RuntimeContext per invocation.
|
|
101
|
+
const buildRtCtx = () => {
|
|
102
|
+
const runConfig = {
|
|
103
|
+
context: {
|
|
104
|
+
user: {
|
|
105
|
+
did: 'did:ixo:test-user',
|
|
106
|
+
matrixUserId: '@did-ixo-test-user:ixo.world',
|
|
107
|
+
ucanDelegation: { raw: 'test-ucan' },
|
|
108
|
+
...opts.user,
|
|
109
|
+
},
|
|
110
|
+
session: {
|
|
111
|
+
id: 'test-session',
|
|
112
|
+
client: 'portal',
|
|
113
|
+
requestId: 'test-req',
|
|
114
|
+
...opts.session,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
const stateInput = {
|
|
119
|
+
messages: [],
|
|
120
|
+
...(opts.state ?? {}),
|
|
121
|
+
loadedPlugins: loadedSet,
|
|
122
|
+
};
|
|
123
|
+
return buildRuntimeContext(runConfig, ambient, stateInput);
|
|
124
|
+
};
|
|
125
|
+
// 6. Public surface.
|
|
126
|
+
const runtime = {
|
|
127
|
+
async invokeTool(name, args) {
|
|
128
|
+
const entry = collectedTools.find((t) => t.tool.name === name);
|
|
129
|
+
if (!entry) {
|
|
130
|
+
const available = collectedTools.map((t) => t.tool.name).join(', ');
|
|
131
|
+
throw new Error(`Tool "${name}" not found. Registered tools: ${available || '(none)'}.`);
|
|
132
|
+
}
|
|
133
|
+
return entry.tool.handler(args, buildRtCtx());
|
|
134
|
+
},
|
|
135
|
+
async invokeMiddleware(nameOrIndex, state, runtimeArg) {
|
|
136
|
+
const middleware = findMiddleware(collectedMiddlewares, nameOrIndex);
|
|
137
|
+
const runtimeCtx = runtimeArg ?? { context: {} };
|
|
138
|
+
const out = {};
|
|
139
|
+
// Run hooks in agent order. LangChain hooks have rich generic types
|
|
140
|
+
// (BeforeAgentHook<TSchema, TFullContext> and friends), but at the
|
|
141
|
+
// unit-test boundary they all collapse to `(state, runtime) => result`.
|
|
142
|
+
// Each call goes through `runHook` so the harness invokes whichever
|
|
143
|
+
// hooks the middleware actually defined.
|
|
144
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
145
|
+
const m = middleware;
|
|
146
|
+
const before1 = await runHook(m.beforeAgent, state, runtimeCtx);
|
|
147
|
+
if (before1 !== undefined)
|
|
148
|
+
out.before = before1;
|
|
149
|
+
const before2 = await runHook(m.beforeModel, state, runtimeCtx);
|
|
150
|
+
if (before2 !== undefined)
|
|
151
|
+
out.before = before2;
|
|
152
|
+
const after1 = await runHook(m.afterModel, state, runtimeCtx);
|
|
153
|
+
if (after1 !== undefined)
|
|
154
|
+
out.after = after1;
|
|
155
|
+
const after2 = await runHook(m.afterAgent, state, runtimeCtx);
|
|
156
|
+
if (after2 !== undefined)
|
|
157
|
+
out.after = after2;
|
|
158
|
+
return out;
|
|
159
|
+
},
|
|
160
|
+
async invokeSubAgent(name, task) {
|
|
161
|
+
const entry = collectedSubAgents.find((s) => s.subAgent.name === name);
|
|
162
|
+
if (!entry) {
|
|
163
|
+
throw new Error(`Sub-agent "${name}" not found. Registered: ${collectedSubAgents.map((s) => s.subAgent.name).join(', ') ||
|
|
164
|
+
'(none)'}.`);
|
|
165
|
+
}
|
|
166
|
+
const sub = entry.subAgent;
|
|
167
|
+
const buildCtx = buildCtxFor(entry.pluginName);
|
|
168
|
+
const subTools = typeof sub.tools === 'function' ? sub.tools(buildCtx) : sub.tools;
|
|
169
|
+
const systemPrompt = typeof sub.systemPrompt === 'function'
|
|
170
|
+
? sub.systemPrompt(buildCtx)
|
|
171
|
+
: sub.systemPrompt;
|
|
172
|
+
// Layer-1: deterministic envelope. Reuses the configured llm mock so
|
|
173
|
+
// authors can opt into a recorded response via `mocks.llm.respondWith`.
|
|
174
|
+
const model = ambient.llm.get(sub.model ?? 'subagent');
|
|
175
|
+
const reply = await model.invoke([new HumanMessage(task)]);
|
|
176
|
+
const replyText = typeof reply.content === 'string'
|
|
177
|
+
? reply.content
|
|
178
|
+
: JSON.stringify(reply.content);
|
|
179
|
+
return JSON.stringify({
|
|
180
|
+
subAgent: sub.name,
|
|
181
|
+
plugin: entry.pluginName,
|
|
182
|
+
task,
|
|
183
|
+
systemPromptPreview: systemPrompt.slice(0, 80),
|
|
184
|
+
toolNames: subTools.map((t) => t.name),
|
|
185
|
+
reply: replyText,
|
|
186
|
+
});
|
|
187
|
+
},
|
|
188
|
+
listTools(plugin) {
|
|
189
|
+
const filtered = plugin
|
|
190
|
+
? collectedTools.filter((t) => t.pluginName === plugin)
|
|
191
|
+
: collectedTools;
|
|
192
|
+
return filtered.map((t) => t.tool);
|
|
193
|
+
},
|
|
194
|
+
getManifest(plugin) {
|
|
195
|
+
const entry = manifests.collect().find((m) => m.pluginName === plugin);
|
|
196
|
+
if (!entry)
|
|
197
|
+
throw new Error(`Plugin "${plugin}" is not registered.`);
|
|
198
|
+
return entry.manifest;
|
|
199
|
+
},
|
|
200
|
+
listCapabilities() {
|
|
201
|
+
const out = [];
|
|
202
|
+
for (const { pluginName, manifest } of manifests.collect()) {
|
|
203
|
+
const visibility = manifest.visibility ?? 'on-demand';
|
|
204
|
+
if (visibility === 'silent')
|
|
205
|
+
continue;
|
|
206
|
+
out.push({
|
|
207
|
+
name: pluginName,
|
|
208
|
+
summary: manifest.summary,
|
|
209
|
+
visibility,
|
|
210
|
+
loaded: visibility === 'always' || loadedSet.has(pluginName),
|
|
211
|
+
category: manifest.category,
|
|
212
|
+
tags: manifest.tags ?? [],
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return out;
|
|
216
|
+
},
|
|
217
|
+
loadCapability(name) {
|
|
218
|
+
const entry = manifests.collect().find((m) => m.pluginName === name);
|
|
219
|
+
if (!entry) {
|
|
220
|
+
throw new Error(`Cannot load capability "${name}" — not registered. Call rt.listCapabilities() to see what's available.`);
|
|
221
|
+
}
|
|
222
|
+
if (entry.manifest.visibility === 'silent') {
|
|
223
|
+
throw new Error(`Capability "${name}" is silent and cannot be loaded by the agent.`);
|
|
224
|
+
}
|
|
225
|
+
loadedSet.add(name);
|
|
226
|
+
},
|
|
227
|
+
assertNoCollisions() {
|
|
228
|
+
tools.assertNoCollisions();
|
|
229
|
+
subAgents.assertNoCollisions();
|
|
230
|
+
middlewares.assertNoCollisions();
|
|
231
|
+
manifests.assertNoCollisions();
|
|
232
|
+
configSchemas.assertNoCollisions();
|
|
233
|
+
sharedState.assertNoCollisions();
|
|
234
|
+
// Cross-check examples against tools too — surfaces stale `examples[].tool`.
|
|
235
|
+
const cross = manifests.validateAgainstTools(tools, subAgents);
|
|
236
|
+
if (cross.errors.length > 0) {
|
|
237
|
+
throw new Error(`Manifest cross-check failed:\n - ${cross.errors.join('\n - ')}`);
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
assertManifestValid() {
|
|
241
|
+
const errors = [];
|
|
242
|
+
for (const { pluginName, manifest } of manifests.collect()) {
|
|
243
|
+
const result = validateManifest(manifest, pluginName);
|
|
244
|
+
if (!result.valid)
|
|
245
|
+
errors.push(...result.errors);
|
|
246
|
+
}
|
|
247
|
+
if (errors.length > 0) {
|
|
248
|
+
throw new Error(`Manifest validation failed:\n - ${errors.join('\n - ')}`);
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
async invokeAgent(_messages) {
|
|
252
|
+
throw new Error('invokeAgent is not implemented yet. Full agent assembly lights up once ' +
|
|
253
|
+
'createMainAgent is consumed by createOracleApp. For unit tests, use ' +
|
|
254
|
+
'invokeTool / invokeMiddleware / invokeSubAgent.');
|
|
255
|
+
},
|
|
256
|
+
mocks: {
|
|
257
|
+
matrix(overrides) {
|
|
258
|
+
matrixAdapter = mockMatrix(overrides);
|
|
259
|
+
},
|
|
260
|
+
fetch(handler) {
|
|
261
|
+
fetchHandler = handler;
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
async close() {
|
|
265
|
+
// Nothing allocated outside JS heap; placeholder for symmetry with
|
|
266
|
+
// future resource-holding test runtimes (e.g. recorded LLM cassettes).
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
// Expose the fetch handler under a leading-underscore hidden field so
|
|
270
|
+
// tests can read whatever was bound via `rt.mocks.fetch(...)` without
|
|
271
|
+
// widening the public `TestRuntime` interface.
|
|
272
|
+
Object.defineProperty(runtime, '_fetchHandler', {
|
|
273
|
+
enumerable: false,
|
|
274
|
+
get: () => fetchHandler,
|
|
275
|
+
});
|
|
276
|
+
return runtime;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Locate a middleware in the collected list by name, falling back to a
|
|
280
|
+
* positional `mw{n}` form so the `makeMiddleware('mw0')`-style fixtures
|
|
281
|
+
* still resolve. Throws with a useful list when the middleware is missing.
|
|
282
|
+
*/
|
|
283
|
+
function findMiddleware(collected, nameOrIndex) {
|
|
284
|
+
if (typeof nameOrIndex === 'number') {
|
|
285
|
+
const found = collected[nameOrIndex];
|
|
286
|
+
if (!found) {
|
|
287
|
+
throw new Error(`Middleware index ${nameOrIndex} out of range (0..${collected.length - 1}).`);
|
|
288
|
+
}
|
|
289
|
+
return found.middleware;
|
|
290
|
+
}
|
|
291
|
+
const direct = collected.find((m) => m.middleware.name === nameOrIndex);
|
|
292
|
+
if (direct)
|
|
293
|
+
return direct.middleware;
|
|
294
|
+
const names = collected.map((m) => m.middleware.name).join(', ');
|
|
295
|
+
throw new Error(`Middleware "${nameOrIndex}" not found. Registered: ${names || '(none)'}.`);
|
|
296
|
+
}
|
|
297
|
+
async function runHook(entry, state, runtime) {
|
|
298
|
+
if (!entry)
|
|
299
|
+
return undefined;
|
|
300
|
+
const fn = typeof entry === 'function' ? entry : entry.hook;
|
|
301
|
+
return fn(state, runtime);
|
|
302
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createTestRuntime, type CreateTestRuntimeOptions, type TestRuntime, type CapabilityListing, } from './create-test-runtime.js';
|
|
2
|
+
export { mockResponse, mockMatrix, mockLlm, mockSecrets, mockBlobStore, mockEmit, mockUcan, mockLogger, type MockResponseLike, type MockResponseInit, type MockMatrixOverrides, type MockLlmOptions, type FetchHandler, } from './mocks.js';
|
|
3
|
+
export { makePlugin, makeManifest, makeTool, makeSubAgent, makeMiddleware, makeBuildCtx, makeRuntimeContext, type TestPluginInit, } from '../registries/test-fixtures.js';
|
|
4
|
+
export { makeConfig } from './nest-doubles.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,OAAO,EACP,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createTestRuntime, } from './create-test-runtime.js';
|
|
2
|
+
export { mockResponse, mockMatrix, mockLlm, mockSecrets, mockBlobStore, mockEmit, mockUcan, mockLogger, } from './mocks.js';
|
|
3
|
+
// Convenience re-exports — keep authors on one import path.
|
|
4
|
+
export { makePlugin, makeManifest, makeTool, makeSubAgent, makeMiddleware, makeBuildCtx, makeRuntimeContext, } from '../registries/test-fixtures.js';
|
|
5
|
+
export { makeConfig } from './nest-doubles.js';
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ChatClient` — HTTP/SSE client for talking to a booted oracle from
|
|
3
|
+
* an integration test. Mirrors the production frontend pattern from
|
|
4
|
+
* `packages/oracles-client-sdk/src/hooks/use-chat/v2/use-send-message.ts`:
|
|
5
|
+
*
|
|
6
|
+
* - `POST /messages/:sessionId` with `x-ucan-delegation` header
|
|
7
|
+
* - `timezone` sent in the request BODY (not the header)
|
|
8
|
+
* - SSE parsed via the typed `parseSSEStream` (mirror of the SDK's parser)
|
|
9
|
+
* - `X-Request-Id` header captured from the response — required for stream
|
|
10
|
+
*
|
|
11
|
+
* Streams yield the same typed `SSEEvent` discriminated union the SDK uses,
|
|
12
|
+
* so test assertions reason about the exact event payloads the frontend
|
|
13
|
+
* consumes. No bespoke parser, no `unknown`-typed events.
|
|
14
|
+
*/
|
|
15
|
+
import { type SendMessageResponse } from '../../modules/messages/dto/send-message.dto.js';
|
|
16
|
+
import { type SSEEvent } from './sse-parser.js';
|
|
17
|
+
export type { SSEEvent } from './sse-parser.js';
|
|
18
|
+
export type { SendMessageResponse } from '../../modules/messages/dto/send-message.dto.js';
|
|
19
|
+
/** Options used to construct a `ChatClient`. */
|
|
20
|
+
export interface ChatClientOptions {
|
|
21
|
+
/** Base64 UCAN delegation, forwarded as `x-ucan-delegation`. */
|
|
22
|
+
delegation?: string;
|
|
23
|
+
/** IANA timezone string — sent in the request BODY (matches SDK). */
|
|
24
|
+
timezone?: string;
|
|
25
|
+
/** Per-request timeout (ms). Default 60_000. */
|
|
26
|
+
timeoutMs?: number;
|
|
27
|
+
/** Override the `fetch` impl. */
|
|
28
|
+
fetch?: typeof globalThis.fetch;
|
|
29
|
+
}
|
|
30
|
+
/** Per-call options accepted by `ChatClient.send` and `ChatClient.stream`. */
|
|
31
|
+
export interface SendOptions {
|
|
32
|
+
/** Cancel the request mid-flight. */
|
|
33
|
+
signal?: AbortSignal;
|
|
34
|
+
/** Per-call override of the constructor's `timezone`. */
|
|
35
|
+
timezone?: string;
|
|
36
|
+
/** Per-call override of the constructor's `delegation`. */
|
|
37
|
+
delegation?: string;
|
|
38
|
+
/** Optional metadata forwarded to the server (matches SDK). */
|
|
39
|
+
metadata?: Record<string, unknown>;
|
|
40
|
+
/** Optional attachments — same shape the SDK sends. */
|
|
41
|
+
attachments?: Array<{
|
|
42
|
+
mxcUri?: string;
|
|
43
|
+
eventId?: string;
|
|
44
|
+
filename: string;
|
|
45
|
+
mimetype: string;
|
|
46
|
+
size?: number;
|
|
47
|
+
}>;
|
|
48
|
+
/** Optional declared browser tools. */
|
|
49
|
+
tools?: Array<{
|
|
50
|
+
name: string;
|
|
51
|
+
description: string;
|
|
52
|
+
schema: Record<string, unknown>;
|
|
53
|
+
}>;
|
|
54
|
+
/** Optional declared AG-UI actions. */
|
|
55
|
+
agActions?: Array<{
|
|
56
|
+
name: string;
|
|
57
|
+
description: string;
|
|
58
|
+
schema: Record<string, unknown>;
|
|
59
|
+
hasRender?: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Per-call override — defaults to `true` in `ChatClient` so tests always
|
|
63
|
+
* receive the full transcript. Pass `false` to mirror the production
|
|
64
|
+
* payload (only the last assistant message).
|
|
65
|
+
*/
|
|
66
|
+
returnAllMessages?: boolean;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Non-stream `send()` body — guaranteed to include the full transcript
|
|
70
|
+
* since `ChatClient` defaults `returnAllMessages: true`. The `message`
|
|
71
|
+
* field is the last assistant message (the older response shape, kept for
|
|
72
|
+
* backward-compatible test assertions).
|
|
73
|
+
*/
|
|
74
|
+
export interface SendMessageWithTranscriptResponse extends SendMessageResponse {
|
|
75
|
+
messages: NonNullable<SendMessageResponse['messages']>;
|
|
76
|
+
}
|
|
77
|
+
/** Result of an HTTP request issued by `ChatClient`. */
|
|
78
|
+
export interface SendResult<TBody = unknown> {
|
|
79
|
+
body: TBody;
|
|
80
|
+
durationMs: number;
|
|
81
|
+
status: number;
|
|
82
|
+
requestId?: string;
|
|
83
|
+
}
|
|
84
|
+
export type StreamOptions = SendOptions;
|
|
85
|
+
/** Result yielded by `ChatClient.stream()` once iteration completes. */
|
|
86
|
+
export interface StreamFinal {
|
|
87
|
+
events: SSEEvent[];
|
|
88
|
+
/** Concatenated text from every `message` event in arrival order. */
|
|
89
|
+
text: string;
|
|
90
|
+
durationMs: number;
|
|
91
|
+
/** `X-Request-Id` — always present for stream responses (matches SDK). */
|
|
92
|
+
requestId: string;
|
|
93
|
+
}
|
|
94
|
+
export declare class ChatClient {
|
|
95
|
+
private readonly baseUrl;
|
|
96
|
+
private readonly delegation;
|
|
97
|
+
private readonly timezone;
|
|
98
|
+
private readonly timeoutMs;
|
|
99
|
+
private readonly fetchImpl;
|
|
100
|
+
constructor(baseUrl: string, opts?: ChatClientOptions);
|
|
101
|
+
/** Headers shared by every request. `timezone` is NOT here — it's in the body. */
|
|
102
|
+
private authHeaders;
|
|
103
|
+
/**
|
|
104
|
+
* Compose the JSON body the SDK sends — keys match
|
|
105
|
+
* `apps/qiforge-example` → SDK → controller exactly.
|
|
106
|
+
*/
|
|
107
|
+
private composeBody;
|
|
108
|
+
/** Raw `fetch` against the oracle's base URL — for plugin HTTP routes. */
|
|
109
|
+
fetch(path: string, init?: RequestInit): Promise<Response>;
|
|
110
|
+
/**
|
|
111
|
+
* `POST /messages/:sessionId` with `stream: false`.
|
|
112
|
+
*
|
|
113
|
+
* `ChatClient` defaults `returnAllMessages: true`, so `body.messages`
|
|
114
|
+
* holds the full session transcript and `body.message` is the last
|
|
115
|
+
* assistant message (same shape the production payload returns). The
|
|
116
|
+
* caller can opt out via `opts.returnAllMessages = false` — in that case
|
|
117
|
+
* `body.messages` will be `undefined` at runtime but the type stays
|
|
118
|
+
* non-optional for the default case; narrow manually if you opt out.
|
|
119
|
+
*/
|
|
120
|
+
send(sessionId: string, message: string, opts?: SendOptions): Promise<SendResult<SendMessageWithTranscriptResponse>>;
|
|
121
|
+
/**
|
|
122
|
+
* `POST /messages/:sessionId` with `stream: true`. Returns an async
|
|
123
|
+
* iterable of typed SSE events plus a `final()` method resolving to the
|
|
124
|
+
* complete event list + accumulated text.
|
|
125
|
+
*/
|
|
126
|
+
stream(sessionId: string, message: string, opts?: StreamOptions): AsyncIterable<SSEEvent> & {
|
|
127
|
+
final(): Promise<StreamFinal>;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* `POST /sessions` — create a new chat session and return its id.
|
|
131
|
+
*
|
|
132
|
+
* Required before `send`/`stream` against a sessionId — `MessagesService`
|
|
133
|
+
* throws 404 if the session doesn't already exist. Tests call this in
|
|
134
|
+
* `beforeAll` and reuse the returned id, matching the SDK's
|
|
135
|
+
* `useSessionManager` flow on the frontend.
|
|
136
|
+
*/
|
|
137
|
+
createSession(): Promise<string>;
|
|
138
|
+
/** `GET /messages/:sessionId` — list messages in a session. */
|
|
139
|
+
list(sessionId: string): Promise<SendResult>;
|
|
140
|
+
/** `POST /messages/abort` — cancel an ongoing stream by session id. */
|
|
141
|
+
abort(sessionId: string): Promise<SendResult>;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=chat-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-client.d.ts","sourceRoot":"","sources":["../../../src/testing/integration/chat-client.ts"],"names":[],"mappings":"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"}
|