@n8n/instance-ai 1.5.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/agent/computer-use-prompt.d.ts +5 -0
  2. package/dist/agent/computer-use-prompt.js +97 -0
  3. package/dist/agent/computer-use-prompt.js.map +1 -0
  4. package/dist/agent/instance-agent.js +48 -72
  5. package/dist/agent/instance-agent.js.map +1 -1
  6. package/dist/agent/mcp-tool-name-validation.d.ts +15 -0
  7. package/dist/agent/mcp-tool-name-validation.js +67 -0
  8. package/dist/agent/mcp-tool-name-validation.js.map +1 -0
  9. package/dist/agent/sanitize-mcp-schemas.d.ts +56 -2
  10. package/dist/agent/sanitize-mcp-schemas.js +226 -19
  11. package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
  12. package/dist/agent/sub-agent-factory.d.ts +1 -0
  13. package/dist/agent/sub-agent-factory.js +1 -0
  14. package/dist/agent/sub-agent-factory.js.map +1 -1
  15. package/dist/agent/system-prompt.d.ts +1 -1
  16. package/dist/agent/system-prompt.js +19 -99
  17. package/dist/agent/system-prompt.js.map +1 -1
  18. package/dist/build.tsbuildinfo +1 -1
  19. package/dist/domain-access/domain-access-tracker.d.ts +3 -0
  20. package/dist/domain-access/domain-access-tracker.js +16 -0
  21. package/dist/domain-access/domain-access-tracker.js.map +1 -1
  22. package/dist/domain-access/domain-gating.d.ts +35 -6
  23. package/dist/domain-access/domain-gating.js +47 -1
  24. package/dist/domain-access/domain-gating.js.map +1 -1
  25. package/dist/domain-access/index.d.ts +1 -1
  26. package/dist/domain-access/index.js +3 -1
  27. package/dist/domain-access/index.js.map +1 -1
  28. package/dist/index.d.ts +10 -4
  29. package/dist/index.js +16 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/mcp/mcp-client-manager.d.ts +18 -2
  32. package/dist/mcp/mcp-client-manager.js +124 -20
  33. package/dist/mcp/mcp-client-manager.js.map +1 -1
  34. package/dist/parsers/docx-parser.d.ts +6 -0
  35. package/dist/parsers/docx-parser.js +65 -0
  36. package/dist/parsers/docx-parser.js.map +1 -0
  37. package/dist/parsers/html-parser.d.ts +7 -0
  38. package/dist/parsers/html-parser.js +67 -0
  39. package/dist/parsers/html-parser.js.map +1 -0
  40. package/dist/parsers/index.d.ts +4 -0
  41. package/dist/parsers/index.js +16 -0
  42. package/dist/parsers/index.js.map +1 -0
  43. package/dist/parsers/pdf-parser.d.ts +7 -0
  44. package/dist/parsers/pdf-parser.js +72 -0
  45. package/dist/parsers/pdf-parser.js.map +1 -0
  46. package/dist/parsers/structured-file-parser.d.ts +8 -3
  47. package/dist/parsers/structured-file-parser.js +36 -4
  48. package/dist/parsers/structured-file-parser.js.map +1 -1
  49. package/dist/parsers/validate-attachments.d.ts +14 -0
  50. package/dist/parsers/validate-attachments.js +61 -0
  51. package/dist/parsers/validate-attachments.js.map +1 -0
  52. package/dist/parsers/xlsx-parser.d.ts +2 -0
  53. package/dist/parsers/xlsx-parser.js +75 -0
  54. package/dist/parsers/xlsx-parser.js.map +1 -0
  55. package/dist/runtime/background-task-manager.d.ts +7 -0
  56. package/dist/runtime/background-task-manager.js +68 -2
  57. package/dist/runtime/background-task-manager.js.map +1 -1
  58. package/dist/runtime/liveness-policy.d.ts +40 -0
  59. package/dist/runtime/liveness-policy.js +74 -0
  60. package/dist/runtime/liveness-policy.js.map +1 -0
  61. package/dist/runtime/resumable-stream-executor.d.ts +1 -0
  62. package/dist/runtime/resumable-stream-executor.js +1 -0
  63. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  64. package/dist/runtime/run-state-registry.d.ts +14 -1
  65. package/dist/runtime/run-state-registry.js +100 -7
  66. package/dist/runtime/run-state-registry.js.map +1 -1
  67. package/dist/runtime/stream-runner.d.ts +3 -0
  68. package/dist/runtime/stream-runner.js +3 -0
  69. package/dist/runtime/stream-runner.js.map +1 -1
  70. package/dist/runtime/terminal-response-guard.d.ts +30 -0
  71. package/dist/runtime/terminal-response-guard.js +149 -0
  72. package/dist/runtime/terminal-response-guard.js.map +1 -0
  73. package/dist/storage/agent-tree-snapshot.d.ts +2 -0
  74. package/dist/storage/index.d.ts +2 -0
  75. package/dist/storage/index.js +3 -1
  76. package/dist/storage/index.js.map +1 -1
  77. package/dist/storage/terminal-outcome-storage.d.ts +48 -0
  78. package/dist/storage/terminal-outcome-storage.js +84 -0
  79. package/dist/storage/terminal-outcome-storage.js.map +1 -0
  80. package/dist/storage/workflow-loop-storage.d.ts +156 -10
  81. package/dist/stream/consume-with-hitl.d.ts +1 -0
  82. package/dist/stream/consume-with-hitl.js +1 -0
  83. package/dist/stream/consume-with-hitl.js.map +1 -1
  84. package/dist/stream/map-chunk.js +6 -0
  85. package/dist/stream/map-chunk.js.map +1 -1
  86. package/dist/tools/attachments/parse-file.tool.d.ts +46 -34
  87. package/dist/tools/attachments/parse-file.tool.js +115 -56
  88. package/dist/tools/attachments/parse-file.tool.js.map +1 -1
  89. package/dist/tools/credentials.tool.d.ts +120 -1
  90. package/dist/tools/credentials.tool.js +65 -12
  91. package/dist/tools/credentials.tool.js.map +1 -1
  92. package/dist/tools/data-tables.tool.d.ts +1 -0
  93. package/dist/tools/data-tables.tool.js +4 -2
  94. package/dist/tools/data-tables.tool.js.map +1 -1
  95. package/dist/tools/filesystem/create-tools-from-mcp-server.d.ts +2 -1
  96. package/dist/tools/filesystem/create-tools-from-mcp-server.js +74 -5
  97. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
  98. package/dist/tools/index.d.ts +3 -22
  99. package/dist/tools/index.js +21 -4
  100. package/dist/tools/index.js.map +1 -1
  101. package/dist/tools/nodes.tool.js +15 -15
  102. package/dist/tools/nodes.tool.js.map +1 -1
  103. package/dist/tools/orchestration/blueprint.schema.d.ts +1 -1
  104. package/dist/tools/orchestration/browser-credential-setup.nudge.d.ts +5 -0
  105. package/dist/tools/orchestration/browser-credential-setup.nudge.js +11 -0
  106. package/dist/tools/orchestration/browser-credential-setup.nudge.js.map +1 -0
  107. package/dist/tools/orchestration/browser-credential-setup.prompt.js +2 -1
  108. package/dist/tools/orchestration/browser-credential-setup.prompt.js.map +1 -1
  109. package/dist/tools/orchestration/browser-credential-setup.tool.js +55 -7
  110. package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -1
  111. package/dist/tools/orchestration/build-workflow-agent.prompt.js +45 -48
  112. package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
  113. package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +8 -3
  114. package/dist/tools/orchestration/build-workflow-agent.tool.js +202 -47
  115. package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
  116. package/dist/tools/orchestration/data-table-agent.tool.js +1 -0
  117. package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -1
  118. package/dist/tools/orchestration/delegate.tool.js +2 -0
  119. package/dist/tools/orchestration/delegate.tool.js.map +1 -1
  120. package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
  121. package/dist/tools/orchestration/plan-agent-prompt.js +1 -0
  122. package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -1
  123. package/dist/tools/orchestration/plan-with-agent.tool.d.ts +17 -2
  124. package/dist/tools/orchestration/plan-with-agent.tool.js +274 -4
  125. package/dist/tools/orchestration/plan-with-agent.tool.js.map +1 -1
  126. package/dist/tools/orchestration/research-with-agent.tool.js +1 -0
  127. package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -1
  128. package/dist/tools/orchestration/tracing-utils.js +8 -0
  129. package/dist/tools/orchestration/tracing-utils.js.map +1 -1
  130. package/dist/tools/research.tool.js +54 -8
  131. package/dist/tools/research.tool.js.map +1 -1
  132. package/dist/tools/shared/ask-user.tool.d.ts +1 -0
  133. package/dist/tools/shared/ask-user.tool.js +3 -2
  134. package/dist/tools/shared/ask-user.tool.js.map +1 -1
  135. package/dist/tools/workflows/build-workflow.tool.js +3 -3
  136. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  137. package/dist/tools/workflows/resolve-credentials.d.ts +9 -4
  138. package/dist/tools/workflows/resolve-credentials.js +59 -27
  139. package/dist/tools/workflows/resolve-credentials.js.map +1 -1
  140. package/dist/tools/workflows/setup-workflow.schema.d.ts +40 -0
  141. package/dist/tools/workflows/setup-workflow.service.d.ts +5 -1
  142. package/dist/tools/workflows/setup-workflow.service.js +71 -5
  143. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  144. package/dist/tools/workflows/submit-workflow-identity.d.ts +2 -2
  145. package/dist/tools/workflows/submit-workflow-identity.js +2 -2
  146. package/dist/tools/workflows/submit-workflow-identity.js.map +1 -1
  147. package/dist/tools/workflows/submit-workflow.tool.d.ts +13 -4
  148. package/dist/tools/workflows/submit-workflow.tool.js +37 -24
  149. package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
  150. package/dist/tools/workflows/workflow-json-utils.d.ts +4 -0
  151. package/dist/tools/workflows/workflow-json-utils.js +54 -0
  152. package/dist/tools/workflows/workflow-json-utils.js.map +1 -0
  153. package/dist/tools/workflows.tool.d.ts +7 -1
  154. package/dist/tools/workflows.tool.js +283 -54
  155. package/dist/tools/workflows.tool.js.map +1 -1
  156. package/dist/tracing/langsmith-tracing.d.ts +2 -0
  157. package/dist/tracing/langsmith-tracing.js +4 -0
  158. package/dist/tracing/langsmith-tracing.js.map +1 -1
  159. package/dist/types.d.ts +13 -4
  160. package/dist/workflow-builder/parse-validate.js +1 -1
  161. package/dist/workflow-builder/parse-validate.js.map +1 -1
  162. package/dist/workflow-loop/index.d.ts +2 -2
  163. package/dist/workflow-loop/index.js +3 -1
  164. package/dist/workflow-loop/index.js.map +1 -1
  165. package/dist/workflow-loop/workflow-loop-state.d.ts +168 -8
  166. package/dist/workflow-loop/workflow-loop-state.js +31 -1
  167. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  168. package/dist/workspace/builder-sandbox-factory.d.ts +0 -2
  169. package/dist/workspace/builder-sandbox-factory.js +0 -8
  170. package/dist/workspace/builder-sandbox-factory.js.map +1 -1
  171. package/dist/workspace/n8n-sandbox-filesystem.js +2 -2
  172. package/dist/workspace/n8n-sandbox-filesystem.js.map +1 -1
  173. package/dist/workspace/n8n-sandbox-sandbox.d.ts +2 -3
  174. package/dist/workspace/n8n-sandbox-sandbox.js +3 -7
  175. package/dist/workspace/n8n-sandbox-sandbox.js.map +1 -1
  176. package/dist/workspace/sandbox-setup.d.ts +1 -1
  177. package/dist/workspace/sandbox-setup.js +5 -8
  178. package/dist/workspace/sandbox-setup.js.map +1 -1
  179. package/package.json +28 -9
  180. package/dist/workspace/n8n-sandbox-client.d.ts +0 -105
  181. package/dist/workspace/n8n-sandbox-client.js +0 -335
  182. package/dist/workspace/n8n-sandbox-client.js.map +0 -1
  183. package/dist/workspace/n8n-sandbox-image-manager.d.ts +0 -5
  184. package/dist/workspace/n8n-sandbox-image-manager.js +0 -25
  185. 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;
