@assemblyline-agents/runtime 2.0.0 → 3.1.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/LICENSE +1 -1
- package/dist/a2a-client.d.ts +22 -0
- package/dist/a2a-client.d.ts.map +1 -0
- package/dist/a2a-client.js +211 -0
- package/dist/a2a-client.js.map +1 -0
- package/dist/agent-hook-context.d.ts +6 -1
- package/dist/agent-hook-context.d.ts.map +1 -1
- package/dist/agent-hook-context.js +24 -11
- package/dist/agent-hook-context.js.map +1 -1
- package/dist/agent-hook-evaluation.d.ts +6 -1
- package/dist/agent-hook-evaluation.d.ts.map +1 -1
- package/dist/agent-hook-evaluation.js +16 -5
- package/dist/agent-hook-evaluation.js.map +1 -1
- package/dist/agent-hook-run-lifecycle.d.ts +5 -1
- package/dist/agent-hook-run-lifecycle.d.ts.map +1 -1
- package/dist/agent-hook-run-lifecycle.js +11 -13
- package/dist/agent-hook-run-lifecycle.js.map +1 -1
- package/dist/agent-surface.d.ts +32 -0
- package/dist/agent-surface.d.ts.map +1 -0
- package/dist/agent-surface.js +85 -0
- package/dist/agent-surface.js.map +1 -0
- package/dist/attachments.d.ts +5 -1
- package/dist/attachments.d.ts.map +1 -1
- package/dist/attachments.js +58 -32
- package/dist/attachments.js.map +1 -1
- package/dist/audience.d.ts +30 -0
- package/dist/audience.d.ts.map +1 -0
- package/dist/audience.js +68 -0
- package/dist/audience.js.map +1 -0
- package/dist/automation-event-match.d.ts +8 -0
- package/dist/automation-event-match.d.ts.map +1 -0
- package/dist/automation-event-match.js +25 -0
- package/dist/automation-event-match.js.map +1 -0
- package/dist/background-review-trigger.d.ts.map +1 -1
- package/dist/background-review-trigger.js +14 -16
- package/dist/background-review-trigger.js.map +1 -1
- package/dist/background-review-types.d.ts +9 -2
- package/dist/background-review-types.d.ts.map +1 -1
- package/dist/background-review-worker.js +2 -2
- package/dist/background-review-worker.js.map +1 -1
- package/dist/background-review.d.ts.map +1 -1
- package/dist/background-review.js +27 -10
- package/dist/background-review.js.map +1 -1
- package/dist/builtin-tool-executors.d.ts +47 -21
- package/dist/builtin-tool-executors.d.ts.map +1 -1
- package/dist/builtin-tool-executors.js +293 -121
- package/dist/builtin-tool-executors.js.map +1 -1
- package/dist/builtin-tools.d.ts +16 -8
- package/dist/builtin-tools.d.ts.map +1 -1
- package/dist/builtin-tools.js +309 -70
- package/dist/builtin-tools.js.map +1 -1
- package/dist/capability-catalog.d.ts +3 -2
- package/dist/capability-catalog.d.ts.map +1 -1
- package/dist/capability-catalog.js +10 -6
- package/dist/capability-catalog.js.map +1 -1
- package/dist/capability-inspection.d.ts +31 -0
- package/dist/capability-inspection.d.ts.map +1 -0
- package/dist/capability-inspection.js +58 -0
- package/dist/capability-inspection.js.map +1 -0
- package/dist/channel-http-util.d.ts.map +1 -1
- package/dist/channel-http-util.js +6 -2
- package/dist/channel-http-util.js.map +1 -1
- package/dist/channel-ingress.d.ts +16 -1
- package/dist/channel-ingress.d.ts.map +1 -1
- package/dist/channel-ingress.js +117 -7
- package/dist/channel-ingress.js.map +1 -1
- package/dist/channel.d.ts +58 -2
- package/dist/channel.d.ts.map +1 -1
- package/dist/checkpoints.d.ts +1 -1
- package/dist/checkpoints.d.ts.map +1 -1
- package/dist/checkpoints.js +6 -6
- package/dist/checkpoints.js.map +1 -1
- package/dist/child-process-env.d.ts +7 -0
- package/dist/child-process-env.d.ts.map +1 -0
- package/dist/child-process-env.js +41 -0
- package/dist/child-process-env.js.map +1 -0
- package/dist/computer-relay-protocol.d.ts.map +1 -1
- package/dist/computer-relay-protocol.js +4 -4
- package/dist/computer-relay-protocol.js.map +1 -1
- package/dist/concurrency.d.ts +1 -1
- package/dist/concurrency.js +1 -1
- package/dist/connection-auth-util.d.ts +1 -0
- package/dist/connection-auth-util.d.ts.map +1 -1
- package/dist/connection-auth-util.js +1 -1
- package/dist/connection-auth-util.js.map +1 -1
- package/dist/connection-clients.d.ts +11 -3
- package/dist/connection-clients.d.ts.map +1 -1
- package/dist/connection-clients.js +71 -8
- package/dist/connection-clients.js.map +1 -1
- package/dist/connection-event-store.d.ts +98 -0
- package/dist/connection-event-store.d.ts.map +1 -0
- package/dist/connection-event-store.js +162 -0
- package/dist/connection-event-store.js.map +1 -0
- package/dist/connection-events.d.ts +51 -0
- package/dist/connection-events.d.ts.map +1 -0
- package/dist/connection-events.js +343 -0
- package/dist/connection-events.js.map +1 -0
- package/dist/connection-stores.d.ts +3 -0
- package/dist/connection-stores.d.ts.map +1 -1
- package/dist/connection-stores.js +4 -1
- package/dist/connection-stores.js.map +1 -1
- package/dist/connection-util.d.ts +3 -2
- package/dist/connection-util.d.ts.map +1 -1
- package/dist/connection-util.js +18 -1
- package/dist/connection-util.js.map +1 -1
- package/dist/connections.d.ts +54 -5
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +342 -53
- package/dist/connections.js.map +1 -1
- package/dist/context-policy-util.d.ts.map +1 -1
- package/dist/context-policy-util.js +1 -3
- package/dist/context-policy-util.js.map +1 -1
- package/dist/conversation-context.d.ts +6 -2
- package/dist/conversation-context.d.ts.map +1 -1
- package/dist/conversation-context.js +45 -12
- package/dist/conversation-context.js.map +1 -1
- package/dist/conversation-transcript.d.ts +8 -5
- package/dist/conversation-transcript.d.ts.map +1 -1
- package/dist/conversation-transcript.js +24 -5
- package/dist/conversation-transcript.js.map +1 -1
- package/dist/conversation-turn-coalescing.d.ts +22 -0
- package/dist/conversation-turn-coalescing.d.ts.map +1 -0
- package/dist/conversation-turn-coalescing.js +121 -0
- package/dist/conversation-turn-coalescing.js.map +1 -0
- package/dist/conversation-turn-dispatch.d.ts +5 -2
- package/dist/conversation-turn-dispatch.d.ts.map +1 -1
- package/dist/conversation-turn-dispatch.js +59 -22
- package/dist/conversation-turn-dispatch.js.map +1 -1
- package/dist/default-outbound-route.d.ts +29 -0
- package/dist/default-outbound-route.d.ts.map +1 -0
- package/dist/default-outbound-route.js +105 -0
- package/dist/default-outbound-route.js.map +1 -0
- package/dist/delivery-artifacts.d.ts +2 -0
- package/dist/delivery-artifacts.d.ts.map +1 -0
- package/dist/delivery-artifacts.js +34 -0
- package/dist/delivery-artifacts.js.map +1 -0
- package/dist/delivery-files.d.ts +5 -0
- package/dist/delivery-files.d.ts.map +1 -0
- package/dist/delivery-files.js +33 -0
- package/dist/delivery-files.js.map +1 -0
- package/dist/delivery-queue.d.ts +21 -1
- package/dist/delivery-queue.d.ts.map +1 -1
- package/dist/delivery-queue.js +144 -1
- package/dist/delivery-queue.js.map +1 -1
- package/dist/delivery-send.d.ts +2 -2
- package/dist/delivery-send.d.ts.map +1 -1
- package/dist/delivery-send.js +256 -100
- package/dist/delivery-send.js.map +1 -1
- package/dist/durable-files.d.ts +37 -0
- package/dist/durable-files.d.ts.map +1 -0
- package/dist/durable-files.js +63 -0
- package/dist/durable-files.js.map +1 -0
- package/dist/harness-loop.d.ts +6 -1
- package/dist/harness-loop.d.ts.map +1 -1
- package/dist/harness-loop.js +110 -25
- package/dist/harness-loop.js.map +1 -1
- package/dist/heic-transcode-worker.d.ts +2 -0
- package/dist/heic-transcode-worker.d.ts.map +1 -0
- package/dist/heic-transcode-worker.js +59 -0
- package/dist/heic-transcode-worker.js.map +1 -0
- package/dist/heic-transcode.d.ts +18 -0
- package/dist/heic-transcode.d.ts.map +1 -0
- package/dist/heic-transcode.js +99 -0
- package/dist/heic-transcode.js.map +1 -0
- package/dist/human-input-routing.d.ts +22 -0
- package/dist/human-input-routing.d.ts.map +1 -0
- package/dist/human-input-routing.js +26 -0
- package/dist/human-input-routing.js.map +1 -0
- package/dist/in-memory-conversation-turn-store.d.ts +3 -1
- package/dist/in-memory-conversation-turn-store.d.ts.map +1 -1
- package/dist/in-memory-conversation-turn-store.js +41 -2
- package/dist/in-memory-conversation-turn-store.js.map +1 -1
- package/dist/in-memory-run-store.d.ts +8 -0
- package/dist/in-memory-run-store.d.ts.map +1 -1
- package/dist/in-memory-run-store.js +28 -5
- package/dist/in-memory-run-store.js.map +1 -1
- package/dist/in-memory-sandbox-session-store.d.ts +2 -1
- package/dist/in-memory-sandbox-session-store.d.ts.map +1 -1
- package/dist/in-memory-sandbox-session-store.js +65 -1
- package/dist/in-memory-sandbox-session-store.js.map +1 -1
- package/dist/in-memory-small-stores.d.ts +18 -1
- package/dist/in-memory-small-stores.d.ts.map +1 -1
- package/dist/in-memory-small-stores.js +107 -1
- package/dist/in-memory-small-stores.js.map +1 -1
- package/dist/in-memory-workspace-store.d.ts +40 -0
- package/dist/in-memory-workspace-store.d.ts.map +1 -0
- package/dist/in-memory-workspace-store.js +370 -0
- package/dist/in-memory-workspace-store.js.map +1 -0
- package/dist/index.d.ts +73 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +390 -258
- package/dist/index.js.map +1 -1
- package/dist/json-util.d.ts +8 -0
- package/dist/json-util.d.ts.map +1 -1
- package/dist/json-util.js +8 -0
- package/dist/json-util.js.map +1 -1
- package/dist/local-sandbox.d.ts +3 -2
- package/dist/local-sandbox.d.ts.map +1 -1
- package/dist/local-sandbox.js +69 -25
- package/dist/local-sandbox.js.map +1 -1
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +3 -2
- package/dist/mcp-client.js.map +1 -1
- package/dist/media-processor.d.ts +42 -0
- package/dist/media-processor.d.ts.map +1 -0
- package/dist/media-processor.js +2 -0
- package/dist/media-processor.js.map +1 -0
- package/dist/model-media.d.ts +13 -1
- package/dist/model-media.d.ts.map +1 -1
- package/dist/model-media.js +81 -18
- package/dist/model-media.js.map +1 -1
- package/dist/model-visible-interrupts.d.ts +10 -0
- package/dist/model-visible-interrupts.d.ts.map +1 -0
- package/dist/model-visible-interrupts.js +41 -0
- package/dist/model-visible-interrupts.js.map +1 -0
- package/dist/operator-controls.d.ts.map +1 -1
- package/dist/operator-controls.js +16 -3
- package/dist/operator-controls.js.map +1 -1
- package/dist/outbound-http-policy.d.ts +7 -0
- package/dist/outbound-http-policy.d.ts.map +1 -0
- package/dist/outbound-http-policy.js +155 -0
- package/dist/outbound-http-policy.js.map +1 -0
- package/dist/public-api.d.ts +21 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +19 -0
- package/dist/public-api.js.map +1 -0
- package/dist/replay-resume.d.ts +8 -0
- package/dist/replay-resume.d.ts.map +1 -1
- package/dist/replay-resume.js +141 -11
- package/dist/replay-resume.js.map +1 -1
- package/dist/resource-projection-util.d.ts +1 -1
- package/dist/resource-projection-util.d.ts.map +1 -1
- package/dist/resource-projection-util.js +21 -10
- package/dist/resource-projection-util.js.map +1 -1
- package/dist/resource-projection.d.ts +8 -1
- package/dist/resource-projection.d.ts.map +1 -1
- package/dist/resource-projection.js +229 -29
- package/dist/resource-projection.js.map +1 -1
- package/dist/run-heartbeat.d.ts +12 -2
- package/dist/run-heartbeat.d.ts.map +1 -1
- package/dist/run-heartbeat.js +31 -4
- package/dist/run-heartbeat.js.map +1 -1
- package/dist/run-outcome.d.ts +9 -5
- package/dist/run-outcome.d.ts.map +1 -1
- package/dist/run-outcome.js +14 -5
- package/dist/run-outcome.js.map +1 -1
- package/dist/run-recovery.d.ts +19 -3
- package/dist/run-recovery.d.ts.map +1 -1
- package/dist/run-recovery.js +205 -34
- package/dist/run-recovery.js.map +1 -1
- package/dist/run-replay.d.ts +35 -0
- package/dist/run-replay.d.ts.map +1 -0
- package/dist/run-replay.js +193 -0
- package/dist/run-replay.js.map +1 -0
- package/dist/run-result.d.ts +4 -0
- package/dist/run-result.d.ts.map +1 -0
- package/dist/run-result.js +18 -0
- package/dist/run-result.js.map +1 -0
- package/dist/run-timeline-query.d.ts +38 -0
- package/dist/run-timeline-query.d.ts.map +1 -0
- package/dist/run-timeline-query.js +99 -0
- package/dist/run-timeline-query.js.map +1 -0
- package/dist/runs-query.d.ts.map +1 -1
- package/dist/runs-query.js +11 -3
- package/dist/runs-query.js.map +1 -1
- package/dist/runtime-bundle.d.ts.map +1 -1
- package/dist/runtime-bundle.js +2 -0
- package/dist/runtime-bundle.js.map +1 -1
- package/dist/runtime-learning.d.ts +15 -13
- package/dist/runtime-learning.d.ts.map +1 -1
- package/dist/runtime-learning.js +79 -58
- package/dist/runtime-learning.js.map +1 -1
- package/dist/runtime-types.d.ts +68 -9
- package/dist/runtime-types.d.ts.map +1 -1
- package/dist/sandbox-fs.d.ts +8 -5
- package/dist/sandbox-fs.d.ts.map +1 -1
- package/dist/sandbox-fs.js +30 -31
- package/dist/sandbox-fs.js.map +1 -1
- package/dist/sandbox-handle.d.ts +25 -0
- package/dist/sandbox-handle.d.ts.map +1 -0
- package/dist/sandbox-handle.js +120 -0
- package/dist/sandbox-handle.js.map +1 -0
- package/dist/sandbox-session-identity.d.ts +14 -0
- package/dist/sandbox-session-identity.d.ts.map +1 -0
- package/dist/sandbox-session-identity.js +33 -0
- package/dist/sandbox-session-identity.js.map +1 -0
- package/dist/sandbox-session-key.d.ts.map +1 -1
- package/dist/sandbox-session-key.js +12 -9
- package/dist/sandbox-session-key.js.map +1 -1
- package/dist/sandbox-session-lifecycle.d.ts.map +1 -1
- package/dist/sandbox-session-lifecycle.js +187 -44
- package/dist/sandbox-session-lifecycle.js.map +1 -1
- package/dist/sandbox-snapshot-policy.js +3 -3
- package/dist/sandbox-snapshot-policy.js.map +1 -1
- package/dist/sandbox-state-sync.d.ts +4 -2
- package/dist/sandbox-state-sync.d.ts.map +1 -1
- package/dist/sandbox-state-sync.js +47 -15
- package/dist/sandbox-state-sync.js.map +1 -1
- package/dist/sandbox-sync-worker.d.ts +11 -2
- package/dist/sandbox-sync-worker.d.ts.map +1 -1
- package/dist/sandbox-sync-worker.js +143 -31
- package/dist/sandbox-sync-worker.js.map +1 -1
- package/dist/schedule-execution.d.ts.map +1 -1
- package/dist/schedule-execution.js +127 -23
- package/dist/schedule-execution.js.map +1 -1
- package/dist/sdk-api-client.d.ts +17 -0
- package/dist/sdk-api-client.d.ts.map +1 -0
- package/dist/sdk-api-client.js +55 -0
- package/dist/sdk-api-client.js.map +1 -0
- package/dist/security.js +2 -2
- package/dist/security.js.map +1 -1
- package/dist/self-improvement.d.ts +5 -1
- package/dist/self-improvement.d.ts.map +1 -1
- package/dist/self-improvement.js +28 -14
- package/dist/self-improvement.js.map +1 -1
- package/dist/skill-bundles.d.ts +55 -0
- package/dist/skill-bundles.d.ts.map +1 -0
- package/dist/skill-bundles.js +134 -0
- package/dist/skill-bundles.js.map +1 -0
- package/dist/source-loader.js +7 -7
- package/dist/source-loader.js.map +1 -1
- package/dist/state-store-helpers.d.ts +2 -0
- package/dist/state-store-helpers.d.ts.map +1 -1
- package/dist/state-store-helpers.js +11 -1
- package/dist/state-store-helpers.js.map +1 -1
- package/dist/state-stores.d.ts +1 -0
- package/dist/state-stores.d.ts.map +1 -1
- package/dist/state-stores.js +26 -7
- package/dist/state-stores.js.map +1 -1
- package/dist/state.d.ts +305 -5
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +41 -2
- package/dist/state.js.map +1 -1
- package/dist/storage.d.ts +47 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +158 -6
- package/dist/storage.js.map +1 -1
- package/dist/subagent-execution.d.ts +1 -1
- package/dist/subagent-execution.d.ts.map +1 -1
- package/dist/subagent-execution.js +10 -12
- package/dist/subagent-execution.js.map +1 -1
- package/dist/target-instructions.js +1 -1
- package/dist/target-instructions.js.map +1 -1
- package/dist/tool-apis.d.ts.map +1 -1
- package/dist/tool-apis.js +33 -9
- package/dist/tool-apis.js.map +1 -1
- package/dist/tool-execution.d.ts +22 -12
- package/dist/tool-execution.d.ts.map +1 -1
- package/dist/tool-execution.js +368 -238
- package/dist/tool-execution.js.map +1 -1
- package/dist/turn-media.d.ts +29 -0
- package/dist/turn-media.d.ts.map +1 -0
- package/dist/turn-media.js +233 -0
- package/dist/turn-media.js.map +1 -0
- package/dist/usage-reconciliation.d.ts +1 -1
- package/dist/usage-reconciliation.js +1 -1
- package/dist/workspace-id.d.ts +10 -0
- package/dist/workspace-id.d.ts.map +1 -0
- package/dist/workspace-id.js +55 -0
- package/dist/workspace-id.js.map +1 -0
- package/dist/workspace-manifest.d.ts +24 -0
- package/dist/workspace-manifest.d.ts.map +1 -0
- package/dist/workspace-manifest.js +111 -0
- package/dist/workspace-manifest.js.map +1 -0
- package/dist/workspace-operation-limiter.d.ts +16 -0
- package/dist/workspace-operation-limiter.d.ts.map +1 -0
- package/dist/workspace-operation-limiter.js +31 -0
- package/dist/workspace-operation-limiter.js.map +1 -0
- package/dist/workspace-operations.d.ts +145 -0
- package/dist/workspace-operations.d.ts.map +1 -0
- package/dist/workspace-operations.js +420 -0
- package/dist/workspace-operations.js.map +1 -0
- package/dist/workspace-runtime.d.ts +110 -0
- package/dist/workspace-runtime.d.ts.map +1 -0
- package/dist/workspace-runtime.js +240 -0
- package/dist/workspace-runtime.js.map +1 -0
- package/dist/workspace-search.d.ts +55 -0
- package/dist/workspace-search.d.ts.map +1 -0
- package/dist/workspace-search.js +262 -0
- package/dist/workspace-search.js.map +1 -0
- package/dist/workspace-service.d.ts +173 -0
- package/dist/workspace-service.d.ts.map +1 -0
- package/dist/workspace-service.js +619 -0
- package/dist/workspace-service.js.map +1 -0
- package/dist/workspace.d.ts +7 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +7 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +7 -4
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { WorkspaceConflictError } from "./state.js";
|
|
3
|
+
import { timestamp } from "./runtime-util.js";
|
|
4
|
+
const noPersist = async () => undefined;
|
|
5
|
+
export class InMemoryWorkspaceStore {
|
|
6
|
+
persist;
|
|
7
|
+
workspaces = new Map();
|
|
8
|
+
workspaceIdsByScopeKey = new Map();
|
|
9
|
+
versions = new Map();
|
|
10
|
+
versionIdsByIdempotencyKey = new Map();
|
|
11
|
+
checkpoints = new Map();
|
|
12
|
+
searchChunks = new Map();
|
|
13
|
+
searchIndexes = new Map();
|
|
14
|
+
supportsWorkspaceEmbeddings() {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
constructor(persist = noPersist) {
|
|
18
|
+
this.persist = persist;
|
|
19
|
+
}
|
|
20
|
+
async resolveWorkspace(input) {
|
|
21
|
+
const existingById = input.id ? this.workspaces.get(input.id) : undefined;
|
|
22
|
+
if (existingById) {
|
|
23
|
+
const existing = existingById;
|
|
24
|
+
if (existing.scopeKey !== input.scopeKey || existing.scope.agentScope !== input.scope.agentScope) {
|
|
25
|
+
throw new Error(`Workspace is outside the requested scope: ${existing.id}`);
|
|
26
|
+
}
|
|
27
|
+
return existing;
|
|
28
|
+
}
|
|
29
|
+
const existingId = this.workspaceIdsByScopeKey.get(input.scopeKey);
|
|
30
|
+
if (existingId) {
|
|
31
|
+
const existing = this.requireWorkspace(existingId);
|
|
32
|
+
if (input.id && existing.id !== input.id)
|
|
33
|
+
throw new Error(`Workspace scope is already in use: ${input.scopeKey}`);
|
|
34
|
+
return existing;
|
|
35
|
+
}
|
|
36
|
+
const now = timestamp();
|
|
37
|
+
const workspace = {
|
|
38
|
+
id: input.id ?? randomUUID(),
|
|
39
|
+
scopeKey: input.scopeKey,
|
|
40
|
+
scope: input.scope,
|
|
41
|
+
metadata: input.metadata ?? {},
|
|
42
|
+
createdAt: now,
|
|
43
|
+
updatedAt: now
|
|
44
|
+
};
|
|
45
|
+
if (input.name)
|
|
46
|
+
workspace.name = input.name;
|
|
47
|
+
this.workspaces.set(workspace.id, workspace);
|
|
48
|
+
this.workspaceIdsByScopeKey.set(workspace.scopeKey, workspace.id);
|
|
49
|
+
await this.persist();
|
|
50
|
+
return workspace;
|
|
51
|
+
}
|
|
52
|
+
async getWorkspace(id) {
|
|
53
|
+
return this.workspaces.get(id);
|
|
54
|
+
}
|
|
55
|
+
async listWorkspaces(input = {}) {
|
|
56
|
+
return [...this.workspaces.values()]
|
|
57
|
+
.filter((workspace) => !input.agentScope || workspace.scope.agentScope === input.agentScope)
|
|
58
|
+
.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
|
|
59
|
+
}
|
|
60
|
+
async getWorkspaceVersion(id) {
|
|
61
|
+
return this.versions.get(id);
|
|
62
|
+
}
|
|
63
|
+
async listWorkspaceVersions(workspaceId, input = {}) {
|
|
64
|
+
const limit = Math.max(1, Math.floor(input.limit ?? Number.MAX_SAFE_INTEGER));
|
|
65
|
+
return [...this.versions.values()]
|
|
66
|
+
.filter((version) => version.workspaceId === workspaceId)
|
|
67
|
+
.sort((a, b) => b.createdAt.localeCompare(a.createdAt))
|
|
68
|
+
.slice(0, limit);
|
|
69
|
+
}
|
|
70
|
+
async commitWorkspaceVersion(input) {
|
|
71
|
+
const existingVersionId = this.versionIdsByIdempotencyKey.get(input.idempotencyKey);
|
|
72
|
+
if (existingVersionId) {
|
|
73
|
+
const version = this.requireVersion(existingVersionId);
|
|
74
|
+
if (version.workspaceId !== input.workspaceId) {
|
|
75
|
+
throw new Error(`Workspace version idempotency key belongs to another workspace: ${input.idempotencyKey}`);
|
|
76
|
+
}
|
|
77
|
+
return { workspace: this.requireWorkspace(input.workspaceId), version, created: false };
|
|
78
|
+
}
|
|
79
|
+
const workspace = this.requireWorkspace(input.workspaceId);
|
|
80
|
+
const actualHeadVersionId = workspace.headVersionId ?? null;
|
|
81
|
+
if (actualHeadVersionId !== input.expectedHeadVersionId) {
|
|
82
|
+
throw new WorkspaceConflictError(input.workspaceId, input.expectedHeadVersionId, actualHeadVersionId);
|
|
83
|
+
}
|
|
84
|
+
const version = {
|
|
85
|
+
id: randomUUID(),
|
|
86
|
+
workspaceId: workspace.id,
|
|
87
|
+
manifestBlobKey: input.manifestBlobKey,
|
|
88
|
+
manifestSha256: input.manifestSha256,
|
|
89
|
+
fileCount: input.fileCount,
|
|
90
|
+
totalBytes: input.totalBytes,
|
|
91
|
+
reason: input.reason,
|
|
92
|
+
idempotencyKey: input.idempotencyKey,
|
|
93
|
+
metadata: input.metadata ?? {},
|
|
94
|
+
createdAt: timestamp()
|
|
95
|
+
};
|
|
96
|
+
if (workspace.headVersionId)
|
|
97
|
+
version.parentVersionId = workspace.headVersionId;
|
|
98
|
+
if (input.runId)
|
|
99
|
+
version.runId = input.runId;
|
|
100
|
+
if (input.sourceVersionId)
|
|
101
|
+
version.sourceVersionId = input.sourceVersionId;
|
|
102
|
+
if (input.sourceCheckpointId)
|
|
103
|
+
version.sourceCheckpointId = input.sourceCheckpointId;
|
|
104
|
+
const updatedWorkspace = { ...workspace, headVersionId: version.id, updatedAt: version.createdAt };
|
|
105
|
+
this.versions.set(version.id, version);
|
|
106
|
+
this.versionIdsByIdempotencyKey.set(version.idempotencyKey, version.id);
|
|
107
|
+
this.workspaces.set(workspace.id, updatedWorkspace);
|
|
108
|
+
await this.persist();
|
|
109
|
+
return { workspace: updatedWorkspace, version, created: true };
|
|
110
|
+
}
|
|
111
|
+
async createWorkspaceCheckpoint(input) {
|
|
112
|
+
const workspace = this.requireWorkspace(input.workspaceId);
|
|
113
|
+
const version = this.requireVersion(input.versionId);
|
|
114
|
+
if (version.workspaceId !== workspace.id)
|
|
115
|
+
throw new Error(`Workspace version does not belong to workspace: ${version.id}`);
|
|
116
|
+
const key = checkpointKey(workspace.id, input.name);
|
|
117
|
+
const existing = this.checkpoints.get(key);
|
|
118
|
+
if (existing && !input.replace)
|
|
119
|
+
throw new Error(`Workspace checkpoint already exists: ${input.name}`);
|
|
120
|
+
const now = timestamp();
|
|
121
|
+
const checkpoint = {
|
|
122
|
+
id: existing?.id ?? randomUUID(),
|
|
123
|
+
workspaceId: workspace.id,
|
|
124
|
+
name: input.name,
|
|
125
|
+
versionId: version.id,
|
|
126
|
+
createdAt: existing?.createdAt ?? now,
|
|
127
|
+
updatedAt: now
|
|
128
|
+
};
|
|
129
|
+
this.checkpoints.set(key, checkpoint);
|
|
130
|
+
await this.persist();
|
|
131
|
+
return checkpoint;
|
|
132
|
+
}
|
|
133
|
+
async getWorkspaceCheckpoint(workspaceId, name) {
|
|
134
|
+
return this.checkpoints.get(checkpointKey(workspaceId, name));
|
|
135
|
+
}
|
|
136
|
+
async listWorkspaceCheckpoints(workspaceId) {
|
|
137
|
+
return [...this.checkpoints.values()]
|
|
138
|
+
.filter((checkpoint) => checkpoint.workspaceId === workspaceId)
|
|
139
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
140
|
+
}
|
|
141
|
+
async deleteWorkspaceCheckpoint(workspaceId, name) {
|
|
142
|
+
const deleted = this.checkpoints.delete(checkpointKey(workspaceId, name));
|
|
143
|
+
if (deleted)
|
|
144
|
+
await this.persist();
|
|
145
|
+
return deleted;
|
|
146
|
+
}
|
|
147
|
+
async forkWorkspace(input) {
|
|
148
|
+
const sourceWorkspace = this.requireWorkspace(input.sourceWorkspaceId);
|
|
149
|
+
const sourceVersion = this.requireVersion(input.sourceVersionId);
|
|
150
|
+
if (sourceVersion.workspaceId !== sourceWorkspace.id) {
|
|
151
|
+
throw new Error(`Workspace version does not belong to source workspace: ${sourceVersion.id}`);
|
|
152
|
+
}
|
|
153
|
+
const existingById = input.id ? this.workspaces.get(input.id) : undefined;
|
|
154
|
+
if (existingById)
|
|
155
|
+
return assertMatchingFork(existingById, input);
|
|
156
|
+
const existingId = this.workspaceIdsByScopeKey.get(input.scopeKey);
|
|
157
|
+
if (existingId)
|
|
158
|
+
return assertMatchingFork(this.requireWorkspace(existingId), input);
|
|
159
|
+
const now = timestamp();
|
|
160
|
+
const workspace = {
|
|
161
|
+
id: input.id ?? randomUUID(),
|
|
162
|
+
scopeKey: input.scopeKey,
|
|
163
|
+
scope: input.scope,
|
|
164
|
+
sourceWorkspaceId: sourceWorkspace.id,
|
|
165
|
+
sourceVersionId: sourceVersion.id,
|
|
166
|
+
metadata: input.metadata ?? {},
|
|
167
|
+
createdAt: now,
|
|
168
|
+
updatedAt: now
|
|
169
|
+
};
|
|
170
|
+
if (input.name)
|
|
171
|
+
workspace.name = input.name;
|
|
172
|
+
const forkVersion = {
|
|
173
|
+
...sourceVersion,
|
|
174
|
+
id: randomUUID(),
|
|
175
|
+
workspaceId: workspace.id,
|
|
176
|
+
sourceVersionId: sourceVersion.id,
|
|
177
|
+
reason: "fork",
|
|
178
|
+
idempotencyKey: `workspace-fork:${workspace.id}:${sourceVersion.id}`,
|
|
179
|
+
metadata: { sourceWorkspaceId: sourceWorkspace.id },
|
|
180
|
+
createdAt: now
|
|
181
|
+
};
|
|
182
|
+
delete forkVersion.parentVersionId;
|
|
183
|
+
delete forkVersion.runId;
|
|
184
|
+
delete forkVersion.sourceCheckpointId;
|
|
185
|
+
workspace.headVersionId = forkVersion.id;
|
|
186
|
+
this.workspaces.set(workspace.id, workspace);
|
|
187
|
+
this.workspaceIdsByScopeKey.set(workspace.scopeKey, workspace.id);
|
|
188
|
+
this.versions.set(forkVersion.id, forkVersion);
|
|
189
|
+
this.versionIdsByIdempotencyKey.set(forkVersion.idempotencyKey, forkVersion.id);
|
|
190
|
+
await this.persist();
|
|
191
|
+
return workspace;
|
|
192
|
+
}
|
|
193
|
+
async replaceWorkspaceSearchChunks(input) {
|
|
194
|
+
this.requireWorkspace(input.workspaceId);
|
|
195
|
+
const version = this.requireVersion(input.versionId);
|
|
196
|
+
if (version.workspaceId !== input.workspaceId)
|
|
197
|
+
throw new Error(`Workspace version does not belong to workspace: ${version.id}`);
|
|
198
|
+
for (const [id, chunk] of this.searchChunks) {
|
|
199
|
+
if (chunk.workspaceId === input.workspaceId && chunk.versionId === input.versionId)
|
|
200
|
+
this.searchChunks.delete(id);
|
|
201
|
+
}
|
|
202
|
+
for (const chunk of input.chunks)
|
|
203
|
+
this.searchChunks.set(chunk.id, chunk);
|
|
204
|
+
const index = {
|
|
205
|
+
workspaceId: input.workspaceId,
|
|
206
|
+
versionId: input.versionId,
|
|
207
|
+
chunkCount: input.chunks.length,
|
|
208
|
+
indexedAt: timestamp(),
|
|
209
|
+
...(input.embeddingModel ? { embeddingModel: input.embeddingModel } : {})
|
|
210
|
+
};
|
|
211
|
+
if (this.requireWorkspace(input.workspaceId).headVersionId === input.versionId) {
|
|
212
|
+
this.searchIndexes.set(input.workspaceId, index);
|
|
213
|
+
}
|
|
214
|
+
await this.persist();
|
|
215
|
+
return index;
|
|
216
|
+
}
|
|
217
|
+
async getWorkspaceSearchIndex(workspaceId) {
|
|
218
|
+
return this.searchIndexes.get(workspaceId);
|
|
219
|
+
}
|
|
220
|
+
async listWorkspaceSearchChunks(workspaceId, versionId) {
|
|
221
|
+
return [...this.searchChunks.values()]
|
|
222
|
+
.filter((chunk) => chunk.workspaceId === workspaceId && chunk.versionId === versionId)
|
|
223
|
+
.sort((a, b) => a.path.localeCompare(b.path) || a.startLine - b.startLine);
|
|
224
|
+
}
|
|
225
|
+
async searchWorkspaceChunks(input) {
|
|
226
|
+
const terms = searchTerms(input.query);
|
|
227
|
+
const limit = Math.max(1, Math.min(100, Math.floor(input.limit ?? 8)));
|
|
228
|
+
return (await this.listWorkspaceSearchChunks(input.workspaceId, input.versionId))
|
|
229
|
+
.map((chunk) => ({ chunk, score: lexicalScore(chunk, terms) }))
|
|
230
|
+
.filter((entry) => entry.score > 0)
|
|
231
|
+
.sort((a, b) => b.score - a.score || a.chunk.path.localeCompare(b.chunk.path) || a.chunk.startLine - b.chunk.startLine)
|
|
232
|
+
.slice(0, limit)
|
|
233
|
+
.map(({ chunk, score }) => ({
|
|
234
|
+
path: chunk.path,
|
|
235
|
+
versionId: chunk.versionId,
|
|
236
|
+
startLine: chunk.startLine,
|
|
237
|
+
endLine: chunk.endLine,
|
|
238
|
+
snippet: chunk.content,
|
|
239
|
+
score,
|
|
240
|
+
rankingSource: "full_text"
|
|
241
|
+
}));
|
|
242
|
+
}
|
|
243
|
+
async searchWorkspaceEmbeddings(input) {
|
|
244
|
+
const limit = Math.max(1, Math.min(100, Math.floor(input.limit ?? 8)));
|
|
245
|
+
return (await this.listWorkspaceSearchChunks(input.workspaceId, input.versionId))
|
|
246
|
+
.filter((chunk) => chunk.embedding && (!chunk.embeddingModel || chunk.embeddingModel === input.model))
|
|
247
|
+
.map((chunk) => ({ chunk, score: cosineSimilarity(input.embedding, chunk.embedding ?? []) }))
|
|
248
|
+
.filter(({ score }) => score > 0)
|
|
249
|
+
.sort((a, b) => b.score - a.score || a.chunk.path.localeCompare(b.chunk.path) || a.chunk.startLine - b.chunk.startLine)
|
|
250
|
+
.slice(0, limit)
|
|
251
|
+
.map(({ chunk, score }) => ({
|
|
252
|
+
path: chunk.path,
|
|
253
|
+
versionId: chunk.versionId,
|
|
254
|
+
startLine: chunk.startLine,
|
|
255
|
+
endLine: chunk.endLine,
|
|
256
|
+
snippet: chunk.content,
|
|
257
|
+
score,
|
|
258
|
+
rankingSource: "semantic"
|
|
259
|
+
}));
|
|
260
|
+
}
|
|
261
|
+
async deleteWorkspaceVersions(workspaceId, versionIds) {
|
|
262
|
+
const workspace = this.requireWorkspace(workspaceId);
|
|
263
|
+
const requestedVersionIds = [...new Set(versionIds)].sort();
|
|
264
|
+
const checkpointVersions = new Set([...this.checkpoints.values()].filter((checkpoint) => checkpoint.workspaceId === workspaceId).map((checkpoint) => checkpoint.versionId));
|
|
265
|
+
const forkSourceVersions = new Set([...this.workspaces.values()]
|
|
266
|
+
.filter((candidate) => candidate.sourceWorkspaceId === workspaceId && candidate.sourceVersionId)
|
|
267
|
+
.map((candidate) => candidate.sourceVersionId));
|
|
268
|
+
const deletedVersionIds = [];
|
|
269
|
+
for (const versionId of requestedVersionIds) {
|
|
270
|
+
const version = this.versions.get(versionId);
|
|
271
|
+
if (!version || version.workspaceId !== workspaceId)
|
|
272
|
+
continue;
|
|
273
|
+
if (workspace.headVersionId === versionId || checkpointVersions.has(versionId) || forkSourceVersions.has(versionId))
|
|
274
|
+
continue;
|
|
275
|
+
this.versions.delete(versionId);
|
|
276
|
+
this.versionIdsByIdempotencyKey.delete(version.idempotencyKey);
|
|
277
|
+
for (const [chunkId, chunk] of this.searchChunks) {
|
|
278
|
+
if (chunk.versionId === versionId)
|
|
279
|
+
this.searchChunks.delete(chunkId);
|
|
280
|
+
}
|
|
281
|
+
deletedVersionIds.push(versionId);
|
|
282
|
+
}
|
|
283
|
+
if (deletedVersionIds.length > 0) {
|
|
284
|
+
const deleted = new Set(deletedVersionIds);
|
|
285
|
+
for (const [versionId, version] of this.versions) {
|
|
286
|
+
if (version.parentVersionId && deleted.has(version.parentVersionId)) {
|
|
287
|
+
const { parentVersionId: _parentVersionId, ...withoutParent } = version;
|
|
288
|
+
this.versions.set(versionId, withoutParent);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
await this.persist();
|
|
292
|
+
}
|
|
293
|
+
return { workspaceId, requestedVersionIds, deletedVersionIds };
|
|
294
|
+
}
|
|
295
|
+
async repairWorkspaceHead(input) {
|
|
296
|
+
const workspace = this.requireWorkspace(input.workspaceId);
|
|
297
|
+
const actualHeadVersionId = workspace.headVersionId ?? null;
|
|
298
|
+
if (actualHeadVersionId !== input.expectedHeadVersionId) {
|
|
299
|
+
throw new WorkspaceConflictError(workspace.id, input.expectedHeadVersionId, actualHeadVersionId);
|
|
300
|
+
}
|
|
301
|
+
const target = this.requireVersion(input.targetVersionId);
|
|
302
|
+
if (target.workspaceId !== workspace.id)
|
|
303
|
+
throw new Error(`Workspace version does not belong to workspace: ${target.id}`);
|
|
304
|
+
const updated = { ...workspace, headVersionId: target.id, updatedAt: timestamp() };
|
|
305
|
+
this.workspaces.set(workspace.id, updated);
|
|
306
|
+
await this.persist();
|
|
307
|
+
return updated;
|
|
308
|
+
}
|
|
309
|
+
requireWorkspace(id) {
|
|
310
|
+
const workspace = this.workspaces.get(id);
|
|
311
|
+
if (!workspace)
|
|
312
|
+
throw new Error(`Workspace not found: ${id}`);
|
|
313
|
+
return workspace;
|
|
314
|
+
}
|
|
315
|
+
requireVersion(id) {
|
|
316
|
+
const version = this.versions.get(id);
|
|
317
|
+
if (!version)
|
|
318
|
+
throw new Error(`Workspace version not found: ${id}`);
|
|
319
|
+
return version;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function searchTerms(query) {
|
|
323
|
+
return [...new Set(query.toLowerCase().match(/[\p{L}\p{N}_-]+/gu) ?? [])];
|
|
324
|
+
}
|
|
325
|
+
function lexicalScore(chunk, terms) {
|
|
326
|
+
if (terms.length === 0)
|
|
327
|
+
return 0;
|
|
328
|
+
const path = chunk.path.toLowerCase();
|
|
329
|
+
const content = chunk.content.toLowerCase();
|
|
330
|
+
let score = 0;
|
|
331
|
+
for (const term of terms) {
|
|
332
|
+
if (path.includes(term))
|
|
333
|
+
score += 3;
|
|
334
|
+
let index = content.indexOf(term);
|
|
335
|
+
while (index >= 0) {
|
|
336
|
+
score += 1;
|
|
337
|
+
index = content.indexOf(term, index + term.length);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return score;
|
|
341
|
+
}
|
|
342
|
+
function checkpointKey(workspaceId, name) {
|
|
343
|
+
return `${workspaceId}\u0000${name}`;
|
|
344
|
+
}
|
|
345
|
+
function assertMatchingFork(workspace, input) {
|
|
346
|
+
if (workspace.scopeKey !== input.scopeKey ||
|
|
347
|
+
workspace.scope.agentScope !== input.scope.agentScope ||
|
|
348
|
+
workspace.scope.tenantId !== input.scope.tenantId ||
|
|
349
|
+
workspace.sourceWorkspaceId !== input.sourceWorkspaceId ||
|
|
350
|
+
workspace.sourceVersionId !== input.sourceVersionId) {
|
|
351
|
+
throw new Error(`Workspace fork identity is already in use: ${workspace.id}`);
|
|
352
|
+
}
|
|
353
|
+
return workspace;
|
|
354
|
+
}
|
|
355
|
+
function cosineSimilarity(left, right) {
|
|
356
|
+
if (left.length === 0 || left.length !== right.length)
|
|
357
|
+
return 0;
|
|
358
|
+
let dot = 0;
|
|
359
|
+
let leftMagnitude = 0;
|
|
360
|
+
let rightMagnitude = 0;
|
|
361
|
+
for (let index = 0; index < left.length; index += 1) {
|
|
362
|
+
const a = left[index] ?? 0;
|
|
363
|
+
const b = right[index] ?? 0;
|
|
364
|
+
dot += a * b;
|
|
365
|
+
leftMagnitude += a * a;
|
|
366
|
+
rightMagnitude += b * b;
|
|
367
|
+
}
|
|
368
|
+
return leftMagnitude > 0 && rightMagnitude > 0 ? dot / (Math.sqrt(leftMagnitude) * Math.sqrt(rightMagnitude)) : 0;
|
|
369
|
+
}
|
|
370
|
+
//# sourceMappingURL=in-memory-workspace-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-workspace-store.js","sourceRoot":"","sources":["../src/in-memory-workspace-store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,55 +1,53 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from "./public-api.js";
|
|
2
|
+
export { builtInToolDefaults, FILES_MOUNT_TOOL_NAME, FILES_SEARCH_TOOL_NAME, HISTORY_SEARCH_TOOL_NAME, PAIR_TOOL_NAME } from "./builtin-tools.js";
|
|
3
|
+
export { inspectAgentCapabilities, type CapabilityInspectionInput, type CapabilityInspectionReport } from "./capability-inspection.js";
|
|
4
|
+
export { CONNECTION_PAIRING_UNAVAILABLE_EVENT, executePairTool } from "./builtin-tool-executors.js";
|
|
2
5
|
import { type ResolvedCoreToolPolicy } from "./security.js";
|
|
3
6
|
export type { CoreToolMode, CoreToolPolicy, ResolvedCoreToolPolicy } from "./security.js";
|
|
4
7
|
export { constantTimeSecretEqual } from "./security.js";
|
|
5
8
|
export { RUN_STREAM_TERMINAL_EVENTS, type RunStreamEvent, type RunStreamListener } from "./run-stream.js";
|
|
6
9
|
export { failRun, type RunFailureInput, type RunFailureReason } from "./run-outcome.js";
|
|
7
10
|
import type { ChannelAcceptedTurn, ChannelAcceptedTurnResult, ChannelHttpRequest, ChannelHttpResponse, RuntimeChannelIngressController } from "./channel.js";
|
|
8
|
-
export type { ChannelAcceptedTurn, ChannelAcceptedTurnResult, ChannelAttachmentRequest, ChannelContext, ChannelDelivery, ChannelHttpRequest, ChannelHttpResponse, ChannelHttpResponseBody, ChannelHttpResult, ChannelIngressAuthDescriptor, ChannelIngressEmitter, ChannelIngressLifecycle, ChannelModule, ChannelPrincipalResolution, ChannelTurn, ChannelTurnLifecycle, RuntimeChannelIngressController } from "./channel.js";
|
|
11
|
+
export type { ChannelAgentApi, ChannelAcceptedTurn, ChannelAcceptedTurnResult, ChannelAttachmentRequest, ChannelContext, ChannelDelivery, ChannelHttpRequest, ChannelHttpResponse, ChannelHttpResponseBody, ChannelHttpResult, ChannelIngressAuthDescriptor, ChannelIngressEmitter, ChannelIngressLifecycle, ChannelModule, ChannelObservation, ChannelPrincipalResolution, ChannelTurn, ChannelTurnCoalescing, ChannelTurnLifecycle, RuntimeChannelIngressController } from "./channel.js";
|
|
12
|
+
export { MAX_CHANNEL_TURN_COALESCING_WINDOW_MS, QUEUED_CHANNEL_TURN_COALESCING_KEY, QUEUED_CHANNEL_TURN_KEY, QUEUED_CHANNEL_TURN_MERGED_INTO_KEY, QUEUED_CHANNEL_TURN_PARTS_KEY } from "./conversation-turn-coalescing.js";
|
|
9
13
|
import { type AgentManifest, type AutomationEvent, type JsonObject, type SandboxSnapshotPolicy, type SandboxSession, type ScheduleTriggerDefinition } from "@assemblyline-agents/core";
|
|
10
14
|
import { type RunStreamListener } from "./run-stream.js";
|
|
11
15
|
export { sandboxSessionKeyForRun } from "./sandbox-session-key.js";
|
|
16
|
+
import { type ConnectionEventStore } from "./connection-event-store.js";
|
|
17
|
+
import { type ConnectionEventIngressResponse, type ConnectionEventWireResult } from "./connection-events.js";
|
|
12
18
|
import { type ConnectionAuthorizationSessionStore, type ConnectionGrantStore } from "./connections.js";
|
|
19
|
+
export { FileConnectionEventStore, InMemoryConnectionEventStore, type ConnectionEventInboxRecord, type ConnectionEventRegistration, type ConnectionEventStore } from "./connection-event-store.js";
|
|
20
|
+
export { connectionEventUrl, type ConnectionEventIngressResponse, type ConnectionEventWireResult } from "./connection-events.js";
|
|
13
21
|
import { type ConnectionDefinitionStore, type DynamicScheduleRecord, type ResolvedSkillsConfig, type ResolvedSchedulesConfig, type ResolvedConnectionsConfig, type ScheduleStore, type SkillStore, type StoredConnectionProtocol } from "./self-improvement.js";
|
|
14
22
|
import { type LearningStore } from "./learning-store.js";
|
|
15
23
|
import { type RuntimeSkillWriteInput } from "./runtime-learning.js";
|
|
24
|
+
import { type MediaProcessor } from "./turn-media.js";
|
|
25
|
+
export { mergeJsonObjects, processTurnMedia, type MediaProcessor, type MediaProcessorAttachment, type MediaProcessorInput, type MediaProcessorResult } from "./turn-media.js";
|
|
16
26
|
export { attachmentFetchTimeoutMs, attachmentRemoteUrl, attachmentTrustedForProvider, firstDownloadableUrl } from "./attachments.js";
|
|
27
|
+
export { assertExternalHttpUrl, fetchExternalHttp, isPublicAddress, type AttachmentHostResolver } from "./outbound-http-policy.js";
|
|
17
28
|
import { type RuntimeSchedulerController, type SchedulerAdapter } from "./scheduler.js";
|
|
18
29
|
import { type TelemetrySink } from "./telemetry.js";
|
|
19
30
|
import { type RuntimeLogger } from "./logging.js";
|
|
20
31
|
import { type DeliveryExecutionResult, type DeliveryLeaseOptions } from "./delivery-queue.js";
|
|
21
32
|
import { type BackgroundWorkerOptions, type BackgroundWorkersController, type RunRecoveryOptions } from "./run-recovery.js";
|
|
33
|
+
import { type SkillBundleIndex, type SkillResourceReader } from "./skill-bundles.js";
|
|
34
|
+
import { WorkspaceRuntimeMethods } from "./workspace-runtime.js";
|
|
35
|
+
export { RunReplayError, type RunReplayErrorCode } from "./run-replay.js";
|
|
22
36
|
import { getAgentControlImpl } from "./operator-controls.js";
|
|
23
37
|
import { type ResolvedCheckpointRetentionPolicy } from "./checkpoints.js";
|
|
24
38
|
import type { CheckpointRecord, CheckpointRetentionOptions, CheckpointRetentionResult, DeliveryObligation, MemoryEmbeddingProvider, MemoryScope, RunEvent, RunRecord, ResolvedStateAdapter, SandboxSyncDiagnostics, SandboxSyncExecutionResult, SandboxSyncJobInspection, SandboxSyncJobRecord, ScheduleRecord, ToolCallRecord, UsageRecord } from "./state.js";
|
|
25
39
|
export * from "./state.js";
|
|
26
40
|
export * from "./principals.js";
|
|
41
|
+
export * from "./audience.js";
|
|
27
42
|
export { evalRunOptionsForRun, validateEvalRunOptions, type EvalRunOptions, type EvalToolStubSpec } from "./eval-run-options.js";
|
|
28
|
-
export { InMemoryConversationStore, InMemoryConversationTurnStore, InMemoryFileIndexStore, InMemoryMemoryStateStore, InMemoryRunStore, InMemorySandboxSessionStore, InMemoryScheduleStateStore, InMemoryUsageStore, composeStateStores, normalizeRuntimeState, type NormalizedRuntimeState } from "./state-stores.js";
|
|
43
|
+
export { InMemoryConversationStore, InMemoryConversationTurnStore, InMemoryFileIndexStore, InMemoryMemoryStateStore, InMemoryRunStore, InMemorySandboxSessionStore, InMemoryScheduleStateStore, InMemoryUsageStore, InMemoryWorkspaceStore, composeStateStores, normalizeMemoryPath, normalizeRuntimeState, type NormalizedRuntimeState } from "./state-stores.js";
|
|
44
|
+
export * from "./workspace.js";
|
|
29
45
|
export { applyDeliveryPatch, createDeliveryRecord, deliveryQueueRetryDelayMs, isDeliveryDue, normalizeDeliveryRecord, stateSupportsDeliveryQueue, type DeliveryExecutionResult, type DeliveryFailureInput, type DeliveryLeaseOptions, type DeliveryObligationInput, type DeliveryObligationPatch } from "./delivery-queue.js";
|
|
30
46
|
export { defaultRunStaleAfterMs, type BackgroundWorkerOptions, type BackgroundWorkersController, type RunRecoveryOptions } from "./run-recovery.js";
|
|
31
47
|
export { BoundedSemaphore, RunCapacityError, retryAfterSeconds, type BoundedSemaphoreOptions, type SemaphoreAdmission } from "./concurrency.js";
|
|
32
48
|
export type { CheckpointRetentionPolicy } from "./checkpoints.js";
|
|
33
|
-
export type { AgentHarness, AgentHarnessContext, AgentHarnessEvent, AgentTurnInput, AgentTurnResult, HarnessContinuation, HarnessToolDescriptor, HarnessToolOutcome } from "@assemblyline-agents/core";
|
|
34
|
-
export { FileConnectionAuthorizationSessionStore, FileConnectionGrantStore, InMemoryConnectionAuthorizationSessionStore, InMemoryConnectionGrantStore, RuntimeConnectionRegistry, connectionToolAccess, type ConnectionAuthorizationSessionRecord, type ConnectionAuthorizationSessionStore, type ConnectionCredentialMaterialization, type MaterializedConnectionCredential, type ConnectionGrantStore, type StoredConnectionGrant } from "./connections.js";
|
|
35
|
-
export { FileConnectionDefinitionStore, FileScheduleStore, FileSkillStore, InMemoryConnectionDefinitionStore, InMemoryScheduleStore, InMemorySkillStore, computeNextRun, resolveSkillsConfig, resolveSchedulesConfig, resolveConnectionsConfig, type ConnectionDefinitionStore, type CreateDynamicScheduleInput, type DynamicScheduleRecord, type ScheduleStore, type SkillStore, type StoredConnectionDefinition, type StoredSkill } from "./self-improvement.js";
|
|
36
|
-
export { FileLearningStore, InMemoryLearningStore, type BackgroundReviewJobRecord, type LearningStore, type PendingSkillChangeRecord, type SkillRevisionRecord } from "./learning-store.js";
|
|
37
|
-
export { LocalSandboxAdapter } from "./local-sandbox.js";
|
|
38
|
-
export { FileMemoryStore, FileStateAdapter, InMemoryMemoryStore, InMemoryStateAdapter, LocalBlobAdapter, StateMemoryStore } from "./storage.js";
|
|
39
|
-
export { gatewaySchedulerAdapter, localSchedulerAdapter, postgresSchedulerAdapter, schedulerAdapterForKind, type RuntimeSchedulerController, type SchedulerAdapter } from "./scheduler.js";
|
|
40
|
-
export { createOpenTelemetrySink, type OpenTelemetrySpanExporter, type TelemetrySink, type TelemetrySpan } from "./telemetry.js";
|
|
41
|
-
export { createJsonConsoleLogger, noopLogger, normalizeLogLevel, type LogLevel, type RuntimeLogger } from "./logging.js";
|
|
42
|
-
export { capabilityCatalogForManifest, capabilityForModel, capabilityMatchesId, connectionSearchResultForModel, normalizeCapabilityKind, normalizeCapabilityRouterInput, normalizeDeferredToolSearchInput, routerShouldSearchConnections, scoreCapability, searchCapabilityCatalog, tokenizeCapabilityQuery, type CapabilityRouterInput } from "./capability-catalog.js";
|
|
43
|
-
export { fetchJson, fetchWithPolicy, readBodyCapped, retryAfterMs, HttpResponseTooLargeError, type HttpJsonResult, type HttpRequestPolicy } from "./http.js";
|
|
44
|
-
export { buildDefaultContextBundle, hydrateSandboxFilesystem, syncSandboxFilesystem, visibleToolsForSkills } from "./sandbox-fs.js";
|
|
45
|
-
export { queryAgentRuns, type AgentRunsQueryResult } from "./runs-query.js";
|
|
46
|
-
export { UsageAccountingError, createUsageRecord, matchesUsageQuery, microsToUsd, queryUsageRecords, reconcileUsageRecord, sha256Json, summarizeUsageRecords, usageTokensAreAuthoritative, usageRecordInput, usdToMicros } from "./usage-records.js";
|
|
47
|
-
export { reconcileOpenAIOrganization, reconcileOpenRouterUsage, usageReconciliationReport, type OpenAIOrganizationReconciliationOptions, type OpenRouterReconciliationOptions, type ProviderReconciliationResult, type UsageReconciliationReport } from "./usage-reconciliation.js";
|
|
48
|
-
export { currentModulePath, durableAgentScopeForManifest } from "./runtime-util.js";
|
|
49
49
|
import type { BlobAdapter, ConnectionAuthorizationCallbackResult, DynamicConnectionGrantInput, MemoryDocumentBackfillResult, MemoryEmbeddingBackfillResult, MemoryStore, ResolvedResourceProjectionPolicy, RunAgentOptions, RunAgentResult, RuntimeOptions, SandboxAdapter, AutomationEventDispatchResult, ScheduleExecutionResult } from "./runtime-types.js";
|
|
50
|
-
export
|
|
51
|
-
export { loadRuntimeBundle } from "./runtime-bundle.js";
|
|
52
|
-
export declare class AssemblyLineRuntime {
|
|
50
|
+
export declare class AssemblyLineRuntime extends WorkspaceRuntimeMethods {
|
|
53
51
|
readonly manifest: AgentManifest;
|
|
54
52
|
readonly state: ResolvedStateAdapter;
|
|
55
53
|
private readonly runEventBus;
|
|
@@ -59,6 +57,7 @@ export declare class AssemblyLineRuntime {
|
|
|
59
57
|
readonly blob: BlobAdapter;
|
|
60
58
|
readonly sandbox: SandboxAdapter;
|
|
61
59
|
readonly scheduler: SchedulerAdapter;
|
|
60
|
+
readonly mediaProcessors: MediaProcessor[];
|
|
62
61
|
readonly deliveryMode: "send" | "record-only";
|
|
63
62
|
private readonly toolStubs;
|
|
64
63
|
/** Per-run {results:[...]} stub cursors; in-memory by design (see eval-run-options.ts). */
|
|
@@ -76,9 +75,11 @@ export declare class AssemblyLineRuntime {
|
|
|
76
75
|
readonly connections: Record<string, unknown>;
|
|
77
76
|
readonly env: Record<string, string | undefined>;
|
|
78
77
|
readonly fetch: typeof fetch;
|
|
78
|
+
readonly attachmentHostResolver: import("./outbound-http-policy.js").AttachmentHostResolver | undefined;
|
|
79
79
|
readonly logger: RuntimeLogger;
|
|
80
80
|
readonly connectionGrantStore: ConnectionGrantStore;
|
|
81
81
|
readonly connectionAuthorizationSessionStore: ConnectionAuthorizationSessionStore;
|
|
82
|
+
readonly connectionEventStore: ConnectionEventStore;
|
|
82
83
|
readonly connectionCallbackBaseUrl: string | undefined;
|
|
83
84
|
readonly skillStore: SkillStore;
|
|
84
85
|
readonly learningStore: LearningStore;
|
|
@@ -123,9 +124,13 @@ export declare class AssemblyLineRuntime {
|
|
|
123
124
|
private readonly hostInstrumentationProvided;
|
|
124
125
|
private instrumentationConfig;
|
|
125
126
|
private readonly sourceLoader;
|
|
127
|
+
readonly skillBundleIndex: SkillBundleIndex;
|
|
128
|
+
readonly skillResourceReader: SkillResourceReader;
|
|
126
129
|
private contextPolicyPromise;
|
|
127
130
|
/** Fast local view of durable control intents, refreshed by run heartbeats. */
|
|
128
131
|
private readonly runControlIntents;
|
|
132
|
+
/** Runs currently owned by this process, used to route immediate control signals without leaking orphan ids. */
|
|
133
|
+
private readonly activeRunExecutions;
|
|
129
134
|
/** Deadline-fired runs (read by shouldStopRun) + their in-flight abort controllers. */
|
|
130
135
|
private readonly runDeadlines;
|
|
131
136
|
private readonly runAbortControllers;
|
|
@@ -142,37 +147,42 @@ export declare class AssemblyLineRuntime {
|
|
|
142
147
|
private hydrateCheckpointData;
|
|
143
148
|
private logDevProviderIngressSecurity;
|
|
144
149
|
private skillScope;
|
|
150
|
+
private skillScopeForSurface;
|
|
151
|
+
private skillScopeForRun;
|
|
152
|
+
private skillsConfigForSurface;
|
|
153
|
+
private skillsConfigForRun;
|
|
154
|
+
private anySkillsEnabled;
|
|
145
155
|
private connectionScope;
|
|
146
156
|
private durableAgentScope;
|
|
147
157
|
private usesRevisionScopedDurableState;
|
|
148
158
|
private scheduleScopeForRun;
|
|
149
159
|
/** Seed the durable skill store from compiled manifest skills (idempotent). */
|
|
150
|
-
ensureSkillsSeeded(): Promise<void>;
|
|
160
|
+
ensureSkillsSeeded(surfacePath?: string): Promise<void>;
|
|
151
161
|
private migrateLegacyConnectionScope;
|
|
152
162
|
/** Live skill catalog (durable store, post-seed) for context assembly and inspection. */
|
|
153
|
-
listSkills(): Promise<{
|
|
163
|
+
listSkills(surfacePath?: string): Promise<{
|
|
154
164
|
name: string;
|
|
155
165
|
description: string;
|
|
156
166
|
origin: string;
|
|
157
167
|
pending: boolean;
|
|
158
168
|
}[]>;
|
|
159
169
|
/** Persist an agent/user authored skill, honoring the write-approval gate. */
|
|
160
|
-
saveSkill(input: RuntimeSkillWriteInput): Promise<{
|
|
170
|
+
saveSkill(input: RuntimeSkillWriteInput, surfacePath?: string): Promise<{
|
|
161
171
|
name: string;
|
|
162
172
|
pending: boolean;
|
|
163
173
|
}>;
|
|
164
|
-
deleteSkill(name: string): Promise<void>;
|
|
165
|
-
listSkillRevisions(name: string): Promise<import("./learning-store.js").SkillRevisionRecord[]>;
|
|
166
|
-
restoreSkillRevision(name: string, revision: number): Promise<{
|
|
174
|
+
deleteSkill(name: string, surfacePath?: string): Promise<void>;
|
|
175
|
+
listSkillRevisions(name: string, surfacePath?: string): Promise<import("./learning-store.js").SkillRevisionRecord[]>;
|
|
176
|
+
restoreSkillRevision(name: string, revision: number, surfacePath?: string): Promise<{
|
|
167
177
|
name: string;
|
|
168
178
|
pending: boolean;
|
|
169
179
|
}>;
|
|
170
|
-
listPendingSkillChanges(): Promise<import("./learning-store.js").PendingSkillChangeRecord[]>;
|
|
171
|
-
approveSkillChange(id: string): Promise<{
|
|
180
|
+
listPendingSkillChanges(surfacePath?: string): Promise<import("./learning-store.js").PendingSkillChangeRecord[]>;
|
|
181
|
+
approveSkillChange(id: string, surfacePath?: string): Promise<{
|
|
172
182
|
name: string;
|
|
173
183
|
action: string;
|
|
174
184
|
}>;
|
|
175
|
-
rejectSkillChange(id: string): Promise<void>;
|
|
185
|
+
rejectSkillChange(id: string, surfacePath?: string): Promise<void>;
|
|
176
186
|
recordRunFeedback(runId: string, feedback: {
|
|
177
187
|
rating: "positive" | "negative";
|
|
178
188
|
comment?: string;
|
|
@@ -180,7 +190,7 @@ export declare class AssemblyLineRuntime {
|
|
|
180
190
|
jobId: string;
|
|
181
191
|
status: string;
|
|
182
192
|
}>;
|
|
183
|
-
listBackgroundReviews(): Promise<import("./learning-store.js").BackgroundReviewJobRecord[]>;
|
|
193
|
+
listBackgroundReviews(surfacePath?: string): Promise<import("./learning-store.js").BackgroundReviewJobRecord[]>;
|
|
184
194
|
runDueBackgroundReviews(options?: {
|
|
185
195
|
now?: Date;
|
|
186
196
|
limit?: number;
|
|
@@ -270,7 +280,6 @@ export declare class AssemblyLineRuntime {
|
|
|
270
280
|
private buildContextBundle;
|
|
271
281
|
private harnessLoopHost;
|
|
272
282
|
private resolveAgentHarness;
|
|
273
|
-
private piHarness;
|
|
274
283
|
private runHarnessLoop;
|
|
275
284
|
/** Load the conversation's stored transcript for resume, or undefined when disabled/absent. */
|
|
276
285
|
private loadConversationTranscript;
|
|
@@ -282,6 +291,10 @@ export declare class AssemblyLineRuntime {
|
|
|
282
291
|
startChannelIngress(): Promise<RuntimeChannelIngressController | undefined>;
|
|
283
292
|
private replayResumeHost;
|
|
284
293
|
replay(runId: string): Promise<RunTimeline>;
|
|
294
|
+
/** Start a new, isolated run from a terminal run's verified durable input snapshot. */
|
|
295
|
+
rerun(runId: string, lifecycle?: {
|
|
296
|
+
onRunCreated?: RunAgentOptions["onRunCreated"];
|
|
297
|
+
}): Promise<RunAgentResult>;
|
|
285
298
|
/** Resumes never consume run capacity (deadlock risk); they only count toward `onIdle()`. */
|
|
286
299
|
resumeApproval(runId: string): Promise<RunAgentResult>;
|
|
287
300
|
private resumeApprovalNow;
|
|
@@ -309,6 +322,31 @@ export declare class AssemblyLineRuntime {
|
|
|
309
322
|
status: "unavailable";
|
|
310
323
|
reason: string;
|
|
311
324
|
}>;
|
|
325
|
+
private connectionEventsHost;
|
|
326
|
+
reconcileConnectionEvents(options?: {
|
|
327
|
+
connection?: string;
|
|
328
|
+
principal?: import("@assemblyline-agents/core").ConnectionPrincipal;
|
|
329
|
+
force?: boolean;
|
|
330
|
+
publicUrl?: string;
|
|
331
|
+
}): Promise<ConnectionEventWireResult[]>;
|
|
332
|
+
checkConnectionEvents(connection?: string): Promise<ConnectionEventWireResult[]>;
|
|
333
|
+
acceptConnectionEvent(connectionName: string, bindingId: string, request: import("@assemblyline-agents/core").ConnectionEventRequest): Promise<ConnectionEventIngressResponse>;
|
|
334
|
+
runDueConnectionEvents(options?: {
|
|
335
|
+
now?: Date;
|
|
336
|
+
limit?: number;
|
|
337
|
+
leaseForMs?: number;
|
|
338
|
+
}): Promise<{
|
|
339
|
+
id: string;
|
|
340
|
+
status: "completed" | "retrying" | "failed";
|
|
341
|
+
error?: string;
|
|
342
|
+
}[]>;
|
|
343
|
+
startConnectionEventWorker(options?: {
|
|
344
|
+
intervalMs?: number;
|
|
345
|
+
batchSize?: number;
|
|
346
|
+
leaseForMs?: number;
|
|
347
|
+
}): {
|
|
348
|
+
stop(): void;
|
|
349
|
+
};
|
|
312
350
|
/** Resumes never consume run capacity (deadlock risk); they only count toward `onIdle()`. */
|
|
313
351
|
resumeInput(runId: string, answer: string): Promise<RunAgentResult>;
|
|
314
352
|
private resumeInputNow;
|
|
@@ -393,7 +431,6 @@ export declare class AssemblyLineRuntime {
|
|
|
393
431
|
private deliverySendHost;
|
|
394
432
|
private completeRun;
|
|
395
433
|
private latestRunFailureMessage;
|
|
396
|
-
private enqueueSandboxSyncAfterDelivery;
|
|
397
434
|
private sandboxSyncWorkerHost;
|
|
398
435
|
sandboxSyncDiagnostics(options?: {
|
|
399
436
|
runId?: string;
|
|
@@ -462,6 +499,7 @@ export declare class AssemblyLineRuntime {
|
|
|
462
499
|
private readResourceForRun;
|
|
463
500
|
private projectResourcesForRun;
|
|
464
501
|
private projectSkillIntoSandbox;
|
|
502
|
+
private projectLoadedSkillsIntoSandbox;
|
|
465
503
|
private hydrateLogicalPathForTool;
|
|
466
504
|
private recordSandboxTombstone;
|
|
467
505
|
private readSandboxTombstonesWithMissingProjectedFiles;
|
|
@@ -478,11 +516,10 @@ export declare class AssemblyLineRuntime {
|
|
|
478
516
|
private handleRuntimeEvent;
|
|
479
517
|
private createAgentHookController;
|
|
480
518
|
private createSubagentHookController;
|
|
519
|
+
private disabledToolsForRun;
|
|
481
520
|
private agentStateForRun;
|
|
482
521
|
private ensureAgentHookController;
|
|
483
|
-
private resolvedInstructionsForRun;
|
|
484
522
|
private loadTool;
|
|
485
|
-
private loadInstrumentationModule;
|
|
486
523
|
private result;
|
|
487
524
|
}
|
|
488
525
|
export interface RunTimeline {
|