@n8n/instance-ai 1.4.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/computer-use-prompt.d.ts +5 -0
- package/dist/agent/computer-use-prompt.js +97 -0
- package/dist/agent/computer-use-prompt.js.map +1 -0
- package/dist/agent/instance-agent.js +48 -73
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/mcp-tool-name-validation.d.ts +15 -0
- package/dist/agent/mcp-tool-name-validation.js +67 -0
- package/dist/agent/mcp-tool-name-validation.js.map +1 -0
- package/dist/agent/sanitize-mcp-schemas.d.ts +56 -2
- package/dist/agent/sanitize-mcp-schemas.js +226 -19
- package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
- package/dist/agent/sub-agent-debriefing.d.ts +2 -2
- package/dist/agent/sub-agent-factory.d.ts +1 -0
- package/dist/agent/sub-agent-factory.js +1 -0
- package/dist/agent/sub-agent-factory.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/system-prompt.js +46 -104
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/constants/model-settings.d.ts +3 -0
- package/dist/constants/model-settings.js +7 -0
- package/dist/constants/model-settings.js.map +1 -0
- package/dist/domain-access/domain-access-tracker.d.ts +3 -0
- package/dist/domain-access/domain-access-tracker.js +16 -0
- package/dist/domain-access/domain-access-tracker.js.map +1 -1
- package/dist/domain-access/domain-gating.d.ts +35 -6
- package/dist/domain-access/domain-gating.js +47 -1
- package/dist/domain-access/domain-gating.js.map +1 -1
- package/dist/domain-access/index.d.ts +1 -1
- package/dist/domain-access/index.js +3 -1
- package/dist/domain-access/index.js.map +1 -1
- package/dist/index.d.ts +14 -6
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +6 -0
- package/dist/mcp/mcp-client-manager.d.ts +18 -2
- package/dist/mcp/mcp-client-manager.js +124 -20
- package/dist/mcp/mcp-client-manager.js.map +1 -1
- package/dist/parsers/docx-parser.d.ts +6 -0
- package/dist/parsers/docx-parser.js +65 -0
- package/dist/parsers/docx-parser.js.map +1 -0
- package/dist/parsers/html-parser.d.ts +7 -0
- package/dist/parsers/html-parser.js +67 -0
- package/dist/parsers/html-parser.js.map +1 -0
- package/dist/parsers/index.d.ts +4 -0
- package/dist/parsers/index.js +16 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/pdf-parser.d.ts +7 -0
- package/dist/parsers/pdf-parser.js +72 -0
- package/dist/parsers/pdf-parser.js.map +1 -0
- package/dist/parsers/structured-file-parser.d.ts +8 -3
- package/dist/parsers/structured-file-parser.js +36 -4
- package/dist/parsers/structured-file-parser.js.map +1 -1
- package/dist/parsers/validate-attachments.d.ts +14 -0
- package/dist/parsers/validate-attachments.js +61 -0
- package/dist/parsers/validate-attachments.js.map +1 -0
- package/dist/parsers/xlsx-parser.d.ts +2 -0
- package/dist/parsers/xlsx-parser.js +75 -0
- package/dist/parsers/xlsx-parser.js.map +1 -0
- package/dist/planned-tasks/planned-task-permissions.d.ts +2 -0
- package/dist/planned-tasks/planned-task-permissions.js +8 -2
- package/dist/planned-tasks/planned-task-permissions.js.map +1 -1
- package/dist/planned-tasks/planned-task-service.d.ts +14 -1
- package/dist/planned-tasks/planned-task-service.js +138 -2
- package/dist/planned-tasks/planned-task-service.js.map +1 -1
- package/dist/runtime/background-task-manager.d.ts +32 -1
- package/dist/runtime/background-task-manager.js +134 -4
- package/dist/runtime/background-task-manager.js.map +1 -1
- package/dist/runtime/builder-sandbox-session-registry.d.ts +45 -0
- package/dist/runtime/builder-sandbox-session-registry.js +159 -0
- package/dist/runtime/builder-sandbox-session-registry.js.map +1 -0
- package/dist/runtime/liveness-policy.d.ts +40 -0
- package/dist/runtime/liveness-policy.js +74 -0
- package/dist/runtime/liveness-policy.js.map +1 -0
- package/dist/runtime/resumable-stream-executor.d.ts +1 -0
- package/dist/runtime/resumable-stream-executor.js +1 -0
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +21 -5
- package/dist/runtime/run-state-registry.js +109 -7
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/runtime/stream-runner.d.ts +3 -0
- package/dist/runtime/stream-runner.js +3 -0
- package/dist/runtime/stream-runner.js.map +1 -1
- package/dist/runtime/terminal-response-guard.d.ts +30 -0
- package/dist/runtime/terminal-response-guard.js +149 -0
- package/dist/runtime/terminal-response-guard.js.map +1 -0
- package/dist/storage/agent-tree-snapshot.d.ts +2 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.js +3 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/planned-task-storage.js +2 -1
- package/dist/storage/planned-task-storage.js.map +1 -1
- package/dist/storage/terminal-outcome-storage.d.ts +48 -0
- package/dist/storage/terminal-outcome-storage.js +84 -0
- package/dist/storage/terminal-outcome-storage.js.map +1 -0
- package/dist/storage/workflow-loop-storage.d.ts +442 -16
- package/dist/stream/consume-with-hitl.d.ts +2 -0
- package/dist/stream/consume-with-hitl.js +2 -0
- package/dist/stream/consume-with-hitl.js.map +1 -1
- package/dist/stream/map-chunk.js +6 -0
- package/dist/stream/map-chunk.js.map +1 -1
- package/dist/tools/attachments/parse-file.tool.d.ts +46 -34
- package/dist/tools/attachments/parse-file.tool.js +115 -56
- package/dist/tools/attachments/parse-file.tool.js.map +1 -1
- package/dist/tools/credentials.tool.d.ts +120 -1
- package/dist/tools/credentials.tool.js +65 -12
- package/dist/tools/credentials.tool.js.map +1 -1
- package/dist/tools/data-tables.tool.d.ts +1 -0
- package/dist/tools/data-tables.tool.js +64 -24
- package/dist/tools/data-tables.tool.js.map +1 -1
- package/dist/tools/executions.tool.js +4 -1
- package/dist/tools/executions.tool.js.map +1 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.d.ts +2 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +74 -5
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/index.d.ts +4 -24
- package/dist/tools/index.js +23 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/nodes.tool.js +15 -15
- package/dist/tools/nodes.tool.js.map +1 -1
- package/dist/tools/orchestration/add-plan-item.tool.js +3 -1
- package/dist/tools/orchestration/add-plan-item.tool.js.map +1 -1
- package/dist/tools/orchestration/blueprint-accumulator.d.ts +4 -1
- package/dist/tools/orchestration/blueprint-accumulator.js +28 -0
- package/dist/tools/orchestration/blueprint-accumulator.js.map +1 -1
- package/dist/tools/orchestration/blueprint.schema.d.ts +61 -16
- package/dist/tools/orchestration/blueprint.schema.js +15 -1
- package/dist/tools/orchestration/blueprint.schema.js.map +1 -1
- package/dist/tools/orchestration/browser-credential-setup.nudge.d.ts +5 -0
- package/dist/tools/orchestration/browser-credential-setup.nudge.js +11 -0
- package/dist/tools/orchestration/browser-credential-setup.nudge.js.map +1 -0
- package/dist/tools/orchestration/browser-credential-setup.prompt.js +2 -1
- package/dist/tools/orchestration/browser-credential-setup.prompt.js.map +1 -1
- package/dist/tools/orchestration/browser-credential-setup.tool.js +55 -7
- package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -1
- package/dist/tools/orchestration/build-workflow-agent.prompt.js +86 -60
- package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
- package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +56 -3
- package/dist/tools/orchestration/build-workflow-agent.tool.js +1020 -300
- package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/builder-memory-compaction.d.ts +38 -0
- package/dist/tools/orchestration/builder-memory-compaction.js +146 -0
- package/dist/tools/orchestration/builder-memory-compaction.js.map +1 -0
- package/dist/tools/orchestration/complete-checkpoint.tool.d.ts +2 -0
- package/dist/tools/orchestration/complete-checkpoint.tool.js +76 -0
- package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -0
- package/dist/tools/orchestration/data-table-agent.tool.js +34 -17
- package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/delegate.tool.js +34 -16
- package/dist/tools/orchestration/delegate.tool.js.map +1 -1
- package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
- package/dist/tools/orchestration/plan-agent-prompt.js +7 -0
- package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -1
- package/dist/tools/orchestration/plan-with-agent.tool.d.ts +23 -0
- package/dist/tools/orchestration/plan-with-agent.tool.js +314 -13
- package/dist/tools/orchestration/plan-with-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/plan.tool.js +17 -1
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +40 -2
- package/dist/tools/orchestration/report-verification-verdict.tool.js +85 -6
- package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
- package/dist/tools/orchestration/research-with-agent.tool.js +33 -16
- package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/tracing-utils.js +8 -0
- package/dist/tools/orchestration/tracing-utils.js.map +1 -1
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +8 -2
- package/dist/tools/orchestration/verify-built-workflow.tool.js +476 -6
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
- package/dist/tools/research.tool.js +56 -10
- package/dist/tools/research.tool.js.map +1 -1
- package/dist/tools/shared/ask-user.tool.d.ts +1 -0
- package/dist/tools/shared/ask-user.tool.js +3 -2
- package/dist/tools/shared/ask-user.tool.js.map +1 -1
- package/dist/tools/templates.tool.js +5 -90
- package/dist/tools/templates.tool.js.map +1 -1
- package/dist/tools/web-research/sanitize-web-content.d.ts +0 -1
- package/dist/tools/web-research/sanitize-web-content.js +0 -9
- package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
- package/dist/tools/workflows/apply-workflow-credentials.tool.d.ts +2 -2
- package/dist/tools/workflows/build-workflow.tool.d.ts +2 -2
- package/dist/tools/workflows/build-workflow.tool.js +6 -4
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/materialize-node-type.tool.d.ts +8 -8
- package/dist/tools/workflows/resolve-credentials.d.ts +9 -4
- package/dist/tools/workflows/resolve-credentials.js +59 -27
- package/dist/tools/workflows/resolve-credentials.js.map +1 -1
- package/dist/tools/workflows/setup-workflow.schema.d.ts +40 -0
- package/dist/tools/workflows/setup-workflow.service.d.ts +5 -1
- package/dist/tools/workflows/setup-workflow.service.js +71 -5
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
- package/dist/tools/workflows/submit-workflow-identity.d.ts +25 -3
- package/dist/tools/workflows/submit-workflow-identity.js +92 -5
- package/dist/tools/workflows/submit-workflow-identity.js.map +1 -1
- package/dist/tools/workflows/submit-workflow.tool.d.ts +60 -6
- package/dist/tools/workflows/submit-workflow.tool.js +102 -19
- package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
- package/dist/tools/workflows/workflow-json-utils.d.ts +4 -0
- package/dist/tools/workflows/workflow-json-utils.js +54 -0
- package/dist/tools/workflows/workflow-json-utils.js.map +1 -0
- package/dist/tools/workflows.tool.d.ts +7 -1
- package/dist/tools/workflows.tool.js +283 -54
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +2 -0
- package/dist/tracing/langsmith-tracing.js +12 -3
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/tracing/trace-replay.d.ts +3 -0
- package/dist/tracing/trace-replay.js +65 -0
- package/dist/tracing/trace-replay.js.map +1 -1
- package/dist/types.d.ts +92 -16
- package/dist/workflow-builder/parse-validate.d.ts +5 -1
- package/dist/workflow-builder/parse-validate.js +5 -4
- package/dist/workflow-builder/parse-validate.js.map +1 -1
- package/dist/workflow-loop/guidance.js +8 -2
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workflow-loop/index.d.ts +3 -2
- package/dist/workflow-loop/index.js +11 -1
- package/dist/workflow-loop/index.js.map +1 -1
- package/dist/workflow-loop/remediation.d.ts +13 -0
- package/dist/workflow-loop/remediation.js +36 -0
- package/dist/workflow-loop/remediation.js.map +1 -0
- package/dist/workflow-loop/runtime.js +7 -0
- package/dist/workflow-loop/runtime.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-controller.d.ts +1 -1
- package/dist/workflow-loop/workflow-loop-controller.js +196 -29
- package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
- package/dist/workflow-loop/workflow-loop-state.d.ts +500 -10
- package/dist/workflow-loop/workflow-loop-state.js +74 -1
- package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
- package/dist/workflow-loop/workflow-task-service.d.ts +2 -1
- package/dist/workflow-loop/workflow-task-service.js +4 -0
- package/dist/workflow-loop/workflow-task-service.js.map +1 -1
- package/dist/workspace/builder-sandbox-factory.d.ts +3 -4
- package/dist/workspace/builder-sandbox-factory.js +74 -35
- package/dist/workspace/builder-sandbox-factory.js.map +1 -1
- package/dist/workspace/create-workspace.d.ts +2 -0
- package/dist/workspace/create-workspace.js.map +1 -1
- package/dist/workspace/n8n-sandbox-filesystem.js +2 -2
- package/dist/workspace/n8n-sandbox-filesystem.js.map +1 -1
- package/dist/workspace/n8n-sandbox-sandbox.d.ts +2 -3
- package/dist/workspace/n8n-sandbox-sandbox.js +3 -7
- package/dist/workspace/n8n-sandbox-sandbox.js.map +1 -1
- package/dist/workspace/sandbox-setup.d.ts +1 -1
- package/dist/workspace/sandbox-setup.js +41 -16
- package/dist/workspace/sandbox-setup.js.map +1 -1
- package/dist/workspace/snapshot-manager.d.ts +14 -2
- package/dist/workspace/snapshot-manager.js +57 -1
- package/dist/workspace/snapshot-manager.js.map +1 -1
- package/package.json +35 -10
- package/dist/tools/templates/template-api.d.ts +0 -21
- package/dist/tools/templates/template-api.js +0 -104
- package/dist/tools/templates/template-api.js.map +0 -1
- package/dist/tools/templates/types.d.ts +0 -52
- package/dist/tools/templates/types.js +0 -37
- package/dist/tools/templates/types.js.map +0 -1
- package/dist/tools/utils/mermaid.utils.d.ts +0 -15
- package/dist/tools/utils/mermaid.utils.js +0 -622
- package/dist/tools/utils/mermaid.utils.js.map +0 -1
- package/dist/tools/utils/node-configuration.utils.d.ts +0 -6
- package/dist/tools/utils/node-configuration.utils.js +0 -77
- package/dist/tools/utils/node-configuration.utils.js.map +0 -1
- package/dist/workspace/n8n-sandbox-client.d.ts +0 -105
- package/dist/workspace/n8n-sandbox-client.js +0 -335
- package/dist/workspace/n8n-sandbox-client.js.map +0 -1
- package/dist/workspace/n8n-sandbox-image-manager.d.ts +0 -5
- package/dist/workspace/n8n-sandbox-image-manager.js +0 -25
- package/dist/workspace/n8n-sandbox-image-manager.js.map +0 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { InstanceAiThreadStatusResponse } from '@n8n/api-types';
|
|
2
2
|
import type { InstanceAiTraceContext } from '../types';
|
|
3
|
+
import type { InstanceAiLivenessPolicy } from './liveness-policy';
|
|
3
4
|
export interface ActiveRunState {
|
|
4
5
|
runId: string;
|
|
5
6
|
abortController: AbortController;
|
|
6
7
|
messageGroupId?: string;
|
|
7
8
|
tracing?: InstanceAiTraceContext;
|
|
9
|
+
startedAt?: number;
|
|
10
|
+
lastActivityAt?: number;
|
|
8
11
|
}
|
|
9
12
|
export interface SuspendedRunState<TUser = unknown> extends ActiveRunState {
|
|
10
13
|
mastraRunId: string;
|
|
@@ -14,15 +17,15 @@ export interface SuspendedRunState<TUser = unknown> extends ActiveRunState {
|
|
|
14
17
|
toolCallId: string;
|
|
15
18
|
requestId: string;
|
|
16
19
|
createdAt: number;
|
|
20
|
+
checkpoint?: {
|
|
21
|
+
isCheckpointFollowUp: true;
|
|
22
|
+
checkpointTaskId: string;
|
|
23
|
+
};
|
|
17
24
|
}
|
|
18
25
|
export interface ConfirmationData {
|
|
19
26
|
approved: boolean;
|
|
20
|
-
credentialId?: string;
|
|
21
27
|
credentials?: Record<string, string>;
|
|
22
28
|
nodeCredentials?: Record<string, Record<string, string>>;
|
|
23
|
-
autoSetup?: {
|
|
24
|
-
credentialType: string;
|
|
25
|
-
};
|
|
26
29
|
userInput?: string;
|
|
27
30
|
domainAccessAction?: string;
|
|
28
31
|
action?: 'apply' | 'test-trigger';
|
|
@@ -41,6 +44,8 @@ export interface PendingConfirmation {
|
|
|
41
44
|
threadId: string;
|
|
42
45
|
userId: string;
|
|
43
46
|
createdAt: number;
|
|
47
|
+
startedAt?: number;
|
|
48
|
+
lastActivityAt?: number;
|
|
44
49
|
}
|
|
45
50
|
export interface BackgroundTaskStatusSnapshot {
|
|
46
51
|
taskId: string;
|
|
@@ -69,6 +74,7 @@ export declare class RunStateRegistry<TUser = unknown> {
|
|
|
69
74
|
private readonly threadResearchMode;
|
|
70
75
|
private readonly threadMessageGroupId;
|
|
71
76
|
private readonly runIdsByMessageGroup;
|
|
77
|
+
private readonly threadTimeZones;
|
|
72
78
|
startRun(options: StartRunOptions<TUser>): StartedRunState;
|
|
73
79
|
getThreadStatus(threadId: string, backgroundTasks: BackgroundTaskStatusSnapshot[]): InstanceAiThreadStatusResponse;
|
|
74
80
|
hasLiveRun(threadId: string): boolean;
|
|
@@ -82,10 +88,17 @@ export declare class RunStateRegistry<TUser = unknown> {
|
|
|
82
88
|
getSuspendedRun(threadId: string): SuspendedRunState<TUser> | undefined;
|
|
83
89
|
attachTracing(threadId: string, tracing: InstanceAiTraceContext): void;
|
|
84
90
|
clearActiveRun(threadId: string): void;
|
|
91
|
+
cancelActiveRun(threadId: string): ActiveRunState | undefined;
|
|
85
92
|
suspendRun(threadId: string, state: SuspendedRunState<TUser>): void;
|
|
86
93
|
findSuspendedByRequestId(requestId: string): SuspendedRunState<TUser> | undefined;
|
|
94
|
+
cancelSuspendedRun(threadId: string): SuspendedRunState<TUser> | undefined;
|
|
87
95
|
activateSuspendedRun(threadId: string): SuspendedRunState<TUser> | undefined;
|
|
88
96
|
registerPendingConfirmation(requestId: string, pending: PendingConfirmation): void;
|
|
97
|
+
getPendingConfirmation(requestId: string): PendingConfirmation | undefined;
|
|
98
|
+
hasPendingConfirmationForThread(threadId: string): boolean;
|
|
99
|
+
touchActiveRun(threadId: string, at?: number): boolean;
|
|
100
|
+
touchSuspendedRun(threadId: string, at?: number): boolean;
|
|
101
|
+
touchPendingConfirmation(requestId: string, at?: number): boolean;
|
|
89
102
|
resolvePendingConfirmation(requestingUserId: string, requestId: string, data: ConfirmationData): boolean;
|
|
90
103
|
cancelThread(threadId: string, cancelledConfirmation?: ConfirmationData): {
|
|
91
104
|
active?: ActiveRunState;
|
|
@@ -93,7 +106,10 @@ export declare class RunStateRegistry<TUser = unknown> {
|
|
|
93
106
|
};
|
|
94
107
|
getThreadUser(threadId: string): TUser | undefined;
|
|
95
108
|
getThreadResearchMode(threadId: string): boolean | undefined;
|
|
96
|
-
|
|
109
|
+
setTimeZone(threadId: string, timeZone: string): void;
|
|
110
|
+
getTimeZone(threadId: string): string | undefined;
|
|
111
|
+
sweepTimedOut(policy: InstanceAiLivenessPolicy, now?: number): {
|
|
112
|
+
activeThreadIds: string[];
|
|
97
113
|
suspendedThreadIds: string[];
|
|
98
114
|
confirmationRequestIds: string[];
|
|
99
115
|
};
|
|
@@ -10,11 +10,19 @@ class RunStateRegistry {
|
|
|
10
10
|
threadResearchMode = new Map();
|
|
11
11
|
threadMessageGroupId = new Map();
|
|
12
12
|
runIdsByMessageGroup = new Map();
|
|
13
|
+
threadTimeZones = new Map();
|
|
13
14
|
startRun(options) {
|
|
14
15
|
const runId = `run_${(0, nanoid_1.nanoid)()}`;
|
|
15
16
|
const abortController = new AbortController();
|
|
16
17
|
const messageGroupId = options.messageGroupId ?? `mg_${(0, nanoid_1.nanoid)()}`;
|
|
17
|
-
|
|
18
|
+
const now = Date.now();
|
|
19
|
+
this.activeRuns.set(options.threadId, {
|
|
20
|
+
runId,
|
|
21
|
+
abortController,
|
|
22
|
+
messageGroupId,
|
|
23
|
+
startedAt: now,
|
|
24
|
+
lastActivityAt: now,
|
|
25
|
+
});
|
|
18
26
|
this.threadUsers.set(options.threadId, options.user);
|
|
19
27
|
if (options.researchMode !== undefined) {
|
|
20
28
|
this.threadResearchMode.set(options.threadId, options.researchMode);
|
|
@@ -96,8 +104,18 @@ class RunStateRegistry {
|
|
|
96
104
|
clearActiveRun(threadId) {
|
|
97
105
|
this.activeRuns.delete(threadId);
|
|
98
106
|
}
|
|
107
|
+
cancelActiveRun(threadId) {
|
|
108
|
+
const active = this.activeRuns.get(threadId);
|
|
109
|
+
if (!active)
|
|
110
|
+
return undefined;
|
|
111
|
+
this.activeRuns.delete(threadId);
|
|
112
|
+
return active;
|
|
113
|
+
}
|
|
99
114
|
suspendRun(threadId, state) {
|
|
115
|
+
const activeRun = this.activeRuns.get(threadId);
|
|
100
116
|
this.activeRuns.delete(threadId);
|
|
117
|
+
state.startedAt = state.startedAt ?? activeRun?.startedAt ?? state.createdAt;
|
|
118
|
+
state.lastActivityAt = state.lastActivityAt ?? state.createdAt;
|
|
101
119
|
this.suspendedRuns.set(threadId, state);
|
|
102
120
|
}
|
|
103
121
|
findSuspendedByRequestId(requestId) {
|
|
@@ -107,21 +125,66 @@ class RunStateRegistry {
|
|
|
107
125
|
}
|
|
108
126
|
return undefined;
|
|
109
127
|
}
|
|
128
|
+
cancelSuspendedRun(threadId) {
|
|
129
|
+
const suspended = this.suspendedRuns.get(threadId);
|
|
130
|
+
if (!suspended)
|
|
131
|
+
return undefined;
|
|
132
|
+
this.suspendedRuns.delete(threadId);
|
|
133
|
+
return suspended;
|
|
134
|
+
}
|
|
110
135
|
activateSuspendedRun(threadId) {
|
|
111
136
|
const suspended = this.suspendedRuns.get(threadId);
|
|
112
137
|
if (!suspended)
|
|
113
138
|
return undefined;
|
|
114
139
|
this.suspendedRuns.delete(threadId);
|
|
140
|
+
const now = Date.now();
|
|
115
141
|
this.activeRuns.set(threadId, {
|
|
116
142
|
runId: suspended.runId,
|
|
117
143
|
abortController: suspended.abortController,
|
|
118
144
|
messageGroupId: suspended.messageGroupId,
|
|
119
145
|
tracing: suspended.tracing,
|
|
146
|
+
startedAt: suspended.startedAt ?? suspended.createdAt,
|
|
147
|
+
lastActivityAt: now,
|
|
120
148
|
});
|
|
121
149
|
return suspended;
|
|
122
150
|
}
|
|
123
151
|
registerPendingConfirmation(requestId, pending) {
|
|
124
|
-
this.pendingConfirmations.set(requestId,
|
|
152
|
+
this.pendingConfirmations.set(requestId, {
|
|
153
|
+
...pending,
|
|
154
|
+
startedAt: pending.startedAt ?? pending.createdAt,
|
|
155
|
+
lastActivityAt: pending.lastActivityAt ?? pending.createdAt,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
getPendingConfirmation(requestId) {
|
|
159
|
+
return this.pendingConfirmations.get(requestId);
|
|
160
|
+
}
|
|
161
|
+
hasPendingConfirmationForThread(threadId) {
|
|
162
|
+
for (const pending of this.pendingConfirmations.values()) {
|
|
163
|
+
if (pending.threadId === threadId)
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
touchActiveRun(threadId, at = Date.now()) {
|
|
169
|
+
const active = this.activeRuns.get(threadId);
|
|
170
|
+
if (!active)
|
|
171
|
+
return false;
|
|
172
|
+
active.lastActivityAt = at;
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
touchSuspendedRun(threadId, at = Date.now()) {
|
|
176
|
+
const suspended = this.suspendedRuns.get(threadId);
|
|
177
|
+
if (!suspended)
|
|
178
|
+
return false;
|
|
179
|
+
suspended.lastActivityAt = at;
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
touchPendingConfirmation(requestId, at = Date.now()) {
|
|
183
|
+
const pending = this.pendingConfirmations.get(requestId);
|
|
184
|
+
if (!pending)
|
|
185
|
+
return false;
|
|
186
|
+
pending.lastActivityAt = at;
|
|
187
|
+
return true;
|
|
125
188
|
}
|
|
126
189
|
resolvePendingConfirmation(requestingUserId, requestId, data) {
|
|
127
190
|
const pending = this.pendingConfirmations.get(requestId);
|
|
@@ -151,21 +214,58 @@ class RunStateRegistry {
|
|
|
151
214
|
getThreadResearchMode(threadId) {
|
|
152
215
|
return this.threadResearchMode.get(threadId);
|
|
153
216
|
}
|
|
154
|
-
|
|
155
|
-
|
|
217
|
+
setTimeZone(threadId, timeZone) {
|
|
218
|
+
this.threadTimeZones.set(threadId, timeZone);
|
|
219
|
+
}
|
|
220
|
+
getTimeZone(threadId) {
|
|
221
|
+
return this.threadTimeZones.get(threadId);
|
|
222
|
+
}
|
|
223
|
+
sweepTimedOut(policy, now = Date.now()) {
|
|
224
|
+
const activeThreadIds = [];
|
|
225
|
+
for (const [threadId, run] of this.activeRuns) {
|
|
226
|
+
if (this.hasPendingConfirmationForThread(threadId))
|
|
227
|
+
continue;
|
|
228
|
+
const startedAt = run.startedAt ?? run.lastActivityAt ?? now;
|
|
229
|
+
const lastActivityAt = run.lastActivityAt ?? startedAt;
|
|
230
|
+
const decision = policy.evaluate({
|
|
231
|
+
surface: 'active-run',
|
|
232
|
+
startedAt,
|
|
233
|
+
lastActivityAt,
|
|
234
|
+
now,
|
|
235
|
+
});
|
|
236
|
+
if (decision.action === 'timeout') {
|
|
237
|
+
activeThreadIds.push(threadId);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
156
240
|
const suspendedThreadIds = [];
|
|
157
241
|
for (const [threadId, run] of this.suspendedRuns) {
|
|
158
|
-
|
|
242
|
+
const startedAt = run.startedAt ?? run.createdAt;
|
|
243
|
+
const lastActivityAt = run.lastActivityAt ?? run.createdAt;
|
|
244
|
+
const decision = policy.evaluate({
|
|
245
|
+
surface: 'suspended-run',
|
|
246
|
+
startedAt,
|
|
247
|
+
lastActivityAt,
|
|
248
|
+
now,
|
|
249
|
+
});
|
|
250
|
+
if (decision.action === 'timeout') {
|
|
159
251
|
suspendedThreadIds.push(threadId);
|
|
160
252
|
}
|
|
161
253
|
}
|
|
162
254
|
const confirmationRequestIds = [];
|
|
163
255
|
for (const [reqId, pending] of this.pendingConfirmations) {
|
|
164
|
-
|
|
256
|
+
const startedAt = pending.startedAt ?? pending.createdAt;
|
|
257
|
+
const lastActivityAt = pending.lastActivityAt ?? pending.createdAt;
|
|
258
|
+
const decision = policy.evaluate({
|
|
259
|
+
surface: 'pending-confirmation',
|
|
260
|
+
startedAt,
|
|
261
|
+
lastActivityAt,
|
|
262
|
+
now,
|
|
263
|
+
});
|
|
264
|
+
if (decision.action === 'timeout') {
|
|
165
265
|
confirmationRequestIds.push(reqId);
|
|
166
266
|
}
|
|
167
267
|
}
|
|
168
|
-
return { suspendedThreadIds, confirmationRequestIds };
|
|
268
|
+
return { activeThreadIds, suspendedThreadIds, confirmationRequestIds };
|
|
169
269
|
}
|
|
170
270
|
rejectPendingConfirmation(requestId) {
|
|
171
271
|
const pending = this.pendingConfirmations.get(requestId);
|
|
@@ -184,6 +284,7 @@ class RunStateRegistry {
|
|
|
184
284
|
this.activeRuns.delete(threadId);
|
|
185
285
|
this.threadUsers.delete(threadId);
|
|
186
286
|
this.threadResearchMode.delete(threadId);
|
|
287
|
+
this.threadTimeZones.delete(threadId);
|
|
187
288
|
const groupId = this.threadMessageGroupId.get(threadId);
|
|
188
289
|
if (groupId)
|
|
189
290
|
this.runIdsByMessageGroup.delete(groupId);
|
|
@@ -201,6 +302,7 @@ class RunStateRegistry {
|
|
|
201
302
|
this.pendingConfirmations.clear();
|
|
202
303
|
this.threadUsers.clear();
|
|
203
304
|
this.threadResearchMode.clear();
|
|
305
|
+
this.threadTimeZones.clear();
|
|
204
306
|
this.threadMessageGroupId.clear();
|
|
205
307
|
this.runIdsByMessageGroup.clear();
|
|
206
308
|
return { activeRuns, suspendedRuns };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-state-registry.js","sourceRoot":"","sources":["../../src/runtime/run-state-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-state-registry.js","sourceRoot":"","sources":["../../src/runtime/run-state-registry.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAoFhC,MAAa,gBAAgB;IACX,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE/C,aAAa,GAAG,IAAI,GAAG,EAAoC,CAAC;IAE5D,oBAAoB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAE9D,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEvC,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEhD,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,oBAAoB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAGnD,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7D,QAAQ,CAAC,OAA+B;QACvC,MAAM,KAAK,GAAG,OAAO,IAAA,eAAM,GAAE,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,IAAA,eAAM,GAAE,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE;YACrC,KAAK;YACL,eAAe;YACf,cAAc;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,GAAG;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC;QAID,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,WAAW,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;gBACnD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;IACnD,CAAC;IAED,eAAe,CACd,QAAgB,EAChB,eAA+C;QAE/C,OAAO;YACN,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC3C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC7C,eAAe,EAAE,eAAe;iBAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;iBAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,cAAc;aACnC,CAAC,CAAC;SACJ,CAAC;IACH,CAAC;IAED,UAAU,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,iBAAiB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB,CACpB,QAAgB,EAChB,eAA+C;QAE/C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,WAAW,GAAG,eAAe;aACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;aACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,OAAO,WAAW,EAAE,cAAc,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED,wBAAwB,CAAC,cAAsB;QAC9C,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,OAA+B;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC7B,GAAG,SAAS;YACZ,OAAO;SACP,CAAC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,QAAgB;QAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,QAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,UAAU,CAAC,QAAgB,EAAE,KAA+B;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;QAC7E,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,wBAAwB,CAAC,SAAiB;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,GAAG,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,kBAAkB,CAAC,QAAgB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,oBAAoB,CAAC,QAAgB;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC7B,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;YACrD,cAAc,EAAE,GAAG;SACnB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,2BAA2B,CAAC,SAAiB,EAAE,OAA4B;QAC1E,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE;YACxC,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;YACjD,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS;SAC3D,CAAC,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,+BAA+B,CAAC,QAAgB;QAC/C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;QAChD,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,QAAgB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,SAAS,CAAC,cAAc,GAAG,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,wBAAwB,CAAC,SAAiB,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,0BAA0B,CACzB,gBAAwB,EACxB,SAAiB,EACjB,IAAsB;QAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAElE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,YAAY,CACX,QAAgB,EAChB,wBAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;QAK7D,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YAC5C,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACvC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,aAAa,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,qBAAqB,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAOD,aAAa,CACZ,MAAgC,EAChC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAMhB,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAE7D,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC;YAC7D,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,SAAS,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,OAAO,EAAE,YAAY;gBACrB,SAAS;gBACT,cAAc;gBACd,GAAG;aACH,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QAED,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC;YACjD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,OAAO,EAAE,eAAe;gBACxB,SAAS;gBACT,cAAc;gBACd,GAAG;aACH,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QACD,MAAM,sBAAsB,GAAa,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;YACzD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,OAAO,EAAE,sBAAsB;gBAC/B,SAAS;gBACT,cAAc;gBACd,GAAG;aACH,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;QACD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC;IACxE,CAAC;IAMD,yBAAyB,CAAC,SAAiB;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,kBAAkB,CAAC,OAAe;QACjC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAOD,WAAW,CACV,QAAgB,EAChB,wBAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;QAK7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAEjF,IAAI,MAAM;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,OAAO;YAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3C,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,QAAQ,CAAC,wBAA0C,EAAE,QAAQ,EAAE,KAAK,EAAE;QAIrE,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAElC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;IACtC,CAAC;CACD;AApZD,4CAoZC"}
|
|
@@ -2,6 +2,7 @@ import type { InstanceAiEvent } from '@n8n/api-types';
|
|
|
2
2
|
import type { InstanceAiEventBus } from '../event-bus';
|
|
3
3
|
import type { Logger } from '../logger';
|
|
4
4
|
import { type ResumableStreamSource, type TraceStatus } from './resumable-stream-executor';
|
|
5
|
+
import type { WorkSummary } from '../stream/work-summary-accumulator';
|
|
5
6
|
import type { SuspensionInfo } from '../utils/stream-helpers';
|
|
6
7
|
export interface StreamableAgent {
|
|
7
8
|
stream: (input: unknown, options: Record<string, unknown>) => Promise<ResumableStreamSource>;
|
|
@@ -13,11 +14,13 @@ export interface StreamRunOptions {
|
|
|
13
14
|
signal: AbortSignal;
|
|
14
15
|
eventBus: InstanceAiEventBus;
|
|
15
16
|
logger: Logger;
|
|
17
|
+
onActivity?: () => void;
|
|
16
18
|
}
|
|
17
19
|
export interface StreamRunResult {
|
|
18
20
|
status: TraceStatus;
|
|
19
21
|
mastraRunId: string;
|
|
20
22
|
text?: Promise<string>;
|
|
23
|
+
workSummary: WorkSummary;
|
|
21
24
|
suspension?: SuspensionInfo;
|
|
22
25
|
confirmationEvent?: Extract<InstanceAiEvent, {
|
|
23
26
|
type: 'confirmation-request';
|
|
@@ -40,6 +40,7 @@ async function consumeStream(agent, stream, options) {
|
|
|
40
40
|
eventBus: options.eventBus,
|
|
41
41
|
signal: options.signal,
|
|
42
42
|
logger: options.logger,
|
|
43
|
+
onActivity: options.onActivity,
|
|
43
44
|
},
|
|
44
45
|
control: { mode: 'manual' },
|
|
45
46
|
initialMastraRunId: options.mastraRunId,
|
|
@@ -50,6 +51,7 @@ async function consumeStream(agent, stream, options) {
|
|
|
50
51
|
status: 'suspended',
|
|
51
52
|
mastraRunId: result.mastraRunId,
|
|
52
53
|
text: result.text,
|
|
54
|
+
workSummary: result.workSummary,
|
|
53
55
|
suspension: result.suspension,
|
|
54
56
|
...(result.confirmationEvent ? { confirmationEvent: result.confirmationEvent } : {}),
|
|
55
57
|
};
|
|
@@ -62,6 +64,7 @@ async function consumeStream(agent, stream, options) {
|
|
|
62
64
|
: 'completed',
|
|
63
65
|
mastraRunId: result.mastraRunId,
|
|
64
66
|
text: result.text,
|
|
67
|
+
workSummary: result.workSummary,
|
|
65
68
|
};
|
|
66
69
|
}
|
|
67
70
|
//# sourceMappingURL=stream-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-runner.js","sourceRoot":"","sources":["../../src/runtime/stream-runner.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"stream-runner.js","sourceRoot":"","sources":["../../src/runtime/stream-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type InstanceAiConfirmationRequestEvent, type InstanceAiEvent } from '@n8n/api-types';
|
|
2
|
+
import type { WorkSummary } from '../stream/work-summary-accumulator';
|
|
3
|
+
export type TerminalResponseStatus = 'completed' | 'cancelled' | 'errored' | 'waiting';
|
|
4
|
+
export type TerminalVisibilitySource = 'root-text' | 'root-error' | 'confirmation-ui' | 'fallback' | 'none';
|
|
5
|
+
export interface TerminalResponseGuardOptions {
|
|
6
|
+
runId: string;
|
|
7
|
+
rootAgentId: string;
|
|
8
|
+
messageGroupId?: string;
|
|
9
|
+
correlationId?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TerminalResponseDecision {
|
|
12
|
+
status: TerminalResponseStatus;
|
|
13
|
+
visibilitySource: TerminalVisibilitySource;
|
|
14
|
+
action: 'none' | 'emit';
|
|
15
|
+
reason: 'already-visible' | 'already-emitted' | 'completed-silent' | 'cancelled-silent' | 'errored-silent' | 'errored-after-text' | 'completed-after-error' | 'confirmation-visible' | 'confirmation-invalid';
|
|
16
|
+
event?: InstanceAiEvent;
|
|
17
|
+
}
|
|
18
|
+
export declare class InstanceAiTerminalResponseGuard {
|
|
19
|
+
private readonly options;
|
|
20
|
+
constructor(options: TerminalResponseGuardOptions);
|
|
21
|
+
evaluateTerminal(events: InstanceAiEvent[], status: Exclude<TerminalResponseStatus, 'waiting'>, options?: {
|
|
22
|
+
workSummary?: WorkSummary;
|
|
23
|
+
errorMessage?: string;
|
|
24
|
+
}): TerminalResponseDecision;
|
|
25
|
+
evaluateWaiting(events: InstanceAiEvent[], confirmationEvent: InstanceAiConfirmationRequestEvent | undefined): TerminalResponseDecision;
|
|
26
|
+
private getVisibility;
|
|
27
|
+
private emitText;
|
|
28
|
+
private emitError;
|
|
29
|
+
private fallbackResponseId;
|
|
30
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstanceAiTerminalResponseGuard = void 0;
|
|
4
|
+
const api_types_1 = require("@n8n/api-types");
|
|
5
|
+
const FALLBACK_RESPONSE_PREFIX = 'terminal-fallback';
|
|
6
|
+
function pluralize(count, singular, plural = `${singular}s`) {
|
|
7
|
+
return count === 1 ? singular : plural;
|
|
8
|
+
}
|
|
9
|
+
function formatWorkSummaryCounts(workSummary) {
|
|
10
|
+
if (!workSummary || workSummary.totalToolCalls === 0)
|
|
11
|
+
return '';
|
|
12
|
+
const toolText = `${workSummary.totalToolCalls} ${pluralize(workSummary.totalToolCalls, 'tool')}`;
|
|
13
|
+
if (workSummary.totalToolErrors === 0)
|
|
14
|
+
return ` I ran ${toolText}.`;
|
|
15
|
+
return ` I ran ${toolText}; ${workSummary.totalToolErrors} ${pluralize(workSummary.totalToolErrors, 'tool')} errored.`;
|
|
16
|
+
}
|
|
17
|
+
function hasText(event) {
|
|
18
|
+
return event.type === 'text-delta' && event.payload.text.trim().length > 0;
|
|
19
|
+
}
|
|
20
|
+
class InstanceAiTerminalResponseGuard {
|
|
21
|
+
options;
|
|
22
|
+
constructor(options) {
|
|
23
|
+
this.options = options;
|
|
24
|
+
}
|
|
25
|
+
evaluateTerminal(events, status, options = {}) {
|
|
26
|
+
const visibility = this.getVisibility(events);
|
|
27
|
+
if (visibility.hasCurrentRunFallback) {
|
|
28
|
+
return {
|
|
29
|
+
status,
|
|
30
|
+
visibilitySource: 'fallback',
|
|
31
|
+
action: 'none',
|
|
32
|
+
reason: 'already-emitted',
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (status === 'completed') {
|
|
36
|
+
if (visibility.hasRootError) {
|
|
37
|
+
return {
|
|
38
|
+
status,
|
|
39
|
+
visibilitySource: 'root-error',
|
|
40
|
+
action: 'none',
|
|
41
|
+
reason: 'completed-after-error',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (visibility.hasRootText) {
|
|
45
|
+
return {
|
|
46
|
+
status,
|
|
47
|
+
visibilitySource: 'root-text',
|
|
48
|
+
action: 'none',
|
|
49
|
+
reason: 'already-visible',
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return this.emitText(status, 'completed-silent', `I finished the run, but I did not generate a final response.${formatWorkSummaryCounts(options.workSummary)}`);
|
|
53
|
+
}
|
|
54
|
+
if (status === 'cancelled') {
|
|
55
|
+
if (visibility.hasRootText || visibility.hasRootError) {
|
|
56
|
+
return {
|
|
57
|
+
status,
|
|
58
|
+
visibilitySource: visibility.hasRootError ? 'root-error' : 'root-text',
|
|
59
|
+
action: 'none',
|
|
60
|
+
reason: 'already-visible',
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return this.emitText(status, 'cancelled-silent', 'The run was cancelled before I could send a response.');
|
|
64
|
+
}
|
|
65
|
+
if (visibility.hasRootError) {
|
|
66
|
+
return {
|
|
67
|
+
status,
|
|
68
|
+
visibilitySource: 'root-error',
|
|
69
|
+
action: 'none',
|
|
70
|
+
reason: 'already-visible',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return this.emitError(status, visibility.hasRootText ? 'errored-after-text' : 'errored-silent', options.errorMessage ??
|
|
74
|
+
'I hit an error before I could finish that response. Please try again.');
|
|
75
|
+
}
|
|
76
|
+
evaluateWaiting(events, confirmationEvent) {
|
|
77
|
+
const visibility = this.getVisibility(events);
|
|
78
|
+
if (visibility.hasCurrentRunFallback) {
|
|
79
|
+
return {
|
|
80
|
+
status: 'waiting',
|
|
81
|
+
visibilitySource: 'fallback',
|
|
82
|
+
action: 'none',
|
|
83
|
+
reason: 'already-emitted',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const hasDisplayableConfirmation = confirmationEvent !== undefined &&
|
|
87
|
+
(0, api_types_1.isDisplayableConfirmationRequest)(confirmationEvent.payload);
|
|
88
|
+
if (!hasDisplayableConfirmation) {
|
|
89
|
+
return this.emitError('waiting', 'confirmation-invalid', 'I need your input to continue, but I could not display the prompt. Please try again.');
|
|
90
|
+
}
|
|
91
|
+
if (visibility.hasRootText || visibility.hasRootError) {
|
|
92
|
+
return {
|
|
93
|
+
status: 'waiting',
|
|
94
|
+
visibilitySource: visibility.hasRootError ? 'root-error' : 'root-text',
|
|
95
|
+
action: 'none',
|
|
96
|
+
reason: 'already-visible',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
status: 'waiting',
|
|
101
|
+
visibilitySource: 'confirmation-ui',
|
|
102
|
+
action: 'none',
|
|
103
|
+
reason: 'confirmation-visible',
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
getVisibility(events) {
|
|
107
|
+
const currentRunEvents = events.filter((event) => event.runId === this.options.runId);
|
|
108
|
+
return {
|
|
109
|
+
hasRootText: currentRunEvents.some((event) => event.agentId === this.options.rootAgentId && hasText(event)),
|
|
110
|
+
hasRootError: currentRunEvents.some((event) => event.agentId === this.options.rootAgentId && event.type === 'error'),
|
|
111
|
+
hasCurrentRunFallback: currentRunEvents.some((event) => event.responseId?.startsWith(`${FALLBACK_RESPONSE_PREFIX}:${this.options.runId}:`)),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
emitText(status, reason, text) {
|
|
115
|
+
return {
|
|
116
|
+
status,
|
|
117
|
+
visibilitySource: 'none',
|
|
118
|
+
action: 'emit',
|
|
119
|
+
reason,
|
|
120
|
+
event: {
|
|
121
|
+
type: 'text-delta',
|
|
122
|
+
runId: this.options.runId,
|
|
123
|
+
agentId: this.options.rootAgentId,
|
|
124
|
+
responseId: this.fallbackResponseId(status),
|
|
125
|
+
payload: { text },
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
emitError(status, reason, content) {
|
|
130
|
+
return {
|
|
131
|
+
status,
|
|
132
|
+
visibilitySource: 'none',
|
|
133
|
+
action: 'emit',
|
|
134
|
+
reason,
|
|
135
|
+
event: {
|
|
136
|
+
type: 'error',
|
|
137
|
+
runId: this.options.runId,
|
|
138
|
+
agentId: this.options.rootAgentId,
|
|
139
|
+
responseId: this.fallbackResponseId(status),
|
|
140
|
+
payload: { content },
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
fallbackResponseId(status) {
|
|
145
|
+
return `${FALLBACK_RESPONSE_PREFIX}:${this.options.runId}:${status}`;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.InstanceAiTerminalResponseGuard = InstanceAiTerminalResponseGuard;
|
|
149
|
+
//# sourceMappingURL=terminal-response-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-response-guard.js","sourceRoot":"","sources":["../../src/runtime/terminal-response-guard.ts"],"names":[],"mappings":";;;AAAA,8CAIwB;AAqCxB,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAErD,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAM,GAAG,GAAG,QAAQ,GAAG;IAC1E,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAyB;IACzD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,cAAc,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,GAAG,WAAW,CAAC,cAAc,IAAI,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC;IAClG,IAAI,WAAW,CAAC,eAAe,KAAK,CAAC;QAAE,OAAO,UAAU,QAAQ,GAAG,CAAC;IAEpE,OAAO,UAAU,QAAQ,KAAK,WAAW,CAAC,eAAe,IAAI,SAAS,CACrE,WAAW,CAAC,eAAe,EAC3B,MAAM,CACN,WAAW,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,KAAsB;IACtC,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,MAAa,+BAA+B;IACd;IAA7B,YAA6B,OAAqC;QAArC,YAAO,GAAP,OAAO,CAA8B;IAAG,CAAC;IAEtE,gBAAgB,CACf,MAAyB,EACzB,MAAkD,EAClD,UAAgE,EAAE;QAElE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO;gBACN,MAAM;gBACN,gBAAgB,EAAE,UAAU;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,iBAAiB;aACzB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC7B,OAAO;oBACN,MAAM;oBACN,gBAAgB,EAAE,YAAY;oBAC9B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,uBAAuB;iBAC/B,CAAC;YACH,CAAC;YACD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5B,OAAO;oBACN,MAAM;oBACN,gBAAgB,EAAE,WAAW;oBAC7B,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,iBAAiB;iBACzB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,EACN,kBAAkB,EAClB,+DAA+D,uBAAuB,CACrF,OAAO,CAAC,WAAW,CACnB,EAAE,CACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBACvD,OAAO;oBACN,MAAM;oBACN,gBAAgB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;oBACtE,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,iBAAiB;iBACzB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CACnB,MAAM,EACN,kBAAkB,EAClB,uDAAuD,CACvD,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC7B,OAAO;gBACN,MAAM;gBACN,gBAAgB,EAAE,YAAY;gBAC9B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,iBAAiB;aACzB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CACpB,MAAM,EACN,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,EAChE,OAAO,CAAC,YAAY;YACnB,uEAAuE,CACxE,CAAC;IACH,CAAC;IAED,eAAe,CACd,MAAyB,EACzB,iBAAiE;QAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO;gBACN,MAAM,EAAE,SAAS;gBACjB,gBAAgB,EAAE,UAAU;gBAC5B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,iBAAiB;aACzB,CAAC;QACH,CAAC;QAED,MAAM,0BAA0B,GAC/B,iBAAiB,KAAK,SAAS;YAC/B,IAAA,4CAAgC,EAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CACpB,SAAS,EACT,sBAAsB,EACtB,sFAAsF,CACtF,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YACvD,OAAO;gBACN,MAAM,EAAE,SAAS;gBACjB,gBAAgB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;gBACtE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,iBAAiB;aACzB,CAAC;QACH,CAAC;QAED,OAAO;YACN,MAAM,EAAE,SAAS;YACjB,gBAAgB,EAAE,iBAAiB;YACnC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,sBAAsB;SAC9B,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAyB;QAK9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtF,OAAO;YACN,WAAW,EAAE,gBAAgB,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,CACvE;YACD,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAC/E;YACD,qBAAqB,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACtD,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,wBAAwB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAClF;SACD,CAAC;IACH,CAAC;IAEO,QAAQ,CACf,MAA8B,EAC9B,MAA0C,EAC1C,IAAY;QAEZ,OAAO;YACN,MAAM;YACN,gBAAgB,EAAE,MAAM;YACxB,MAAM,EAAE,MAAM;YACd,MAAM;YACN,KAAK,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACjC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAC3C,OAAO,EAAE,EAAE,IAAI,EAAE;aACjB;SACD,CAAC;IACH,CAAC;IAEO,SAAS,CAChB,MAA8B,EAC9B,MAA0C,EAC1C,OAAe;QAEf,OAAO;YACN,MAAM;YACN,gBAAgB,EAAE,MAAM;YACxB,MAAM,EAAE,MAAM;YACd,MAAM;YACN,KAAK,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACjC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAC3C,OAAO,EAAE,EAAE,OAAO,EAAE;aACpB;SACD,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,MAA8B;QACxD,OAAO,GAAG,wBAAwB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;IACtE,CAAC;CACD;AArLD,0EAqLC"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export type { IterationEntry, IterationLog } from './iteration-log';
|
|
|
4
4
|
export { MastraIterationLogStorage } from './mastra-iteration-log-storage';
|
|
5
5
|
export { MastraTaskStorage } from './mastra-task-storage';
|
|
6
6
|
export { PlannedTaskStorage } from './planned-task-storage';
|
|
7
|
+
export { TerminalOutcomeStorage } from './terminal-outcome-storage';
|
|
8
|
+
export type { TerminalOutcome } from './terminal-outcome-storage';
|
|
7
9
|
export { patchThread } from './thread-patch';
|
|
8
10
|
export type { PatchableThreadMemory, ThreadPatch } from './thread-patch';
|
|
9
11
|
export { WorkflowLoopStorage } from './workflow-loop-storage';
|
package/dist/storage/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkflowLoopStorage = exports.patchThread = exports.PlannedTaskStorage = exports.MastraTaskStorage = exports.MastraIterationLogStorage = exports.formatPreviousAttempts = exports.iterationEntrySchema = void 0;
|
|
3
|
+
exports.WorkflowLoopStorage = exports.patchThread = exports.TerminalOutcomeStorage = exports.PlannedTaskStorage = exports.MastraTaskStorage = exports.MastraIterationLogStorage = exports.formatPreviousAttempts = exports.iterationEntrySchema = void 0;
|
|
4
4
|
var iteration_log_1 = require("./iteration-log");
|
|
5
5
|
Object.defineProperty(exports, "iterationEntrySchema", { enumerable: true, get: function () { return iteration_log_1.iterationEntrySchema; } });
|
|
6
6
|
Object.defineProperty(exports, "formatPreviousAttempts", { enumerable: true, get: function () { return iteration_log_1.formatPreviousAttempts; } });
|
|
@@ -10,6 +10,8 @@ var mastra_task_storage_1 = require("./mastra-task-storage");
|
|
|
10
10
|
Object.defineProperty(exports, "MastraTaskStorage", { enumerable: true, get: function () { return mastra_task_storage_1.MastraTaskStorage; } });
|
|
11
11
|
var planned_task_storage_1 = require("./planned-task-storage");
|
|
12
12
|
Object.defineProperty(exports, "PlannedTaskStorage", { enumerable: true, get: function () { return planned_task_storage_1.PlannedTaskStorage; } });
|
|
13
|
+
var terminal_outcome_storage_1 = require("./terminal-outcome-storage");
|
|
14
|
+
Object.defineProperty(exports, "TerminalOutcomeStorage", { enumerable: true, get: function () { return terminal_outcome_storage_1.TerminalOutcomeStorage; } });
|
|
13
15
|
var thread_patch_1 = require("./thread-patch");
|
|
14
16
|
Object.defineProperty(exports, "patchThread", { enumerable: true, get: function () { return thread_patch_1.patchThread; } });
|
|
15
17
|
var workflow_loop_storage_1 = require("./workflow-loop-storage");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;AACA,iDAA+E;AAAtE,qHAAA,oBAAoB,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAErD,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;AACA,iDAA+E;AAAtE,qHAAA,oBAAoB,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAErD,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,uEAAoE;AAA3D,kIAAA,sBAAsB,OAAA;AAE/B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA"}
|
|
@@ -9,6 +9,7 @@ const plannedTaskKindSchema = zod_1.z.enum([
|
|
|
9
9
|
'build-workflow',
|
|
10
10
|
'manage-data-tables',
|
|
11
11
|
'research',
|
|
12
|
+
'checkpoint',
|
|
12
13
|
]);
|
|
13
14
|
const plannedTaskStatusSchema = zod_1.z.enum(['planned', 'running', 'succeeded', 'failed', 'cancelled']);
|
|
14
15
|
const plannedTaskRecordSchema = zod_1.z.object({
|
|
@@ -31,7 +32,7 @@ const plannedTaskRecordSchema = zod_1.z.object({
|
|
|
31
32
|
const plannedTaskGraphSchema = zod_1.z.object({
|
|
32
33
|
planRunId: zod_1.z.string(),
|
|
33
34
|
messageGroupId: zod_1.z.string().optional(),
|
|
34
|
-
status: zod_1.z.enum(['active', 'awaiting_replan', 'completed', 'cancelled']),
|
|
35
|
+
status: zod_1.z.enum(['awaiting_approval', 'active', 'awaiting_replan', 'completed', 'cancelled']),
|
|
35
36
|
tasks: zod_1.z.array(plannedTaskRecordSchema),
|
|
36
37
|
});
|
|
37
38
|
function parseGraph(raw) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planned-task-storage.js","sourceRoot":"","sources":["../../src/storage/planned-task-storage.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAGxB,iDAA6C;AAE7C,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C,MAAM,qBAAqB,GAAG,OAAC,CAAC,IAAI,CAAC;IACpC,UAAU;IACV,gBAAgB;IAChB,oBAAoB;IACpB,UAAU;
|
|
1
|
+
{"version":3,"file":"planned-task-storage.js","sourceRoot":"","sources":["../../src/storage/planned-task-storage.ts"],"names":[],"mappings":"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"}
|