@@ -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;
@@ -83,10 +88,17 @@ export declare class RunStateRegistry<TUser = unknown> {
83
88
  getSuspendedRun(threadId: string): SuspendedRunState<TUser> | undefined;
84
89
  attachTracing(threadId: string, tracing: InstanceAiTraceContext): void;
85
90
  clearActiveRun(threadId: string): void;
91
+ cancelActiveRun(threadId: string): ActiveRunState | undefined;
86
92
  suspendRun(threadId: string, state: SuspendedRunState<TUser>): void;
87
93
  findSuspendedByRequestId(requestId: string): SuspendedRunState<TUser> | undefined;
94
+ cancelSuspendedRun(threadId: string): SuspendedRunState<TUser> | undefined;
88
95
  activateSuspendedRun(threadId: string): SuspendedRunState<TUser> | undefined;
89
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;
90
102
  resolvePendingConfirmation(requestingUserId: string, requestId: string, data: ConfirmationData): boolean;
91
103
  cancelThread(threadId: string, cancelledConfirmation?: ConfirmationData): {
92
104
  active?: ActiveRunState;
@@ -96,7 +108,8 @@ export declare class RunStateRegistry<TUser = unknown> {
96
108
  getThreadResearchMode(threadId: string): boolean | undefined;
97
109
  setTimeZone(threadId: string, timeZone: string): void;
98
110
  getTimeZone(threadId: string): string | undefined;
99
- sweepTimedOut(maxAgeMs: number): {
111
+ sweepTimedOut(policy: InstanceAiLivenessPolicy, now?: number): {
112
+ activeThreadIds: string[];
100
113
  suspendedThreadIds: string[];
101
114
  confirmationRequestIds: string[];
102
115
  };
@@ -15,7 +15,14 @@ class RunStateRegistry {
15
15
  const runId = `run_${(0, nanoid_1.nanoid)()}`;
16
16
  const abortController = new AbortController();
17
17
  const messageGroupId = options.messageGroupId ?? `mg_${(0, nanoid_1.nanoid)()}`;
18
- this.activeRuns.set(options.threadId, { runId, abortController, messageGroupId });
18
+ const now = Date.now();
19
+ this.activeRuns.set(options.threadId, {
20
+ runId,
21
+ abortController,
22
+ messageGroupId,
23
+ startedAt: now,
24
+ lastActivityAt: now,
25
+ });
19
26
  this.threadUsers.set(options.threadId, options.user);
20
27
  if (options.researchMode !== undefined) {
21
28
  this.threadResearchMode.set(options.threadId, options.researchMode);
@@ -97,8 +104,18 @@ class RunStateRegistry {
97
104
  clearActiveRun(threadId) {
98
105
  this.activeRuns.delete(threadId);
99
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
+ }
100
114
  suspendRun(threadId, state) {
115
+ const activeRun = this.activeRuns.get(threadId);
101
116
  this.activeRuns.delete(threadId);
117
+ state.startedAt = state.startedAt ?? activeRun?.startedAt ?? state.createdAt;
118
+ state.lastActivityAt = state.lastActivityAt ?? state.createdAt;
102
119
  this.suspendedRuns.set(threadId, state);
103
120
  }
104
121
  findSuspendedByRequestId(requestId) {
@@ -108,21 +125,66 @@ class RunStateRegistry {
108
125
  }
109
126
  return undefined;
110
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
+ }
111
135
  activateSuspendedRun(threadId) {
112
136
  const suspended = this.suspendedRuns.get(threadId);
113
137
  if (!suspended)
114
138
  return undefined;
115
139
  this.suspendedRuns.delete(threadId);
140
+ const now = Date.now();
116
141
  this.activeRuns.set(threadId, {
117
142
  runId: suspended.runId,
118
143
  abortController: suspended.abortController,
119
144
  messageGroupId: suspended.messageGroupId,
120
145
  tracing: suspended.tracing,
146
+ startedAt: suspended.startedAt ?? suspended.createdAt,
147
+ lastActivityAt: now,
121
148
  });
122
149
  return suspended;
123
150
  }
124
151
  registerPendingConfirmation(requestId, pending) {
125
- this.pendingConfirmations.set(requestId, pending);
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;
126
188
  }
127
189
  resolvePendingConfirmation(requestingUserId, requestId, data) {
128
190
  const pending = this.pendingConfirmations.get(requestId);
@@ -158,21 +220,52 @@ class RunStateRegistry {
158
220
  getTimeZone(threadId) {
159
221
  return this.threadTimeZones.get(threadId);
160
222
  }
161
- sweepTimedOut(maxAgeMs) {
162
- const now = Date.now();
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
+ }
163
240
  const suspendedThreadIds = [];
164
241
  for (const [threadId, run] of this.suspendedRuns) {
165
- if (now - run.createdAt >= maxAgeMs) {
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') {
166
251
  suspendedThreadIds.push(threadId);
167
252
  }
168
253
  }
169
254
  const confirmationRequestIds = [];
170
255
  for (const [reqId, pending] of this.pendingConfirmations) {
171
- if (now - pending.createdAt >= maxAgeMs) {
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') {
172
265
  confirmationRequestIds.push(reqId);
173
266
  }
174
267
  }
175
- return { suspendedThreadIds, confirmationRequestIds };
268
+ return { activeThreadIds, suspendedThreadIds, confirmationRequestIds };
176
269
  }
177
270
  rejectPendingConfirmation(requestId) {
178
271
  const pending = this.pendingConfirmations.get(requestId);
@@ -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":"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"}
@@ -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":"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"}
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":"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"}
@@ -6,4 +6,6 @@ export interface AgentTreeSnapshot {
6
6
  runIds?: string[];
7
7
  langsmithRunId?: string;
8
8
  langsmithTraceId?: string;
9
+ createdAt?: Date;
10
+ updatedAt?: Date;
9
11
  }
@@ -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';
@@ -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"}
@@ -0,0 +1,48 @@
1
+ import type { Memory } from '@mastra/memory';
2
+ import { z } from 'zod';
3
+ declare const terminalOutcomeSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ threadId: z.ZodString;
6
+ runId: z.ZodString;
7
+ messageGroupId: z.ZodOptional<z.ZodString>;
8
+ correlationId: z.ZodOptional<z.ZodString>;
9
+ taskId: z.ZodString;
10
+ agentId: z.ZodString;
11
+ status: z.ZodEnum<["completed", "failed", "cancelled"]>;
12
+ userFacingMessage: z.ZodString;
13
+ createdAt: z.ZodString;
14
+ deliveredAt: z.ZodOptional<z.ZodString>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ status: "completed" | "failed" | "cancelled";
17
+ createdAt: string;
18
+ id: string;
19
+ threadId: string;
20
+ runId: string;
21
+ taskId: string;
22
+ agentId: string;
23
+ userFacingMessage: string;
24
+ messageGroupId?: string | undefined;
25
+ correlationId?: string | undefined;
26
+ deliveredAt?: string | undefined;
27
+ }, {
28
+ status: "completed" | "failed" | "cancelled";
29
+ createdAt: string;
30
+ id: string;
31
+ threadId: string;
32
+ runId: string;
33
+ taskId: string;
34
+ agentId: string;
35
+ userFacingMessage: string;
36
+ messageGroupId?: string | undefined;
37
+ correlationId?: string | undefined;
38
+ deliveredAt?: string | undefined;
39
+ }>;
40
+ export type TerminalOutcome = z.infer<typeof terminalOutcomeSchema>;
41
+ export declare class TerminalOutcomeStorage {
42
+ private readonly memory;
43
+ constructor(memory: Memory);
44
+ upsert(threadId: string, outcome: TerminalOutcome): Promise<void>;
45
+ markDelivered(threadId: string, outcomeId: string, deliveredAt: string): Promise<void>;
46
+ getUndelivered(threadId: string): Promise<TerminalOutcome[]>;
47
+ }
48
+ export {};