@assemblyline-agents/runtime 5.0.10 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -5
- package/dist/a2a-client.d.ts +1 -3
- package/dist/a2a-client.d.ts.map +1 -1
- package/dist/a2a-client.js +1 -4
- package/dist/a2a-client.js.map +1 -1
- package/dist/agent-event-handlers.d.ts +2 -0
- package/dist/agent-event-handlers.d.ts.map +1 -1
- package/dist/agent-event-handlers.js +1 -1
- package/dist/agent-event-handlers.js.map +1 -1
- package/dist/agent-hook-context.d.ts.map +1 -1
- package/dist/agent-hook-context.js +3 -1
- package/dist/agent-hook-context.js.map +1 -1
- package/dist/agent-hook-controller-factory.d.ts +5 -1
- package/dist/agent-hook-controller-factory.d.ts.map +1 -1
- package/dist/agent-hook-controller-factory.js +11 -9
- package/dist/agent-hook-controller-factory.js.map +1 -1
- package/dist/agent-hook-evaluation.d.ts +0 -2
- package/dist/agent-hook-evaluation.d.ts.map +1 -1
- package/dist/agent-hook-evaluation.js +10 -10
- package/dist/agent-hook-evaluation.js.map +1 -1
- package/dist/agent-hook-run-lifecycle.d.ts +1 -2
- package/dist/agent-hook-run-lifecycle.d.ts.map +1 -1
- package/dist/agent-hook-run-lifecycle.js +1 -2
- package/dist/agent-hook-run-lifecycle.js.map +1 -1
- package/dist/agent-surface.d.ts +5 -2
- package/dist/agent-surface.d.ts.map +1 -1
- package/dist/agent-surface.js +11 -3
- package/dist/agent-surface.js.map +1 -1
- package/dist/artifact-selection.js +1 -1
- package/dist/artifact-selection.js.map +1 -1
- package/dist/assembly-line-runtime.d.ts +9 -0
- package/dist/assembly-line-runtime.d.ts.map +1 -0
- package/dist/assembly-line-runtime.js +9 -0
- package/dist/assembly-line-runtime.js.map +1 -0
- package/dist/attachment-download.d.ts +17 -0
- package/dist/attachment-download.d.ts.map +1 -0
- package/dist/attachment-download.js +51 -0
- package/dist/attachment-download.js.map +1 -0
- package/dist/attachments.d.ts +2 -14
- package/dist/attachments.d.ts.map +1 -1
- package/dist/attachments.js +8 -80
- package/dist/attachments.js.map +1 -1
- package/dist/background-review-types.d.ts +2 -0
- package/dist/background-review-types.d.ts.map +1 -1
- package/dist/background-review.d.ts.map +1 -1
- package/dist/background-review.js +13 -0
- package/dist/background-review.js.map +1 -1
- package/dist/background-subagents.d.ts +1 -1
- package/dist/background-subagents.d.ts.map +1 -1
- package/dist/blob-storage.d.ts +12 -0
- package/dist/blob-storage.d.ts.map +1 -0
- package/dist/blob-storage.js +86 -0
- package/dist/blob-storage.js.map +1 -0
- package/dist/builtin-tool-executors.d.ts.map +1 -1
- package/dist/builtin-tool-executors.js +14 -18
- package/dist/builtin-tool-executors.js.map +1 -1
- package/dist/builtin-tools.d.ts +1 -2
- package/dist/builtin-tools.d.ts.map +1 -1
- package/dist/builtin-tools.js +0 -8
- package/dist/builtin-tools.js.map +1 -1
- package/dist/capability-inspection.d.ts +4 -0
- package/dist/capability-inspection.d.ts.map +1 -1
- package/dist/capability-inspection.js +10 -11
- package/dist/capability-inspection.js.map +1 -1
- package/dist/channel-credential-environment.d.ts +1 -1
- package/dist/channel-credential-environment.d.ts.map +1 -1
- package/dist/channel-credential-environment.js +1 -6
- package/dist/channel-credential-environment.js.map +1 -1
- package/dist/channel-ingress.d.ts +1 -2
- package/dist/channel-ingress.d.ts.map +1 -1
- package/dist/channel-ingress.js +2 -2
- package/dist/channel-ingress.js.map +1 -1
- package/dist/channel-operation.d.ts +0 -1
- package/dist/channel-operation.d.ts.map +1 -1
- package/dist/channel-operation.js +1 -2
- package/dist/channel-operation.js.map +1 -1
- package/dist/channel.d.ts +32 -3
- package/dist/channel.d.ts.map +1 -1
- package/dist/connection-assets.d.ts.map +1 -1
- package/dist/connection-assets.js.map +1 -1
- package/dist/connection-authorization-service.d.ts +52 -0
- package/dist/connection-authorization-service.d.ts.map +1 -0
- package/dist/connection-authorization-service.js +417 -0
- package/dist/connection-authorization-service.js.map +1 -0
- package/dist/connection-credential-materialization.d.ts +23 -0
- package/dist/connection-credential-materialization.d.ts.map +1 -0
- package/dist/connection-credential-materialization.js +223 -0
- package/dist/connection-credential-materialization.js.map +1 -0
- package/dist/connection-definition-loader.d.ts +6 -0
- package/dist/connection-definition-loader.d.ts.map +1 -0
- package/dist/connection-definition-loader.js +102 -0
- package/dist/connection-definition-loader.js.map +1 -0
- package/dist/connection-discovery.d.ts +11 -0
- package/dist/connection-discovery.d.ts.map +1 -0
- package/dist/connection-discovery.js +105 -0
- package/dist/connection-discovery.js.map +1 -0
- package/dist/connection-events.d.ts.map +1 -1
- package/dist/connection-events.js.map +1 -1
- package/dist/connection-oauth-client.d.ts +3 -0
- package/dist/connection-oauth-client.d.ts.map +1 -0
- package/dist/connection-oauth-client.js +64 -0
- package/dist/connection-oauth-client.js.map +1 -0
- package/dist/connection-runtime-types.d.ts +78 -0
- package/dist/connection-runtime-types.d.ts.map +1 -0
- package/dist/connection-runtime-types.js +31 -0
- package/dist/connection-runtime-types.js.map +1 -0
- package/dist/connections.d.ts +18 -167
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +71 -1017
- package/dist/connections.js.map +1 -1
- package/dist/context-policy-util.d.ts +0 -4
- package/dist/context-policy-util.d.ts.map +1 -1
- package/dist/context-policy-util.js +0 -10
- package/dist/context-policy-util.js.map +1 -1
- package/dist/conversation-context.d.ts +1 -1
- package/dist/conversation-context.d.ts.map +1 -1
- package/dist/conversation-context.js +12 -9
- package/dist/conversation-context.js.map +1 -1
- package/dist/default-outbound-route.d.ts +1 -0
- package/dist/default-outbound-route.d.ts.map +1 -1
- package/dist/default-outbound-route.js +1 -1
- package/dist/default-outbound-route.js.map +1 -1
- package/dist/delivery-queue.d.ts +1 -1
- package/dist/delivery-send.d.ts.map +1 -1
- package/dist/delivery-send.js +3 -2
- package/dist/delivery-send.js.map +1 -1
- package/dist/dynamic-schedule-execution.d.ts +4 -0
- package/dist/dynamic-schedule-execution.d.ts.map +1 -0
- package/dist/dynamic-schedule-execution.js +136 -0
- package/dist/dynamic-schedule-execution.js.map +1 -0
- package/dist/dynamic-schedule-runtime.d.ts +11 -20
- package/dist/dynamic-schedule-runtime.d.ts.map +1 -1
- package/dist/dynamic-schedule-runtime.js +27 -39
- package/dist/dynamic-schedule-runtime.js.map +1 -1
- package/dist/evolution-tracker.d.ts +52 -0
- package/dist/evolution-tracker.d.ts.map +1 -0
- package/dist/evolution-tracker.js +179 -0
- package/dist/evolution-tracker.js.map +1 -0
- package/dist/harness-capabilities.d.ts +7 -0
- package/dist/harness-capabilities.d.ts.map +1 -0
- package/dist/harness-capabilities.js +56 -0
- package/dist/harness-capabilities.js.map +1 -0
- package/dist/harness-continuation-persistence.d.ts +6 -0
- package/dist/harness-continuation-persistence.d.ts.map +1 -0
- package/dist/harness-continuation-persistence.js +11 -0
- package/dist/harness-continuation-persistence.js.map +1 -0
- package/dist/harness-execution-context.d.ts +10 -0
- package/dist/harness-execution-context.d.ts.map +1 -0
- package/dist/harness-execution-context.js +193 -0
- package/dist/harness-execution-context.js.map +1 -0
- package/dist/harness-loop-types.d.ts +67 -0
- package/dist/harness-loop-types.d.ts.map +1 -0
- package/dist/harness-loop-types.js +2 -0
- package/dist/harness-loop-types.js.map +1 -0
- package/dist/harness-loop.d.ts +13 -94
- package/dist/harness-loop.d.ts.map +1 -1
- package/dist/harness-loop.js +19 -551
- package/dist/harness-loop.js.map +1 -1
- package/dist/harness-tool-execution.d.ts +30 -0
- package/dist/harness-tool-execution.d.ts.map +1 -0
- package/dist/harness-tool-execution.js +397 -0
- package/dist/harness-tool-execution.js.map +1 -0
- package/dist/harness-transcript-resume.d.ts +18 -0
- package/dist/harness-transcript-resume.d.ts.map +1 -0
- package/dist/harness-transcript-resume.js +102 -0
- package/dist/harness-transcript-resume.js.map +1 -0
- package/dist/harness-turn-execution.d.ts +11 -0
- package/dist/harness-turn-execution.d.ts.map +1 -0
- package/dist/harness-turn-execution.js +157 -0
- package/dist/harness-turn-execution.js.map +1 -0
- package/dist/index.d.ts +10 -499
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2139
- package/dist/index.js.map +1 -1
- package/dist/local-sandbox.d.ts +2 -1
- package/dist/local-sandbox.d.ts.map +1 -1
- package/dist/mcp-client.d.ts +11 -1
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +39 -7
- package/dist/mcp-client.js.map +1 -1
- package/dist/media-processor.d.ts +3 -1
- package/dist/media-processor.d.ts.map +1 -1
- package/dist/media-processor.js +15 -1
- package/dist/media-processor.js.map +1 -1
- package/dist/memory-storage.d.ts +51 -0
- package/dist/memory-storage.d.ts.map +1 -0
- package/dist/memory-storage.js +324 -0
- package/dist/memory-storage.js.map +1 -0
- package/dist/model-credential-stores.d.ts.map +1 -1
- package/dist/model-credential-stores.js +6 -12
- package/dist/model-credential-stores.js.map +1 -1
- package/dist/model-provider-environment.d.ts +4 -0
- package/dist/model-provider-environment.d.ts.map +1 -0
- package/dist/model-provider-environment.js +36 -0
- package/dist/model-provider-environment.js.map +1 -0
- package/dist/plugin-embeddings.d.ts +4 -0
- package/dist/plugin-embeddings.d.ts.map +1 -0
- package/dist/plugin-embeddings.js +75 -0
- package/dist/plugin-embeddings.js.map +1 -0
- package/dist/public-api.d.ts +8 -5
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +6 -4
- package/dist/public-api.js.map +1 -1
- package/dist/relay-mcp-client.js +1 -1
- package/dist/relay-mcp-client.js.map +1 -1
- package/dist/replay-resume-authorization.d.ts +8 -0
- package/dist/replay-resume-authorization.d.ts.map +1 -0
- package/dist/replay-resume-authorization.js +181 -0
- package/dist/replay-resume-authorization.js.map +1 -0
- package/dist/replay-resume-connection.d.ts +6 -0
- package/dist/replay-resume-connection.d.ts.map +1 -0
- package/dist/replay-resume-connection.js +75 -0
- package/dist/replay-resume-connection.js.map +1 -0
- package/dist/replay-resume-controls.d.ts +6 -0
- package/dist/replay-resume-controls.d.ts.map +1 -0
- package/dist/replay-resume-controls.js +157 -0
- package/dist/replay-resume-controls.js.map +1 -0
- package/dist/replay-resume-harness.d.ts +14 -0
- package/dist/replay-resume-harness.d.ts.map +1 -0
- package/dist/replay-resume-harness.js +158 -0
- package/dist/replay-resume-harness.js.map +1 -0
- package/dist/replay-resume-recovery.d.ts +10 -0
- package/dist/replay-resume-recovery.d.ts.map +1 -0
- package/dist/replay-resume-recovery.js +62 -0
- package/dist/replay-resume-recovery.js.map +1 -0
- package/dist/replay-resume-shared.d.ts +16 -0
- package/dist/replay-resume-shared.d.ts.map +1 -0
- package/dist/replay-resume-shared.js +55 -0
- package/dist/replay-resume-shared.js.map +1 -0
- package/dist/replay-resume-types.d.ts +85 -0
- package/dist/replay-resume-types.d.ts.map +1 -0
- package/dist/replay-resume-types.js +2 -0
- package/dist/replay-resume-types.js.map +1 -0
- package/dist/replay-resume.d.ts +7 -119
- package/dist/replay-resume.d.ts.map +1 -1
- package/dist/replay-resume.js +5 -715
- package/dist/replay-resume.js.map +1 -1
- package/dist/resource-projection-util.d.ts +1 -2
- package/dist/resource-projection-util.d.ts.map +1 -1
- package/dist/resource-projection-util.js +2 -11
- package/dist/resource-projection-util.js.map +1 -1
- package/dist/resource-projection.d.ts.map +1 -1
- package/dist/resource-projection.js +67 -22
- package/dist/resource-projection.js.map +1 -1
- package/dist/run-execution-host.d.ts +98 -0
- package/dist/run-execution-host.d.ts.map +1 -0
- package/dist/run-execution-host.js +2 -0
- package/dist/run-execution-host.js.map +1 -0
- package/dist/run-execution.d.ts +6 -0
- package/dist/run-execution.d.ts.map +1 -0
- package/dist/run-execution.js +313 -0
- package/dist/run-execution.js.map +1 -0
- package/dist/run-initialization.d.ts +19 -0
- package/dist/run-initialization.d.ts.map +1 -0
- package/dist/run-initialization.js +171 -0
- package/dist/run-initialization.js.map +1 -0
- package/dist/run-recovery.d.ts +1 -1
- package/dist/run-recovery.js.map +1 -1
- package/dist/runtime-connection-definitions.d.ts +35 -0
- package/dist/runtime-connection-definitions.d.ts.map +1 -0
- package/dist/runtime-connection-definitions.js +97 -0
- package/dist/runtime-connection-definitions.js.map +1 -0
- package/dist/runtime-engine-background.d.ts +64 -0
- package/dist/runtime-engine-background.d.ts.map +1 -0
- package/dist/runtime-engine-background.js +136 -0
- package/dist/runtime-engine-background.js.map +1 -0
- package/dist/runtime-engine-base.d.ts +60 -0
- package/dist/runtime-engine-base.d.ts.map +1 -0
- package/dist/runtime-engine-base.js +192 -0
- package/dist/runtime-engine-base.js.map +1 -0
- package/dist/runtime-engine-capabilities.d.ts +81 -0
- package/dist/runtime-engine-capabilities.d.ts.map +1 -0
- package/dist/runtime-engine-capabilities.js +198 -0
- package/dist/runtime-engine-capabilities.js.map +1 -0
- package/dist/runtime-engine-config.d.ts +77 -0
- package/dist/runtime-engine-config.d.ts.map +1 -0
- package/dist/runtime-engine-config.js +187 -0
- package/dist/runtime-engine-config.js.map +1 -0
- package/dist/runtime-engine-foundation.d.ts +11 -0
- package/dist/runtime-engine-foundation.d.ts.map +1 -0
- package/dist/runtime-engine-foundation.js +121 -0
- package/dist/runtime-engine-foundation.js.map +1 -0
- package/dist/runtime-engine-hooks.d.ts +33 -0
- package/dist/runtime-engine-hooks.d.ts.map +1 -0
- package/dist/runtime-engine-hooks.js +149 -0
- package/dist/runtime-engine-hooks.js.map +1 -0
- package/dist/runtime-engine-integrations.d.ts +16 -0
- package/dist/runtime-engine-integrations.d.ts.map +1 -0
- package/dist/runtime-engine-integrations.js +177 -0
- package/dist/runtime-engine-integrations.js.map +1 -0
- package/dist/runtime-engine-operations.d.ts +87 -0
- package/dist/runtime-engine-operations.d.ts.map +1 -0
- package/dist/runtime-engine-operations.js +204 -0
- package/dist/runtime-engine-operations.js.map +1 -0
- package/dist/runtime-engine-resources.d.ts +18 -0
- package/dist/runtime-engine-resources.d.ts.map +1 -0
- package/dist/runtime-engine-resources.js +49 -0
- package/dist/runtime-engine-resources.js.map +1 -0
- package/dist/runtime-engine-run.d.ts +70 -0
- package/dist/runtime-engine-run.d.ts.map +1 -0
- package/dist/runtime-engine-run.js +202 -0
- package/dist/runtime-engine-run.js.map +1 -0
- package/dist/runtime-engine-scheduling.d.ts +22 -0
- package/dist/runtime-engine-scheduling.d.ts.map +1 -0
- package/dist/runtime-engine-scheduling.js +45 -0
- package/dist/runtime-engine-scheduling.js.map +1 -0
- package/dist/runtime-engine-tools.d.ts +8 -0
- package/dist/runtime-engine-tools.d.ts.map +1 -0
- package/dist/runtime-engine-tools.js +80 -0
- package/dist/runtime-engine-tools.js.map +1 -0
- package/dist/runtime-evolution.d.ts +17 -0
- package/dist/runtime-evolution.d.ts.map +1 -0
- package/dist/runtime-evolution.js +51 -0
- package/dist/runtime-evolution.js.map +1 -0
- package/dist/runtime-learning.d.ts +4 -6
- package/dist/runtime-learning.d.ts.map +1 -1
- package/dist/runtime-learning.js +109 -99
- package/dist/runtime-learning.js.map +1 -1
- package/dist/runtime-types.d.ts +21 -7
- package/dist/runtime-types.d.ts.map +1 -1
- package/dist/runtime-util.d.ts +4 -3
- package/dist/runtime-util.d.ts.map +1 -1
- package/dist/runtime-util.js +0 -7
- package/dist/runtime-util.js.map +1 -1
- package/dist/sandbox-fs.d.ts +2 -7
- package/dist/sandbox-fs.d.ts.map +1 -1
- package/dist/sandbox-fs.js +6 -37
- package/dist/sandbox-fs.js.map +1 -1
- package/dist/sandbox-handle.d.ts +1 -3
- package/dist/sandbox-handle.d.ts.map +1 -1
- package/dist/sandbox-handle.js +2 -5
- package/dist/sandbox-handle.js.map +1 -1
- package/dist/sandbox-state-sync.d.ts +2 -0
- package/dist/sandbox-state-sync.d.ts.map +1 -1
- package/dist/sandbox-state-sync.js +26 -2
- package/dist/sandbox-state-sync.js.map +1 -1
- package/dist/sandbox-tool-bridge.js +2 -3
- package/dist/sandbox-tool-bridge.js.map +1 -1
- package/dist/schedule-execution.d.ts +4 -4
- package/dist/schedule-execution.d.ts.map +1 -1
- package/dist/schedule-execution.js +45 -440
- package/dist/schedule-execution.js.map +1 -1
- package/dist/schedule-trigger-context.d.ts +18 -0
- package/dist/schedule-trigger-context.d.ts.map +1 -0
- package/dist/schedule-trigger-context.js +276 -0
- package/dist/schedule-trigger-context.js.map +1 -0
- package/dist/scheduler.d.ts +1 -14
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +1 -37
- package/dist/scheduler.js.map +1 -1
- package/dist/security.d.ts +0 -4
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +0 -22
- package/dist/security.js.map +1 -1
- package/dist/self-improvement.d.ts +5 -21
- package/dist/self-improvement.d.ts.map +1 -1
- package/dist/self-improvement.js +10 -40
- package/dist/self-improvement.js.map +1 -1
- package/dist/source-loader.d.ts +0 -3
- package/dist/source-loader.d.ts.map +1 -1
- package/dist/source-loader.js +1 -10
- package/dist/source-loader.js.map +1 -1
- package/dist/state/conversation-state.d.ts +117 -0
- package/dist/state/conversation-state.d.ts.map +1 -0
- package/dist/state/conversation-state.js +2 -0
- package/dist/state/conversation-state.js.map +1 -0
- package/dist/state/run-state.d.ts +129 -0
- package/dist/state/run-state.d.ts.map +1 -0
- package/dist/state/run-state.js +3 -0
- package/dist/state/run-state.js.map +1 -0
- package/dist/state/sandbox-memory-state.d.ts +159 -0
- package/dist/state/sandbox-memory-state.d.ts.map +1 -0
- package/dist/state/sandbox-memory-state.js +2 -0
- package/dist/state/sandbox-memory-state.js.map +1 -0
- package/dist/state/store-contracts.d.ts +329 -0
- package/dist/state/store-contracts.d.ts.map +1 -0
- package/dist/state/store-contracts.js +26 -0
- package/dist/state/store-contracts.js.map +1 -0
- package/dist/state/usage-state.d.ts +111 -0
- package/dist/state/usage-state.d.ts.map +1 -0
- package/dist/state/usage-state.js +2 -0
- package/dist/state/usage-state.js.map +1 -0
- package/dist/state/workspace-state.d.ts +126 -0
- package/dist/state/workspace-state.d.ts.map +1 -0
- package/dist/state/workspace-state.js +16 -0
- package/dist/state/workspace-state.js.map +1 -0
- package/dist/state-stores.d.ts +3 -15
- package/dist/state-stores.d.ts.map +1 -1
- package/dist/state-stores.js +36 -82
- package/dist/state-stores.js.map +1 -1
- package/dist/state.d.ts +7 -1075
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +7 -88
- package/dist/state.js.map +1 -1
- package/dist/storage.d.ts +4 -64
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +5 -408
- package/dist/storage.js.map +1 -1
- package/dist/subagent-execution.d.ts +1 -2
- package/dist/subagent-execution.d.ts.map +1 -1
- package/dist/subagent-execution.js +2 -26
- package/dist/subagent-execution.js.map +1 -1
- package/dist/subagent-handoff.d.ts +13 -0
- package/dist/subagent-handoff.d.ts.map +1 -1
- package/dist/subagent-handoff.js +74 -9
- package/dist/subagent-handoff.js.map +1 -1
- package/dist/tool-apis.d.ts +2 -2
- package/dist/tool-apis.d.ts.map +1 -1
- package/dist/tool-apis.js +26 -14
- package/dist/tool-apis.js.map +1 -1
- package/dist/tool-execution-host.d.ts +121 -0
- package/dist/tool-execution-host.d.ts.map +1 -0
- package/dist/tool-execution-host.js +2 -0
- package/dist/tool-execution-host.js.map +1 -0
- package/dist/tool-execution.d.ts +5 -141
- package/dist/tool-execution.d.ts.map +1 -1
- package/dist/tool-execution.js +6 -395
- package/dist/tool-execution.js.map +1 -1
- package/dist/usage-reconciliation-support.d.ts +20 -0
- package/dist/usage-reconciliation-support.d.ts.map +1 -0
- package/dist/usage-reconciliation-support.js +95 -0
- package/dist/usage-reconciliation-support.js.map +1 -0
- package/dist/usage-reconciliation.d.ts +14 -35
- package/dist/usage-reconciliation.d.ts.map +1 -1
- package/dist/usage-reconciliation.js +17 -394
- package/dist/usage-reconciliation.js.map +1 -1
- package/dist/workspace-paths.d.ts +3 -0
- package/dist/workspace-paths.d.ts.map +1 -0
- package/dist/workspace-paths.js +13 -0
- package/dist/workspace-paths.js.map +1 -0
- package/dist/workspace-service.d.ts +0 -1
- package/dist/workspace-service.d.ts.map +1 -1
- package/dist/workspace-service.js +1 -4
- package/dist/workspace-service.js.map +1 -1
- package/package.json +3 -3
- package/dist/run-timeline.d.ts +0 -11
- package/dist/run-timeline.d.ts.map +0 -1
- package/dist/run-timeline.js +0 -2
- package/dist/run-timeline.js.map +0 -1
- package/dist/trusted-attachments.d.ts +0 -20
- package/dist/trusted-attachments.d.ts.map +0 -1
- package/dist/trusted-attachments.js +0 -276
- package/dist/trusted-attachments.js.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ConnectionAuthorizationFailedError } from "@assemblyline-agents/core";
|
|
2
|
+
import { OAUTH_STANDARD_TOKEN_FIELDS } from "./connection-auth-util.js";
|
|
3
|
+
import { readResponseBody } from "./connection-clients.js";
|
|
4
|
+
import { isRecord, stringValue } from "./connection-util.js";
|
|
5
|
+
export async function requestOAuthToken(fetchImpl, oauth, fields) {
|
|
6
|
+
const body = new URLSearchParams();
|
|
7
|
+
const headers = {
|
|
8
|
+
accept: "application/json",
|
|
9
|
+
"content-type": "application/x-www-form-urlencoded"
|
|
10
|
+
};
|
|
11
|
+
if (oauth.tokenEndpointAuthMethod === "client_secret_basic") {
|
|
12
|
+
if (!oauth.clientSecret) {
|
|
13
|
+
throw new ConnectionAuthorizationFailedError("oauth", { reason: "missing_client_secret" });
|
|
14
|
+
}
|
|
15
|
+
headers.authorization = `Basic ${Buffer.from(`${oauth.clientId}:${oauth.clientSecret}`).toString("base64")}`;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
body.set("client_id", oauth.clientId);
|
|
19
|
+
if (oauth.clientSecret)
|
|
20
|
+
body.set("client_secret", oauth.clientSecret);
|
|
21
|
+
}
|
|
22
|
+
for (const [key, value] of Object.entries(oauth.tokenParams ?? {}))
|
|
23
|
+
body.set(key, value);
|
|
24
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
25
|
+
if (value !== undefined)
|
|
26
|
+
body.set(key, value);
|
|
27
|
+
}
|
|
28
|
+
const response = await fetchImpl(oauth.tokenUrl, { method: "POST", headers, body });
|
|
29
|
+
const payload = await readResponseBody(response);
|
|
30
|
+
if (!response.ok || !isRecord(payload)) {
|
|
31
|
+
throw new ConnectionAuthorizationFailedError("oauth", {
|
|
32
|
+
reason: "token_exchange_failed",
|
|
33
|
+
message: `OAuth token exchange failed with HTTP ${response.status}.`
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const accessToken = stringValue(payload.access_token);
|
|
37
|
+
if (!accessToken) {
|
|
38
|
+
throw new ConnectionAuthorizationFailedError("oauth", { reason: "missing_access_token" });
|
|
39
|
+
}
|
|
40
|
+
const token = { token: accessToken };
|
|
41
|
+
const refreshToken = stringValue(payload.refresh_token);
|
|
42
|
+
const tokenType = oauth.tokenType?.trim() || stringValue(payload.token_type);
|
|
43
|
+
const scope = stringValue(payload.scope);
|
|
44
|
+
const expiresIn = typeof payload.expires_in === "number" ? payload.expires_in : Number(payload.expires_in);
|
|
45
|
+
if (refreshToken)
|
|
46
|
+
token.refreshToken = refreshToken;
|
|
47
|
+
if (tokenType)
|
|
48
|
+
token.tokenType = tokenType;
|
|
49
|
+
if (scope)
|
|
50
|
+
token.scopes = scope.split(/\s+/u).filter(Boolean);
|
|
51
|
+
if (Number.isFinite(expiresIn) && expiresIn > 0)
|
|
52
|
+
token.expiresAt = Date.now() + expiresIn * 1000;
|
|
53
|
+
const credential = {};
|
|
54
|
+
for (const [key, value] of Object.entries(payload)) {
|
|
55
|
+
if (OAUTH_STANDARD_TOKEN_FIELDS.has(key))
|
|
56
|
+
continue;
|
|
57
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean")
|
|
58
|
+
credential[key] = value;
|
|
59
|
+
}
|
|
60
|
+
if (Object.keys(credential).length > 0)
|
|
61
|
+
token.credential = credential;
|
|
62
|
+
return token;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=connection-oauth-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-oauth-client.js","sourceRoot":"","sources":["../src/connection-oauth-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAInC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAuB,EACvB,KAAmC,EACnC,MAA0C;IAE1C,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,kBAAkB;QAC1B,cAAc,EAAE,mCAAmC;KACpD,CAAC;IACF,IAAI,KAAK,CAAC,uBAAuB,KAAK,qBAAqB,EAAE,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,IAAI,kCAAkC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,CAAC,aAAa,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/G,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,YAAY;YAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,kCAAkC,CAAC,OAAO,EAAE;YACpD,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE,yCAAyC,QAAQ,CAAC,MAAM,GAAG;SACrE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,kCAAkC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,KAAK,GAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3G,IAAI,YAAY;QAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IACpD,IAAI,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3C,IAAI,KAAK;QAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IACjG,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { AgentAudience, AgentManifest, CompiledConnection, ConnectionEventsDefinition, ConnectionCredentialAccessor, ConnectionPrincipal, ConnectionResolverContext, JsonObject, SandboxCliInvocation, SandboxCommandResult, TokenResult } from "@assemblyline-agents/core";
|
|
2
|
+
import type { ConnectionAuthorizationSessionStore, ConnectionGrantStore } from "./connection-stores.js";
|
|
3
|
+
import type { CredentialBroker } from "./credential-broker.js";
|
|
4
|
+
import type { BlobAdapter } from "./runtime-types.js";
|
|
5
|
+
export interface RuntimeConnectionOptions {
|
|
6
|
+
connections: CompiledConnection[];
|
|
7
|
+
loadDefinition(connection: CompiledConnection): Promise<unknown>;
|
|
8
|
+
config?: Record<string, string | undefined>;
|
|
9
|
+
credentialBroker?: CredentialBroker;
|
|
10
|
+
fetch: typeof fetch;
|
|
11
|
+
session: ConnectionResolverContext["session"];
|
|
12
|
+
audience?: AgentAudience;
|
|
13
|
+
agentId?: string;
|
|
14
|
+
runId?: string;
|
|
15
|
+
blob?: BlobAdapter;
|
|
16
|
+
grantStore?: ConnectionGrantStore;
|
|
17
|
+
authorizationSessionStore?: ConnectionAuthorizationSessionStore;
|
|
18
|
+
callbackBaseUrl?: string;
|
|
19
|
+
platform?: string;
|
|
20
|
+
executeSandboxCli?: (invocation: SandboxCliInvocation & {
|
|
21
|
+
command: string;
|
|
22
|
+
}, execution?: ConnectionExecutionContext) => Promise<SandboxCommandResult>;
|
|
23
|
+
pluginRuntime?: Record<string, {
|
|
24
|
+
root: string;
|
|
25
|
+
data: string;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
export interface ConnectionExecutionContext {
|
|
29
|
+
runId?: string;
|
|
30
|
+
toolCallId?: string;
|
|
31
|
+
toolName?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ConnectionEventBindingContext {
|
|
34
|
+
compiled: CompiledConnection;
|
|
35
|
+
events: ConnectionEventsDefinition;
|
|
36
|
+
principal: ConnectionPrincipal;
|
|
37
|
+
principalKey: string;
|
|
38
|
+
config: Readonly<Record<string, string | undefined>>;
|
|
39
|
+
credentials: ConnectionCredentialAccessor;
|
|
40
|
+
getToken(): Promise<TokenResult>;
|
|
41
|
+
}
|
|
42
|
+
export declare class ConnectionConfigurationError extends Error {
|
|
43
|
+
constructor(message: string);
|
|
44
|
+
}
|
|
45
|
+
export declare function isConnectionConfigurationError(error: unknown): error is ConnectionConfigurationError;
|
|
46
|
+
export interface MaterializedConnectionCredential {
|
|
47
|
+
connection: string;
|
|
48
|
+
files: Array<{
|
|
49
|
+
path: string;
|
|
50
|
+
content: string;
|
|
51
|
+
mode: number;
|
|
52
|
+
}>;
|
|
53
|
+
commands?: string[];
|
|
54
|
+
audit?: JsonObject;
|
|
55
|
+
}
|
|
56
|
+
export interface ConnectionCredentialMaterialization {
|
|
57
|
+
materialized: MaterializedConnectionCredential[];
|
|
58
|
+
pending: Array<{
|
|
59
|
+
connection: string;
|
|
60
|
+
reason: string;
|
|
61
|
+
authorizeUrl?: string;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
64
|
+
export interface CredentialMaterializationRun {
|
|
65
|
+
id: string;
|
|
66
|
+
input: JsonObject;
|
|
67
|
+
}
|
|
68
|
+
export interface ConnectionPairingStatus {
|
|
69
|
+
pairable: string[];
|
|
70
|
+
unavailable: Array<{
|
|
71
|
+
connection: string;
|
|
72
|
+
reason: string;
|
|
73
|
+
}>;
|
|
74
|
+
}
|
|
75
|
+
/** Resolve immutable plugin code and update-stable writable data roots for one runtime. */
|
|
76
|
+
export declare function pluginRuntimeForManifest(manifest: AgentManifest, env: Record<string, string | undefined>): NonNullable<RuntimeConnectionOptions["pluginRuntime"]>;
|
|
77
|
+
export declare const CONNECTION_PAIR_TOOL_NAME = "pair";
|
|
78
|
+
//# sourceMappingURL=connection-runtime-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-runtime-types.d.ts","sourceRoot":"","sources":["../src/connection-runtime-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { dirname, join, resolve } from "node:path";
|
|
2
|
+
export class ConnectionConfigurationError extends Error {
|
|
3
|
+
constructor(message) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = "ConnectionConfigurationError";
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export function isConnectionConfigurationError(error) {
|
|
9
|
+
return error instanceof ConnectionConfigurationError;
|
|
10
|
+
}
|
|
11
|
+
/** Resolve immutable plugin code and update-stable writable data roots for one runtime. */
|
|
12
|
+
export function pluginRuntimeForManifest(manifest, env) {
|
|
13
|
+
const pluginConnections = manifest.connections.filter((connection) => connection.plugin);
|
|
14
|
+
if (pluginConnections.length === 0)
|
|
15
|
+
return {};
|
|
16
|
+
const dataRoot = resolve(env.ASSEMBLY_LINE_PLUGIN_DATA_ROOT
|
|
17
|
+
?? join(dirname(manifest.root), ".assembly-line", "plugin-data"));
|
|
18
|
+
return Object.fromEntries(pluginConnections.map((connection) => {
|
|
19
|
+
const pluginName = connection.plugin?.name;
|
|
20
|
+
const pluginRoot = connection.plugin?.root ?? `plugins/${pluginName}`;
|
|
21
|
+
const dataKey = connection.surface && connection.surface !== "root"
|
|
22
|
+
? `${connection.surface}/${pluginName}`
|
|
23
|
+
: pluginName;
|
|
24
|
+
return [connection.name, {
|
|
25
|
+
root: resolve(manifest.root, pluginRoot),
|
|
26
|
+
data: resolve(dataRoot, dataKey)
|
|
27
|
+
}];
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
export const CONNECTION_PAIR_TOOL_NAME = "pair";
|
|
31
|
+
//# sourceMappingURL=connection-runtime-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-runtime-types.js","sourceRoot":"","sources":["../src/connection-runtime-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DnD,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,OAAO,KAAK,YAAY,4BAA4B,CAAC;AACvD,CAAC;AAwBD,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB,CACtC,QAAuB,EACvB,GAAuC;IAEvC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,CAAC,8BAA8B;WAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,aAAa,CAAC,CACnE,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC7D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,IAAc,CAAC;QACrD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,UAAU,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM;YACjE,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,EAAE;YACvC,CAAC,CAAC,UAAU,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;gBACvB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBACxC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;aACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC"}
|
package/dist/connections.d.ts
CHANGED
|
@@ -1,136 +1,33 @@
|
|
|
1
|
-
import type { CompiledConnection,
|
|
1
|
+
import type { CompiledConnection, JsonObject, SandboxCliInvocation, SandboxCommandResult } from "@assemblyline-agents/core";
|
|
2
2
|
import { type ConnectionClient, type LiveConnectionDefinition } from "./connection-clients.js";
|
|
3
|
-
import { type
|
|
4
|
-
import {
|
|
5
|
-
import type { BlobAdapter } from "./runtime-types.js";
|
|
3
|
+
import { type ConnectionCredentialMaterialization, type ConnectionEventBindingContext, type ConnectionExecutionContext, type ConnectionPairingStatus, type CredentialMaterializationRun, type RuntimeConnectionOptions } from "./connection-runtime-types.js";
|
|
4
|
+
import type { ConnectionAuthorizationSessionRecord, ConnectionSearchInput, ConnectionSearchResultItem, ConnectionToolMetadata } from "./connection-stores.js";
|
|
6
5
|
export * from "./connection-auth-util.js";
|
|
7
6
|
export * from "./connection-clients.js";
|
|
7
|
+
export * from "./connection-credential-materialization.js";
|
|
8
|
+
export * from "./connection-runtime-types.js";
|
|
8
9
|
export * from "./connection-stores.js";
|
|
9
10
|
export * from "./connection-util.js";
|
|
10
11
|
export * from "./computer-relay-protocol.js";
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
config?: Record<string, string | undefined>;
|
|
15
|
-
credentialBroker?: CredentialBroker;
|
|
16
|
-
fetch: typeof fetch;
|
|
17
|
-
session: ConnectionResolverContext["session"];
|
|
18
|
-
/** Run trust boundary used to filter connections and write-capable tools. */
|
|
19
|
-
audience?: AgentAudience;
|
|
20
|
-
/** Stable configured agent id used in host-side credential authorization and audits. */
|
|
21
|
-
agentId?: string;
|
|
22
|
-
/** Owning run for discovery-time credential uses before a tool call begins. */
|
|
23
|
-
runId?: string;
|
|
24
|
-
blob?: BlobAdapter;
|
|
25
|
-
grantStore?: ConnectionGrantStore;
|
|
26
|
-
authorizationSessionStore?: ConnectionAuthorizationSessionStore;
|
|
27
|
-
callbackBaseUrl?: string;
|
|
28
|
-
/** Runtime host platform override for tests. Defaults to process.platform. */
|
|
29
|
-
platform?: string;
|
|
30
|
-
executeSandboxCli?: (invocation: SandboxCliInvocation & {
|
|
31
|
-
command: string;
|
|
32
|
-
}, execution?: ConnectionExecutionContext) => Promise<SandboxCommandResult>;
|
|
33
|
-
}
|
|
34
|
-
export interface ConnectionExecutionContext {
|
|
35
|
-
runId?: string;
|
|
36
|
-
toolCallId?: string;
|
|
37
|
-
toolName?: string;
|
|
38
|
-
}
|
|
39
|
-
export interface ConnectionEventBindingContext {
|
|
40
|
-
compiled: CompiledConnection;
|
|
41
|
-
events: ConnectionEventsDefinition;
|
|
42
|
-
principal: ConnectionPrincipal;
|
|
43
|
-
principalKey: string;
|
|
44
|
-
config: Readonly<Record<string, string | undefined>>;
|
|
45
|
-
credentials: import("@assemblyline-agents/core").ConnectionCredentialAccessor;
|
|
46
|
-
getToken(): Promise<TokenResult>;
|
|
47
|
-
}
|
|
48
|
-
export declare class ConnectionConfigurationError extends Error {
|
|
49
|
-
constructor(message: string);
|
|
50
|
-
}
|
|
51
|
-
export declare function isConnectionConfigurationError(error: unknown): error is ConnectionConfigurationError;
|
|
52
|
-
export interface MaterializedConnectionCredential {
|
|
53
|
-
connection: string;
|
|
54
|
-
files: Array<{
|
|
55
|
-
path: string;
|
|
56
|
-
content: string;
|
|
57
|
-
mode: number;
|
|
58
|
-
}>;
|
|
59
|
-
commands?: string[];
|
|
60
|
-
audit?: JsonObject;
|
|
61
|
-
}
|
|
62
|
-
export interface ConnectionCredentialMaterialization {
|
|
63
|
-
materialized: MaterializedConnectionCredential[];
|
|
64
|
-
pending: Array<{
|
|
65
|
-
connection: string;
|
|
66
|
-
reason: string;
|
|
67
|
-
authorizeUrl?: string;
|
|
68
|
-
}>;
|
|
69
|
-
}
|
|
70
|
-
export interface CredentialMaterializationRun {
|
|
71
|
-
id: string;
|
|
72
|
-
input: JsonObject;
|
|
73
|
-
}
|
|
74
|
-
export declare function connectionAuthorizationPrompt(store: ConnectionAuthorizationSessionStore, authorizationSessionId: string | undefined, baseResponse: string): Promise<string>;
|
|
75
|
-
/**
|
|
76
|
-
* Project declared connection credentials into a freshly acquired sandbox.
|
|
77
|
-
* Tokens resolve host-side (cached grant or refresh exchange — the grant
|
|
78
|
-
* store is updated before anything reaches the sandbox), so recycling the
|
|
79
|
-
* sandbox never loses a durable credential and never holds one. Subagent
|
|
80
|
-
* sandboxes are excluded: they receive only their engine harness credential,
|
|
81
|
-
* never the parent's connections. The emitted event carries paths only —
|
|
82
|
-
* credential contents never reach the event log.
|
|
83
|
-
*/
|
|
84
|
-
export declare function materializeConnectionCredentialsIntoSandbox(run: {
|
|
85
|
-
id: string;
|
|
86
|
-
input: Record<string, unknown>;
|
|
87
|
-
}, registry: RuntimeConnectionRegistry, sandbox: {
|
|
88
|
-
root: string;
|
|
89
|
-
writeFile(path: string, contents: string): unknown;
|
|
90
|
-
shell(command: string): unknown;
|
|
91
|
-
}, appendEvent: (eventType: string, payload: JsonObject) => Promise<unknown>): Promise<void>;
|
|
92
|
-
export declare const CONNECTION_PAIR_TOOL_NAME = "pair";
|
|
93
|
-
export interface ConnectionPairingStatus {
|
|
94
|
-
/** Live connections whose definitions resolved and declare a pairing redeemer. */
|
|
95
|
-
pairable: string[];
|
|
96
|
-
/** Live connections whose definitions failed to resolve, with the real cause. */
|
|
97
|
-
unavailable: Array<{
|
|
98
|
-
connection: string;
|
|
99
|
-
reason: string;
|
|
100
|
-
}>;
|
|
101
|
-
}
|
|
12
|
+
export * from "./credential-broker.js";
|
|
13
|
+
export * from "./credential-transfer-client.js";
|
|
14
|
+
/** Registry for discovery, execution, credential materialization, and authorization. */
|
|
102
15
|
export declare class RuntimeConnectionRegistry {
|
|
103
16
|
private readonly options;
|
|
104
|
-
private resolved;
|
|
105
|
-
private clients;
|
|
106
|
-
private
|
|
107
|
-
private readonly executionContext;
|
|
108
|
-
private readonly authorizationIntent;
|
|
109
|
-
private readonly pendingAuthorizationCreations;
|
|
110
|
-
private readonly grantStore;
|
|
111
|
-
private readonly authorizationSessionStore;
|
|
112
|
-
private readonly credentialBroker;
|
|
17
|
+
private readonly resolved;
|
|
18
|
+
private readonly clients;
|
|
19
|
+
private readonly authorization;
|
|
113
20
|
constructor(options: RuntimeConnectionOptions);
|
|
21
|
+
pluginRuntimePaths(connectionName: string): {
|
|
22
|
+
root: string;
|
|
23
|
+
data: string;
|
|
24
|
+
} | undefined;
|
|
114
25
|
hasLiveConnections(): boolean;
|
|
115
26
|
liveConnectionNames(): string[];
|
|
116
|
-
/** Resolve the host-only event adapter without exposing it as a model tool. */
|
|
117
27
|
eventBindingContext(connectionName: string): Promise<ConnectionEventBindingContext>;
|
|
118
28
|
search(input: ConnectionSearchInput, execution?: ConnectionExecutionContext): Promise<ConnectionSearchResultItem[]>;
|
|
119
|
-
private searchWithContext;
|
|
120
29
|
private supportsPairing;
|
|
121
|
-
/**
|
|
122
|
-
* Report which live connections can redeem a pairing code right now, and
|
|
123
|
-
* which cannot because their definition failed to resolve (missing package,
|
|
124
|
-
* unset env, platform mismatch). Backs the core `pair` tool: a connection
|
|
125
|
-
* that cannot even load must still be *diagnosable* from the model — the
|
|
126
|
-
* resolve failure is the answer the user needs, not a hidden tool.
|
|
127
|
-
*/
|
|
128
30
|
pairingStatus(): Promise<ConnectionPairingStatus>;
|
|
129
|
-
/**
|
|
130
|
-
* Redeem a user-provided one-time pairing code host-side and persist the
|
|
131
|
-
* resulting credentials in the grant store. The durable credential never
|
|
132
|
-
* enters a sandbox; the model only relays the single-use code.
|
|
133
|
-
*/
|
|
134
31
|
redeemPairingCode(connectionName: string, code: string): Promise<{
|
|
135
32
|
connected: true;
|
|
136
33
|
connection: string;
|
|
@@ -140,6 +37,9 @@ export declare class RuntimeConnectionRegistry {
|
|
|
140
37
|
executeQualifiedTool(qualifiedName: string, input: unknown, execution?: ConnectionExecutionContext): Promise<unknown>;
|
|
141
38
|
getConnectionApproval(connectionName: string, toolName: string): Promise<LiveConnectionDefinition["approval"] | undefined>;
|
|
142
39
|
getClient(connectionName: string): ConnectionClient;
|
|
40
|
+
executeSandboxCli(invocation: SandboxCliInvocation & {
|
|
41
|
+
command: string;
|
|
42
|
+
}): Promise<SandboxCommandResult>;
|
|
143
43
|
transferCredential(input: {
|
|
144
44
|
sourceConnection: string;
|
|
145
45
|
sinkConnection: string;
|
|
@@ -149,21 +49,7 @@ export declare class RuntimeConnectionRegistry {
|
|
|
149
49
|
}): Promise<{
|
|
150
50
|
status: "filled";
|
|
151
51
|
}>;
|
|
152
|
-
executeSandboxCli(invocation: SandboxCliInvocation & {
|
|
153
|
-
command: string;
|
|
154
|
-
}): Promise<SandboxCommandResult>;
|
|
155
52
|
resolveHeaders(connection: CompiledConnection, definition: LiveConnectionDefinition): Promise<Record<string, string>>;
|
|
156
|
-
/**
|
|
157
|
-
* Start (or resume) the authorization flow for a named connection and
|
|
158
|
-
* report where to send the user's browser. Backs the host's authenticated
|
|
159
|
-
* GET /assembly-line/connections/authorize endpoint (agent-control route class,
|
|
160
|
-
* JSON — deliberately not a public 302, so unauthenticated callers cannot
|
|
161
|
-
* trigger consent flows or enumerate connection names): the dashboard
|
|
162
|
-
* fetches the URL and opens it; the provider redirects back to the public,
|
|
163
|
-
* idempotency-claimed callback. Hitting it when a grant already exists
|
|
164
|
-
* reports "connected" instead of minting a redundant session; a pending
|
|
165
|
-
* session's challenge is reused.
|
|
166
|
-
*/
|
|
167
53
|
beginAuthorization(connectionName: string): Promise<{
|
|
168
54
|
status: "authorize";
|
|
169
55
|
url: string;
|
|
@@ -173,22 +59,7 @@ export declare class RuntimeConnectionRegistry {
|
|
|
173
59
|
status: "unavailable";
|
|
174
60
|
reason: string;
|
|
175
61
|
}>;
|
|
176
|
-
private beginAuthorizationWithContext;
|
|
177
|
-
/**
|
|
178
|
-
* Resolve every connection that declares `materialize` and render its
|
|
179
|
-
* credential files for injection into the agent sandbox. Tokens resolve
|
|
180
|
-
* through the normal host-side flow — cached grant, or a refresh exchange
|
|
181
|
-
* that persists the rotated grant to the grant store BEFORE anything is
|
|
182
|
-
* rendered — so the sandbox only ever sees the short-lived access token.
|
|
183
|
-
*
|
|
184
|
-
* A connection that cannot resolve is reported as pending unless the run
|
|
185
|
-
* explicitly requested that credential. Explicit requests fail closed so a
|
|
186
|
-
* run can never continue after a missing, revoked, or mismatched credential
|
|
187
|
-
* it declared as required. Merely making a credential connection available
|
|
188
|
-
* to the agent must not prevent unrelated sandbox work.
|
|
189
|
-
*/
|
|
190
62
|
materializeCredentials(run?: CredentialMaterializationRun): Promise<ConnectionCredentialMaterialization>;
|
|
191
|
-
private materializeCredentialsWithContext;
|
|
192
63
|
evictToken(connection: CompiledConnection, definition: LiveConnectionDefinition): Promise<void>;
|
|
193
64
|
completeAuthorization(callback: {
|
|
194
65
|
params: Record<string, string>;
|
|
@@ -202,28 +73,8 @@ export declare class RuntimeConnectionRegistry {
|
|
|
202
73
|
processEnvironment(connection: CompiledConnection): Promise<Record<string, string>>;
|
|
203
74
|
credentialValue(connection: CompiledConnection, name: string, purpose: string): Promise<string>;
|
|
204
75
|
private resolveConnection;
|
|
205
|
-
private loadResolvedConnection;
|
|
206
76
|
private targetConnections;
|
|
207
|
-
/**
|
|
208
|
-
* The single audience rule: personal (user-subject) connections exist only
|
|
209
|
-
* on private surfaces. Everything else — discovery, execution, pairing,
|
|
210
|
-
* and credential materialization — derives from this one predicate.
|
|
211
|
-
*/
|
|
212
77
|
private connectionAccessible;
|
|
213
78
|
private toolAllowed;
|
|
214
|
-
private connectionFailure;
|
|
215
|
-
private resolveToken;
|
|
216
|
-
private resolverContext;
|
|
217
|
-
private factoryContext;
|
|
218
|
-
private connectionPrincipal;
|
|
219
|
-
private withExecutionContext;
|
|
220
|
-
private createAuthorizationRequiredError;
|
|
221
|
-
private authorizationRequiredWithoutSession;
|
|
222
|
-
private createAuthorizationRequiredErrorWithContext;
|
|
223
|
-
private callbackUrl;
|
|
224
|
-
private exchangeOAuthAuthorizationCode;
|
|
225
|
-
private refreshOAuthGrant;
|
|
226
|
-
private requestOAuthToken;
|
|
227
|
-
private saveGrantFromToken;
|
|
228
79
|
}
|
|
229
80
|
//# sourceMappingURL=connections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.ts"],"names":[],"mappings":"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"}
|