@n8n/instance-ai 1.24.3 → 1.25.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.
Files changed (279) hide show
  1. package/README.md +2 -3
  2. package/dist/agent/credential-guardrails.prompt.d.ts +1 -0
  3. package/dist/agent/credential-guardrails.prompt.js +2 -1
  4. package/dist/agent/credential-guardrails.prompt.js.map +1 -1
  5. package/dist/agent/instance-agent.js +25 -21
  6. package/dist/agent/instance-agent.js.map +1 -1
  7. package/dist/agent/shared-prompts.d.ts +2 -2
  8. package/dist/agent/shared-prompts.js +2 -2
  9. package/dist/agent/shared-prompts.js.map +1 -1
  10. package/dist/agent/sub-agent-factory.d.ts +1 -1
  11. package/dist/agent/sub-agent-factory.js +2 -1
  12. package/dist/agent/sub-agent-factory.js.map +1 -1
  13. package/dist/agent/system-prompt.d.ts +1 -0
  14. package/dist/agent/system-prompt.js +29 -4
  15. package/dist/agent/system-prompt.js.map +1 -1
  16. package/dist/build.tsbuildinfo +1 -1
  17. package/dist/constants/max-steps.d.ts +0 -1
  18. package/dist/constants/max-steps.js +0 -1
  19. package/dist/constants/max-steps.js.map +1 -1
  20. package/dist/debug/sanitize-debug-snapshot.js +3 -3
  21. package/dist/debug/sanitize-debug-snapshot.js.map +1 -1
  22. package/dist/error-formatting.js +5 -12
  23. package/dist/error-formatting.js.map +1 -1
  24. package/dist/index.d.ts +12 -10
  25. package/dist/index.js +17 -9
  26. package/dist/index.js.map +1 -1
  27. package/dist/knowledge-base/materialize-knowledge-base.js +24 -16
  28. package/dist/knowledge-base/materialize-knowledge-base.js.map +1 -1
  29. package/dist/mcp/mcp-client-manager.js +3 -4
  30. package/dist/mcp/mcp-client-manager.js.map +1 -1
  31. package/dist/prompts/prompt-profiles.d.ts +24 -0
  32. package/dist/prompts/prompt-profiles.js +77 -0
  33. package/dist/prompts/prompt-profiles.js.map +1 -0
  34. package/dist/prompts/skill-variants.d.ts +15 -0
  35. package/dist/prompts/skill-variants.js +81 -0
  36. package/dist/prompts/skill-variants.js.map +1 -0
  37. package/dist/runtime/background-task-manager.js +5 -5
  38. package/dist/runtime/background-task-manager.js.map +1 -1
  39. package/dist/runtime/resumable-stream-executor.js +2 -3
  40. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  41. package/dist/runtime/run-state-registry.d.ts +12 -2
  42. package/dist/runtime/run-state-registry.js +35 -2
  43. package/dist/runtime/run-state-registry.js.map +1 -1
  44. package/dist/skills/materialize-runtime-skills.js +30 -23
  45. package/dist/skills/materialize-runtime-skills.js.map +1 -1
  46. package/dist/skills/runtime-skills.d.ts +8 -0
  47. package/dist/skills/runtime-skills.js +27 -0
  48. package/dist/skills/runtime-skills.js.map +1 -1
  49. package/dist/skills/skill-gates.d.ts +2 -0
  50. package/dist/skills/skill-gates.js +4 -1
  51. package/dist/skills/skill-gates.js.map +1 -1
  52. package/dist/storage/workflow-loop-storage.d.ts +550 -0
  53. package/dist/storage/workflow-loop-storage.js +31 -1
  54. package/dist/storage/workflow-loop-storage.js.map +1 -1
  55. package/dist/stream/consume-with-hitl.d.ts +0 -28
  56. package/dist/stream/consume-with-hitl.js +0 -50
  57. package/dist/stream/consume-with-hitl.js.map +1 -1
  58. package/dist/tools/activity.tool.d.ts +2 -0
  59. package/dist/tools/activity.tool.js +102 -0
  60. package/dist/tools/activity.tool.js.map +1 -0
  61. package/dist/tools/credentials.tool.js +5 -3
  62. package/dist/tools/credentials.tool.js.map +1 -1
  63. package/dist/tools/executions.tool.js +47 -10
  64. package/dist/tools/executions.tool.js.map +1 -1
  65. package/dist/tools/filesystem/create-tools-from-mcp-server.js +1 -0
  66. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
  67. package/dist/tools/index.d.ts +1 -1
  68. package/dist/tools/index.js +45 -55
  69. package/dist/tools/index.js.map +1 -1
  70. package/dist/tools/n8n-docs/schemas.js +1 -1
  71. package/dist/tools/n8n-docs/schemas.js.map +1 -1
  72. package/dist/tools/n8n-docs.tool.d.ts +2 -1
  73. package/dist/tools/n8n-docs.tool.js +11 -3
  74. package/dist/tools/n8n-docs.tool.js.map +1 -1
  75. package/dist/tools/orchestration/agent-persistence.d.ts +0 -12
  76. package/dist/tools/orchestration/agent-persistence.js +0 -34
  77. package/dist/tools/orchestration/agent-persistence.js.map +1 -1
  78. package/dist/tools/orchestration/build-agent.tool.js +3 -3
  79. package/dist/tools/orchestration/build-agent.tool.js.map +1 -1
  80. package/dist/tools/orchestration/complete-checkpoint.tool.js +1 -1
  81. package/dist/tools/orchestration/complete-checkpoint.tool.js.map +1 -1
  82. package/dist/tools/orchestration/plan.tool.js +5 -1
  83. package/dist/tools/orchestration/plan.tool.js.map +1 -1
  84. package/dist/tools/orchestration/report-verification-verdict.tool.js +7 -1
  85. package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -1
  86. package/dist/tools/orchestration/tracing-utils.d.ts +1 -6
  87. package/dist/tools/orchestration/tracing-utils.js +0 -99
  88. package/dist/tools/orchestration/tracing-utils.js.map +1 -1
  89. package/dist/tools/orchestration/verification/analyze-result.d.ts +5 -0
  90. package/dist/tools/orchestration/verification/analyze-result.js +27 -5
  91. package/dist/tools/orchestration/verification/analyze-result.js.map +1 -1
  92. package/dist/tools/orchestration/verification/claim.d.ts +14 -0
  93. package/dist/tools/orchestration/verification/claim.js +52 -0
  94. package/dist/tools/orchestration/verification/claim.js.map +1 -0
  95. package/dist/tools/orchestration/verification/finalize-result.d.ts +5 -2
  96. package/dist/tools/orchestration/verification/finalize-result.js +21 -25
  97. package/dist/tools/orchestration/verification/finalize-result.js.map +1 -1
  98. package/dist/tools/orchestration/verification/resolve-target.js +39 -15
  99. package/dist/tools/orchestration/verification/resolve-target.js.map +1 -1
  100. package/dist/tools/orchestration/verification/resolved-parameter-warnings.d.ts +58 -0
  101. package/dist/tools/orchestration/verification/resolved-parameter-warnings.js +127 -0
  102. package/dist/tools/orchestration/verification/resolved-parameter-warnings.js.map +1 -0
  103. package/dist/tools/orchestration/verification/scripted-gate-run.d.ts +3 -0
  104. package/dist/tools/orchestration/verification/scripted-gate-run.js +22 -2
  105. package/dist/tools/orchestration/verification/scripted-gate-run.js.map +1 -1
  106. package/dist/tools/orchestration/verification/types.d.ts +8 -1
  107. package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +3 -0
  108. package/dist/tools/orchestration/verify-built-workflow.tool.js +141 -18
  109. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -1
  110. package/dist/tools/research.tool.js +3 -2
  111. package/dist/tools/research.tool.js.map +1 -1
  112. package/dist/tools/task-control.tool.js +8 -1
  113. package/dist/tools/task-control.tool.js.map +1 -1
  114. package/dist/tools/tool-ids.d.ts +1 -3
  115. package/dist/tools/tool-ids.js +2 -3
  116. package/dist/tools/tool-ids.js.map +1 -1
  117. package/dist/tools/web-research/sanitize-web-content.d.ts +1 -2
  118. package/dist/tools/web-research/sanitize-web-content.js +6 -19
  119. package/dist/tools/web-research/sanitize-web-content.js.map +1 -1
  120. package/dist/tools/workflows/build-workflow.tool.d.ts +12 -0
  121. package/dist/tools/workflows/build-workflow.tool.js +173 -32
  122. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  123. package/dist/tools/workflows/detect-unparseable-openai-schema.js +1 -1
  124. package/dist/tools/workflows/detect-unparseable-openai-schema.js.map +1 -1
  125. package/dist/tools/workflows/detect-wrong-kind-locator.js +7 -9
  126. package/dist/tools/workflows/detect-wrong-kind-locator.js.map +1 -1
  127. package/dist/tools/workflows/reconcile-simulation-plan.js +1 -1
  128. package/dist/tools/workflows/reconcile-simulation-plan.js.map +1 -1
  129. package/dist/tools/workflows/resolve-credentials.js.map +1 -1
  130. package/dist/tools/workflows/setup-items.d.ts +5 -0
  131. package/dist/tools/workflows/setup-items.js +29 -0
  132. package/dist/tools/workflows/setup-items.js.map +1 -1
  133. package/dist/tools/workflows/setup-panel-state.d.ts +31 -0
  134. package/dist/tools/workflows/setup-panel-state.js +197 -0
  135. package/dist/tools/workflows/setup-panel-state.js.map +1 -0
  136. package/dist/tools/workflows/setup-workflow.service.d.ts +3 -1
  137. package/dist/tools/workflows/setup-workflow.service.js +20 -13
  138. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  139. package/dist/tools/workflows/validate-workflow.service.js.map +1 -1
  140. package/dist/tools/workflows/wait-gate-script.js +1 -1
  141. package/dist/tools/workflows/wait-gate-script.js.map +1 -1
  142. package/dist/tools/workflows/workflow-build-reporting.d.ts +1 -0
  143. package/dist/tools/workflows/workflow-build-reporting.js +1 -0
  144. package/dist/tools/workflows/workflow-build-reporting.js.map +1 -1
  145. package/dist/tools/workflows/workflow-build-telemetry.d.ts +5 -1
  146. package/dist/tools/workflows/workflow-build-telemetry.js +8 -0
  147. package/dist/tools/workflows/workflow-build-telemetry.js.map +1 -1
  148. package/dist/tools/workflows/workflow-file-bindings.js +0 -2
  149. package/dist/tools/workflows/workflow-file-bindings.js.map +1 -1
  150. package/dist/tools/workflows/workflow-source-compiler.js +80 -25
  151. package/dist/tools/workflows/workflow-source-compiler.js.map +1 -1
  152. package/dist/tools/workflows/workflow-validation-warnings.d.ts +13 -2
  153. package/dist/tools/workflows/workflow-validation-warnings.js +55 -1
  154. package/dist/tools/workflows/workflow-validation-warnings.js.map +1 -1
  155. package/dist/tools/workflows.tool.d.ts +1 -5
  156. package/dist/tools/workflows.tool.js +112 -136
  157. package/dist/tools/workflows.tool.js.map +1 -1
  158. package/dist/tracing/langsmith-tracing.d.ts +11 -22
  159. package/dist/tracing/langsmith-tracing.js +127 -112
  160. package/dist/tracing/langsmith-tracing.js.map +1 -1
  161. package/dist/tracing/sandbox-tracing.d.ts +17 -0
  162. package/dist/tracing/sandbox-tracing.js +60 -0
  163. package/dist/tracing/sandbox-tracing.js.map +1 -0
  164. package/dist/tracing/trace-payloads.d.ts +3 -0
  165. package/dist/tracing/trace-payloads.js +25 -4
  166. package/dist/tracing/trace-payloads.js.map +1 -1
  167. package/dist/tracing/trace-replay.js.map +1 -1
  168. package/dist/types.d.ts +57 -67
  169. package/dist/types.js.map +1 -1
  170. package/dist/utils/eval-agents.js +3 -7
  171. package/dist/utils/eval-agents.js.map +1 -1
  172. package/dist/utils/generate-validated-json.js +2 -6
  173. package/dist/utils/generate-validated-json.js.map +1 -1
  174. package/dist/workflow-loop/guidance.d.ts +1 -0
  175. package/dist/workflow-loop/guidance.js +48 -4
  176. package/dist/workflow-loop/guidance.js.map +1 -1
  177. package/dist/workflow-loop/render-claim.d.ts +6 -0
  178. package/dist/workflow-loop/render-claim.js +61 -0
  179. package/dist/workflow-loop/render-claim.js.map +1 -0
  180. package/dist/workflow-loop/setup-verification-policy.d.ts +3 -1
  181. package/dist/workflow-loop/setup-verification-policy.js +38 -0
  182. package/dist/workflow-loop/setup-verification-policy.js.map +1 -1
  183. package/dist/workflow-loop/verification-obligation.d.ts +1 -0
  184. package/dist/workflow-loop/verification-obligation.js +47 -14
  185. package/dist/workflow-loop/verification-obligation.js.map +1 -1
  186. package/dist/workflow-loop/verification-progress.d.ts +62 -0
  187. package/dist/workflow-loop/verification-progress.js +64 -0
  188. package/dist/workflow-loop/verification-progress.js.map +1 -0
  189. package/dist/workflow-loop/workflow-loop-controller.js +2 -0
  190. package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
  191. package/dist/workflow-loop/workflow-loop-state.d.ts +993 -0
  192. package/dist/workflow-loop/workflow-loop-state.js +32 -1
  193. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  194. package/dist/workflow-loop/workflow-task-service.d.ts +6 -1
  195. package/dist/workflow-loop/workflow-task-service.js +86 -6
  196. package/dist/workflow-loop/workflow-task-service.js.map +1 -1
  197. package/dist/workspace/lazy-runtime-workspace.js +57 -9
  198. package/dist/workspace/lazy-runtime-workspace.js.map +1 -1
  199. package/dist/workspace/prebaked-workspace-bundle.js +93 -58
  200. package/dist/workspace/prebaked-workspace-bundle.js.map +1 -1
  201. package/dist/workspace/sandbox-fs.js +56 -32
  202. package/dist/workspace/sandbox-fs.js.map +1 -1
  203. package/dist/workspace/sandbox-setup.js +65 -52
  204. package/dist/workspace/sandbox-setup.js.map +1 -1
  205. package/dist/workspace/workspace-files.js +76 -57
  206. package/dist/workspace/workspace-files.js.map +1 -1
  207. package/knowledge-base/reference/workflow-builder-guardrails.md +4 -2
  208. package/package.json +12 -12
  209. package/skills/agent-builder/SKILL.md +15 -6
  210. package/skills/credential-recipe-research/SKILL.md +1 -1
  211. package/skills/debugging-executions/SKILL.md +24 -0
  212. package/skills/instance-awareness/SKILL.md +122 -0
  213. package/skills/intent-recognition/SKILL.md +83 -49
  214. package/skills/n8n-docs-assistant/SKILL.md +5 -9
  215. package/skills/planned-task-runtime/SKILL.md +2 -2
  216. package/skills/planning/SKILL.md +3 -0
  217. package/skills/post-build-flow/SKILL.md +173 -23
  218. package/skills/progressive-building/SKILL.md +112 -0
  219. package/skills/workflow-builder/SKILL.md +45 -21
  220. package/dist/agent/sub-agent-briefing.d.ts +0 -20
  221. package/dist/agent/sub-agent-briefing.js +0 -39
  222. package/dist/agent/sub-agent-briefing.js.map +0 -1
  223. package/dist/tools/evals/analyze-agent-input-columns.service.d.ts +0 -6
  224. package/dist/tools/evals/analyze-agent-input-columns.service.js +0 -17
  225. package/dist/tools/evals/analyze-agent-input-columns.service.js.map +0 -1
  226. package/dist/tools/evals/apply-pin-data.service.d.ts +0 -3
  227. package/dist/tools/evals/apply-pin-data.service.js +0 -19
  228. package/dist/tools/evals/apply-pin-data.service.js.map +0 -1
  229. package/dist/tools/evals/column-ref-utils.d.ts +0 -20
  230. package/dist/tools/evals/column-ref-utils.js +0 -274
  231. package/dist/tools/evals/column-ref-utils.js.map +0 -1
  232. package/dist/tools/evals/describe-metric-for-workflow.service.d.ts +0 -6
  233. package/dist/tools/evals/describe-metric-for-workflow.service.js +0 -90
  234. package/dist/tools/evals/describe-metric-for-workflow.service.js.map +0 -1
  235. package/dist/tools/evals/detect-agent-named-refs.service.d.ts +0 -9
  236. package/dist/tools/evals/detect-agent-named-refs.service.js +0 -83
  237. package/dist/tools/evals/detect-agent-named-refs.service.js.map +0 -1
  238. package/dist/tools/evals/detect-ai-nodes.d.ts +0 -7
  239. package/dist/tools/evals/detect-ai-nodes.js +0 -75
  240. package/dist/tools/evals/detect-ai-nodes.js.map +0 -1
  241. package/dist/tools/evals/detect-tool-refs.service.d.ts +0 -7
  242. package/dist/tools/evals/detect-tool-refs.service.js +0 -66
  243. package/dist/tools/evals/detect-tool-refs.service.js.map +0 -1
  244. package/dist/tools/evals/ensure-eval-data-table.service.d.ts +0 -15
  245. package/dist/tools/evals/ensure-eval-data-table.service.js +0 -83
  246. package/dist/tools/evals/ensure-eval-data-table.service.js.map +0 -1
  247. package/dist/tools/evals/eval-data-requirements.service.d.ts +0 -20
  248. package/dist/tools/evals/eval-data-requirements.service.js +0 -187
  249. package/dist/tools/evals/eval-data-requirements.service.js.map +0 -1
  250. package/dist/tools/evals/evals.tool.d.ts +0 -45
  251. package/dist/tools/evals/evals.tool.js +0 -454
  252. package/dist/tools/evals/evals.tool.js.map +0 -1
  253. package/dist/tools/evals/extract-rows-from-history.service.d.ts +0 -17
  254. package/dist/tools/evals/extract-rows-from-history.service.js +0 -103
  255. package/dist/tools/evals/extract-rows-from-history.service.js.map +0 -1
  256. package/dist/tools/evals/format-eval-setup-task.d.ts +0 -16
  257. package/dist/tools/evals/format-eval-setup-task.js +0 -167
  258. package/dist/tools/evals/format-eval-setup-task.js.map +0 -1
  259. package/dist/tools/evals/generate-sample-rows.service.d.ts +0 -35
  260. package/dist/tools/evals/generate-sample-rows.service.js +0 -259
  261. package/dist/tools/evals/generate-sample-rows.service.js.map +0 -1
  262. package/dist/tools/evals/generate-tool-ref-pin-data.service.d.ts +0 -11
  263. package/dist/tools/evals/generate-tool-ref-pin-data.service.js +0 -112
  264. package/dist/tools/evals/generate-tool-ref-pin-data.service.js.map +0 -1
  265. package/dist/tools/evals/metric-catalog.d.ts +0 -63
  266. package/dist/tools/evals/metric-catalog.js +0 -81
  267. package/dist/tools/evals/metric-catalog.js.map +0 -1
  268. package/dist/tools/orchestration/eval-data-agent.tool.d.ts +0 -2
  269. package/dist/tools/orchestration/eval-data-agent.tool.js +0 -184
  270. package/dist/tools/orchestration/eval-data-agent.tool.js.map +0 -1
  271. package/dist/tools/orchestration/eval-setup-agent.prompt.d.ts +0 -1
  272. package/dist/tools/orchestration/eval-setup-agent.prompt.js +0 -238
  273. package/dist/tools/orchestration/eval-setup-agent.prompt.js.map +0 -1
  274. package/dist/tools/orchestration/eval-setup-agent.tool.d.ts +0 -31
  275. package/dist/tools/orchestration/eval-setup-agent.tool.js +0 -204
  276. package/dist/tools/orchestration/eval-setup-agent.tool.js.map +0 -1
  277. package/dist/tools/workflows/observed-workflow-checksums.d.ts +0 -4
  278. package/dist/tools/workflows/observed-workflow-checksums.js +0 -82
  279. package/dist/tools/workflows/observed-workflow-checksums.js.map +0 -1
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { AttributeValue, BuiltTelemetry, BuiltMemory, BuiltTool, CheckpointStore, MemoryTaskUsageReport, RuntimeSkillSource, ModelConfig as NativeModelConfig, ScopedMemoryTaskEvent, Telemetry, Workspace } from '@n8n/agents';
1
+ import type { AttributeValue, BuiltTelemetry, BuiltMemory, BuiltTool, CheckpointStore, ExecutionOptions, MemoryTaskUsageReport, RuntimeSkillSource, ModelConfig as NativeModelConfig, ScopedMemoryTaskEvent, Telemetry, Workspace } from '@n8n/agents';
2
2
  import type { AiGatewayNodeMeta } from '@n8n/ai-utilities/node-catalog';
3
- import type { AgentJsonConfig, AgentSkill, ChatIntegrationDescriptor, EvaluationMetric, TaskList, InstanceAiFileAttachment, InstanceAiPermissions, InstanceAiSetupItem, McpTool, McpToolCallRequest, McpToolCallResult } from '@n8n/api-types';
3
+ import type { AgentJsonConfig, AgentSkill, ChatIntegrationDescriptor, EvaluationMetric, TaskList, InstanceAiPromptConfiguration, InstanceAiFileAttachment, InstanceAiPermissions, InstanceAiSetupItem, McpTool, McpToolCallRequest, McpToolCallResult } from '@n8n/api-types';
4
4
  import type { OutputSchemaLookup, WorkflowJSON } from '@n8n/workflow-sdk';
5
5
  import type { GenericValue, INodeInputConfiguration, INodeTypes, ITaskData, NodeConnectionType } from 'n8n-workflow';
6
6
  import type { z } from 'zod';
@@ -17,7 +17,7 @@ import type { BuilderUsageItem } from './stream/usage-accumulator';
17
17
  import type { conversationHistoryExcerptSchema, conversationHistoryMatchSourceSchema, conversationHistoryMessageSchema, conversationHistoryMessagesResultSchema, conversationHistorySearchHitSchema, conversationHistorySearchResultSchema } from './tools/conversation-history.schema';
18
18
  import type { BuilderRequiredArtifact } from './tools/orchestration/builder-required-artifact';
19
19
  import type { IdRemapper, TraceIndex, TraceWriter } from './tracing/trace-replay';
20
- import type { VerificationResult, WorkflowBuildOutcome, WorkflowLoopAction, WorkflowLoopState, WorkflowVerificationObligation } from './workflow-loop/workflow-loop-state';
20
+ import type { VerificationClaim, VerificationResult, WorkflowBuildOutcome, WorkflowLoopAction, WorkflowLoopState, WorkflowVerificationEvidence, WorkflowTriggerVerificationProgress, WorkflowVerificationObligation } from './workflow-loop/workflow-loop-state';
21
21
  import type { BuilderTemplatesService } from './workspace/builder-templates-service';
22
22
  export type InstanceAiToolRegistry = Map<string, BuiltTool>;
23
23
  export interface WorkflowFolderRef {
@@ -71,13 +71,20 @@ export interface ExecutionResult {
71
71
  workflowPinnedNodeNames?: string[];
72
72
  nodeErrors?: ExecutionNodeError[];
73
73
  lastNodeExecuted?: string;
74
+ workflowVersionId?: string | null;
74
75
  error?: string;
75
76
  startedAt?: string;
76
77
  finishedAt?: string;
77
78
  }
79
+ export interface NodeOutputBranch {
80
+ index: number;
81
+ name?: string;
82
+ totalItems: number;
83
+ items: unknown[];
84
+ }
78
85
  export interface NodeOutputResult {
79
86
  nodeName: string;
80
- items: unknown[];
87
+ outputs: NodeOutputBranch[];
81
88
  totalItems: number;
82
89
  returned: {
83
90
  from: number;
@@ -227,6 +234,7 @@ export interface InstanceAiWorkflowService {
227
234
  }>>;
228
235
  getWorkflowHead(workflowId: string): Promise<{
229
236
  versionId: string;
237
+ activeVersionId: string | null;
230
238
  updatedAt: number;
231
239
  }>;
232
240
  getWorkflowSnapshot(workflowId: string): Promise<{
@@ -274,6 +282,7 @@ export interface ExecutionSummary {
274
282
  startedAt: string;
275
283
  finishedAt?: string;
276
284
  mode: string;
285
+ workflowVersionId?: string | null;
277
286
  }
278
287
  export interface InstanceAiExecutionService {
279
288
  list(options?: {
@@ -311,6 +320,7 @@ export interface InstanceAiExecutionService {
311
320
  export interface CredentialTypeSearchResult {
312
321
  type: string;
313
322
  displayName: string;
323
+ documentationUrl?: string;
314
324
  }
315
325
  export interface CredentialHostInfo {
316
326
  type: string;
@@ -371,6 +381,31 @@ export interface ConnectedMcpService {
371
381
  slug: string;
372
382
  toolNames: string[];
373
383
  }
384
+ export interface InstanceAiActivityEntry {
385
+ id: number;
386
+ at: string;
387
+ category: string;
388
+ action: string;
389
+ resourceType?: string;
390
+ resourceId?: string;
391
+ resourceName?: string;
392
+ byCurrentUser: boolean;
393
+ detail?: Record<string, unknown>;
394
+ }
395
+ export interface InstanceAiActivityExpansion {
396
+ entry: InstanceAiActivityEntry;
397
+ resourceHistory: InstanceAiActivityEntry[];
398
+ liveRecordHint?: string;
399
+ }
400
+ export interface InstanceAiActivityService {
401
+ list(input: {
402
+ limit: number;
403
+ category?: string;
404
+ resourceId?: string;
405
+ beforeId?: number;
406
+ }): Promise<InstanceAiActivityEntry[]>;
407
+ expand(id: number): Promise<InstanceAiActivityExpansion | null>;
408
+ }
374
409
  export interface InstanceAiMcpService {
375
410
  search(queries: string[]): Promise<McpRegistryServerSummary[]>;
376
411
  getServers(slugs: string[]): Promise<McpRegistryConnectServerSummary[]>;
@@ -409,7 +444,9 @@ export interface InstanceAiNodeService {
409
444
  query?: string;
410
445
  gatewayCreditsOnly?: boolean;
411
446
  }): Promise<NodeSummary[]>;
412
- getDescription(nodeType: string, version?: number): Promise<NodeDescription>;
447
+ getDescription(nodeType: string, version?: number, options?: {
448
+ includeGatewayMetadata?: boolean;
449
+ }): Promise<NodeDescription>;
413
450
  listSearchable(): Promise<SearchableNodeDescription[]>;
414
451
  getNodeTypeDefinition?(nodeType: string, options?: {
415
452
  version?: string;
@@ -769,6 +806,7 @@ export interface InstanceAiConversationHistoryReader {
769
806
  export interface InstanceAiContext {
770
807
  userId: string;
771
808
  tracing?: InstanceAiTraceContext;
809
+ runtimeSkillCatalog?: RuntimeSkillSource;
772
810
  projectId?: string;
773
811
  folderExplorationEnabled?: boolean;
774
812
  modelId?: ModelConfig;
@@ -780,6 +818,7 @@ export interface InstanceAiContext {
780
818
  evaluationConfigService?: InstanceAiEvaluationConfigService;
781
819
  mcpService?: InstanceAiMcpService;
782
820
  conversationHistoryService?: InstanceAiConversationHistoryReader;
821
+ activityService?: InstanceAiActivityService;
783
822
  connectedMcpServices?: ConnectedMcpService[];
784
823
  agentBuilderTarget?: {
785
824
  agentId: string;
@@ -827,6 +866,7 @@ export interface InstanceAiContext {
827
866
  };
828
867
  recordWorkflowCodeSnapshot?: (snapshot: WorkflowCodeSnapshotInput) => void;
829
868
  setupItemsEmitter?: SetupItemsEmitter;
869
+ markWorkflowSetupHandled?: (workflowId: string) => Promise<void>;
830
870
  aiCreatedWorkflowIds?: Set<string>;
831
871
  currentUserAttachments?: InstanceAiFileAttachment[];
832
872
  logger: Logger;
@@ -851,8 +891,10 @@ export interface InstanceAiContext {
851
891
  }
852
892
  export interface SetupItemsEmitter {
853
893
  emit(workflowId: string, items: InstanceAiSetupItem[]): boolean;
894
+ announce(workflowId: string, items: InstanceAiSetupItem[]): Promise<void>;
854
895
  merge(workflowId: string, items: InstanceAiSetupItem[]): boolean;
855
896
  lastWorkflowId(): string | undefined;
897
+ workflowIds(): string[];
856
898
  }
857
899
  export interface TaskStorage {
858
900
  get(threadId: string): Promise<TaskList | null>;
@@ -1005,6 +1047,7 @@ export interface InstanceAiMemoryConfig {
1005
1047
  observationalMemory?: {
1006
1048
  observerThresholdTokens: number;
1007
1049
  reflectorThresholdTokens: number;
1050
+ midRunObservation?: boolean;
1008
1051
  onTaskUsage?: (report: MemoryTaskUsageReport) => void | Promise<void>;
1009
1052
  };
1010
1053
  }
@@ -1100,48 +1143,18 @@ export interface BackgroundTaskResult {
1100
1143
  text: string;
1101
1144
  outcome?: Record<string, unknown>;
1102
1145
  }
1103
- export interface SpawnBackgroundTaskOptions {
1104
- taskId: string;
1105
- threadId: string;
1106
- agentId: string;
1107
- role: string;
1108
- traceContext?: InstanceAiTraceContext;
1109
- createTraceContext?: () => Promise<InstanceAiTraceContext | undefined>;
1110
- plannedTaskId?: string;
1111
- workItemId?: string;
1112
- dedupeKey?: {
1113
- plannedTaskId?: string;
1114
- workflowId?: string;
1115
- role: string;
1116
- };
1117
- parentCheckpointId?: string;
1118
- run: (signal: AbortSignal, drainCorrections: () => string[], waitForCorrection: () => Promise<void>, taskContext: {
1119
- traceContext?: InstanceAiTraceContext;
1120
- }) => Promise<string | BackgroundTaskResult>;
1121
- }
1122
- export type SpawnBackgroundTaskResult = {
1123
- status: 'started';
1124
- taskId: string;
1125
- agentId: string;
1126
- } | {
1127
- status: 'limit-reached';
1128
- } | {
1129
- status: 'duplicate';
1130
- existing: {
1131
- taskId: string;
1132
- agentId: string;
1133
- role: string;
1134
- plannedTaskId?: string;
1135
- workItemId?: string;
1136
- };
1137
- };
1138
1146
  export interface WorkflowTaskService {
1139
1147
  reportBuildOutcome(outcome: WorkflowBuildOutcome): Promise<WorkflowLoopAction>;
1140
1148
  reportVerificationVerdict(verdict: VerificationResult): Promise<WorkflowLoopAction>;
1141
1149
  getBuildOutcome(workItemId: string): Promise<WorkflowBuildOutcome | undefined>;
1142
1150
  getLatestBuildOutcomeForWorkflow(workflowId: string): Promise<WorkflowBuildOutcome | undefined>;
1143
1151
  getWorkflowLoopState(workItemId: string): Promise<WorkflowLoopState | undefined>;
1152
+ beginVerification(outcome: WorkflowBuildOutcome, state: WorkflowLoopState, runId: string): Promise<boolean>;
1144
1153
  updateBuildOutcome(workItemId: string, update: Partial<WorkflowBuildOutcome>): Promise<void>;
1154
+ startVerification(workItemId: string, triggerNodeName?: string): Promise<WorkflowTriggerVerificationProgress | undefined>;
1155
+ recordVerification(workItemId: string, verification: WorkflowVerificationEvidence & {
1156
+ claim: VerificationClaim;
1157
+ }, previousProgress?: WorkflowTriggerVerificationProgress): Promise<VerificationClaim | undefined>;
1145
1158
  }
1146
1159
  export interface OrchestrationContext {
1147
1160
  threadId: string;
@@ -1149,34 +1162,19 @@ export interface OrchestrationContext {
1149
1162
  messageGroupId?: string;
1150
1163
  userId: string;
1151
1164
  projectId?: string;
1165
+ promptConfiguration?: InstanceAiPromptConfiguration;
1166
+ disabledToolNames?: ReadonlySet<string>;
1167
+ setupPanelEnabled?: boolean;
1152
1168
  orchestratorAgentId: string;
1153
1169
  modelId: ModelConfig;
1154
- checkpointStore?: CheckpointStore;
1170
+ modelStreamStallOptions?: Pick<ExecutionOptions, 'modelStreamIdleTimeoutMs' | 'modelStreamFirstOutputTimeoutMs'>;
1155
1171
  eventBus: InstanceAiEventBus;
1156
1172
  logger: Logger;
1157
1173
  trackTelemetry?: (eventName: string, properties: Record<string, GenericValue>) => void;
1158
1174
  claimSubAgentUsage?: (dedupeId: string, usage: BuilderUsageItem[], status: TraceStatus) => Promise<void>;
1159
- domainTools: InstanceAiToolRegistry;
1160
1175
  abortSignal: AbortSignal;
1161
1176
  taskStorage: TaskStorage;
1162
1177
  tracing?: InstanceAiTraceContext;
1163
- waitForConfirmation?: (requestId: string) => Promise<{
1164
- approved: boolean;
1165
- credentialId?: string;
1166
- credentials?: Record<string, string>;
1167
- autoSetup?: {
1168
- credentialType: string;
1169
- };
1170
- userInput?: string;
1171
- domainAccessAction?: string;
1172
- resourceDecision?: string;
1173
- answers?: Array<{
1174
- questionId: string;
1175
- selectedOptions: string[];
1176
- customText?: string;
1177
- skipped?: boolean;
1178
- }>;
1179
- }>;
1180
1178
  localMcpServer?: LocalMcpServer;
1181
1179
  mcpTools?: InstanceAiToolRegistry;
1182
1180
  runtimeSkills?: RuntimeSkillSource;
@@ -1184,7 +1182,6 @@ export interface OrchestrationContext {
1184
1182
  oauth2CallbackUrl?: string;
1185
1183
  webhookBaseUrl?: string;
1186
1184
  formBaseUrl?: string;
1187
- spawnBackgroundTask?: (opts: SpawnBackgroundTaskOptions) => SpawnBackgroundTaskResult;
1188
1185
  cancelBackgroundTask?: (taskId: string) => Promise<void>;
1189
1186
  plannedTaskService?: PlannedTaskService;
1190
1187
  schedulePlannedTasks?: () => Promise<void>;
@@ -1192,7 +1189,6 @@ export interface OrchestrationContext {
1192
1189
  workspace?: Workspace;
1193
1190
  workspaceRoot?: string;
1194
1191
  nodeDefinitionDirs?: string[];
1195
- memory?: BuiltMemory;
1196
1192
  currentUserMessage?: string;
1197
1193
  isReplanFollowUp?: boolean;
1198
1194
  isCheckpointFollowUp?: boolean;
@@ -1203,12 +1199,6 @@ export interface OrchestrationContext {
1203
1199
  touchRun?: () => boolean;
1204
1200
  touchBackgroundTask?: (taskId: string) => boolean;
1205
1201
  workflowTaskService?: WorkflowTaskService;
1206
- tracingProxyConfig?: ServiceProxyConfig;
1207
- getRunningTaskSummaries?: () => Array<{
1208
- taskId: string;
1209
- role: string;
1210
- goal?: string;
1211
- }>;
1212
1202
  timeZone?: string;
1213
1203
  }
1214
1204
  export interface CreateInstanceAgentOptions {
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAstCa,QAAA,qCAAqC,GAAG,EAAE,CAAC;AAC3C,QAAA,oCAAoC,GAAG,CAAC,CAAC;AAoPzC,QAAA,kBAAkB,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAU,CAAC;AAE/D,QAAA,yBAAyB,GAAG,CAAC,UAAU,CAAU,CAAC;AAClD,QAAA,yBAAyB,GAAG;IACxC,GAAG,QAAA,kBAAkB;IACrB,GAAG,QAAA,yBAAyB;CACnB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA+yCa,QAAA,qCAAqC,GAAG,EAAE,CAAC;AAC3C,QAAA,oCAAoC,GAAG,CAAC,CAAC;AAmQzC,QAAA,kBAAkB,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAU,CAAC;AAE/D,QAAA,yBAAyB,GAAG,CAAC,UAAU,CAAU,CAAC;AAClD,QAAA,yBAAyB,GAAG;IACxC,GAAG,QAAA,kBAAkB;IACrB,GAAG,QAAA,yBAAyB;CACnB,CAAC"}
@@ -6,6 +6,7 @@ exports.createEvalAgent = createEvalAgent;
6
6
  exports.extractText = extractText;
7
7
  const agents_1 = require("@n8n/agents");
8
8
  Object.defineProperty(exports, "Tool", { enumerable: true, get: function () { return agents_1.Tool; } });
9
+ const agent_config_1 = require("@n8n/ai-utilities/agent-config");
9
10
  const parse_model_headers_1 = require("./parse-model-headers");
10
11
  const apply_agent_thinking_1 = require("../agent/apply-agent-thinking");
11
12
  exports.SONNET_MODEL = 'anthropic/claude-sonnet-4-6';
@@ -30,7 +31,7 @@ function isResolvingBuilderModel(modelId) {
30
31
  return modelId === builderModel;
31
32
  }
32
33
  function getApiKey(modelId) {
33
- const [provider] = modelId.split('/');
34
+ const provider = (0, agent_config_1.getProviderPrefix)(modelId);
34
35
  const providerKeyEnv = PROVIDER_API_KEY_ENV[provider];
35
36
  const providerKey = providerKeyEnv ? process.env[providerKeyEnv] : undefined;
36
37
  const anthropicLegacy = provider === 'anthropic' ? process.env.N8N_AI_ANTHROPIC_KEY : undefined;
@@ -67,12 +68,7 @@ function allowsKeylessCustomEndpoint(provider) {
67
68
  }
68
69
  function resolveEvalModelConfig(model) {
69
70
  const modelId = getModelId(model);
70
- const [provider, ...rest] = modelId.split('/');
71
- const joinedProviderModelId = rest.join('/');
72
- let providerModelId = modelId;
73
- if (joinedProviderModelId.length > 0) {
74
- providerModelId = joinedProviderModelId;
75
- }
71
+ const { provider, model: providerModelId } = (0, agent_config_1.splitModelId)(modelId);
76
72
  const attachBuilderEndpoint = isResolvingBuilderModel(modelId);
77
73
  return {
78
74
  modelId,
@@ -1 +1 @@
1
- {"version":3,"file":"eval-agents.js","sourceRoot":"","sources":["../../src/utils/eval-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval-agents.js","sourceRoot":"","sources":["../../src/utils/eval-agents.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateValidatedJson = generateValidatedJson;
4
+ const llm_output_1 = require("@n8n/ai-utilities/llm-output");
4
5
  const eval_agents_1 = require("./eval-agents");
5
- function stripMarkdownFences(text) {
6
- const trimmed = text.trim();
7
- const fencedMatch = /^```(?:json)?\s*([\s\S]*?)\s*```$/i.exec(trimmed);
8
- return fencedMatch ? fencedMatch[1].trim() : trimmed;
9
- }
10
6
  async function generateValidatedJson(agentName, options) {
11
7
  let text;
12
8
  try {
@@ -25,7 +21,7 @@ async function generateValidatedJson(agentName, options) {
25
21
  }
26
22
  let parsed;
27
23
  try {
28
- parsed = JSON.parse(stripMarkdownFences(text));
24
+ parsed = JSON.parse((0, llm_output_1.extractJsonCandidate)(text));
29
25
  }
30
26
  catch {
31
27
  return { ok: false, reason: 'invalid_json' };
@@ -1 +1 @@
1
- {"version":3,"file":"generate-validated-json.js","sourceRoot":"","sources":["../../src/utils/generate-validated-json.ts"],"names":[],"mappings":";;;AAaA,+CAA6D;AAmB7D,SAAS,mBAAmB,CAAC,IAAY;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACtD,CAAC;AAEM,KAAK,gCACX,SAAiB,EACjB,OAAwC;IAExC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAA,6BAAe,EAAC,SAAS,EAAE;YACtC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;SAChD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;YACjC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE;SACvF,CAAC,CAAC;QACH,IAAI,GAAG,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"generate-validated-json.js","sourceRoot":"","sources":["../../src/utils/generate-validated-json.ts"],"names":[],"mappings":";;;AAWA,6DAAoE;AAGpE,+CAA6D;AAmBtD,KAAK,gCACX,SAAiB,EACjB,OAAwC;IAExC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAA,6BAAe,EAAC,SAAS,EAAE;YACtC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;SAChD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;YACjC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE;SACvF,CAAC,CAAC;QACH,IAAI,GAAG,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iCAAoB,EAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { WorkflowLoopAction } from './workflow-loop-state';
2
2
  export interface WorkflowLoopGuidanceOptions {
3
3
  workItemId?: string;
4
+ setupPanelEnabled?: boolean;
4
5
  }
5
6
  export declare function formatWorkflowLoopGuidance(action: WorkflowLoopAction, options?: WorkflowLoopGuidanceOptions): string;
@@ -1,6 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatWorkflowLoopGuidance = formatWorkflowLoopGuidance;
4
+ const render_claim_1 = require("./render-claim");
5
+ function formatClaimLead(claim) {
6
+ if (claim?.level === 'verified') {
7
+ if (claim.liveState === 'live-stale') {
8
+ return (`${(0, render_claim_1.formatClaimHeadline)(claim)} ${(0, render_claim_1.describeClaimLiveState)(claim) ?? ''} ` +
9
+ 'Do NOT call the workflow live, running, or working in production. ' +
10
+ 'Say the fix is in the draft.');
11
+ }
12
+ return 'Workflow verified successfully.';
13
+ }
14
+ if (claim === undefined) {
15
+ return ('Build complete. No automatic verification evidence is recorded for this workflow. ' +
16
+ 'If you are relying on a live run you inspected, say which execution. ' +
17
+ 'Otherwise do NOT call the workflow verified, tested, or working.');
18
+ }
19
+ const rules = [
20
+ 'Do NOT call the workflow verified, tested, working, or ready to publish.',
21
+ 'Do NOT offer to publish it.',
22
+ (claim.pendingTriggers?.length ?? 0) > 0
23
+ ? 'Follow the verification obligation for the remaining triggers. Respect its attempt limit.'
24
+ : claim.liveTestRecommended
25
+ ? 'Offer a live end-to-end test instead.'
26
+ : '',
27
+ ].filter((rule) => rule !== '');
28
+ return [(0, render_claim_1.formatClaimHeadline)(claim), ...(0, render_claim_1.describeClaimCoverage)(claim), ...rules].join(' ');
29
+ }
30
+ function isVerifiedClaim(claim) {
31
+ return claim?.level === 'verified' && claim.liveState !== 'live-stale';
32
+ }
4
33
  function formatSourceFileInstruction(sourceFilePath) {
5
34
  if (!sourceFilePath) {
6
35
  return 'edit the workspace source file, then call `build-workflow` with that filePath';
@@ -14,20 +43,35 @@ function formatWorkflowLoopGuidance(action, options = {}) {
14
43
  case 'continue_building':
15
44
  return `BUILD FAILED: ${action.reason}. Fix the workflow source file: ${formatSourceFileInstruction(action.sourceFilePath)}.`;
16
45
  case 'done': {
46
+ const claimLead = formatClaimLead(action.claim);
17
47
  if (action.setupSkippedByUser) {
18
- return ('Workflow verified successfully. The credentials it still needs are ones the user ' +
48
+ return (claimLead +
49
+ ' The credentials it still needs are ones the user ' +
19
50
  'skipped earlier in this conversation, so do NOT open the setup card again. Tell them ' +
20
51
  'which parts stay unconfigured and what that means when the workflow runs, and offer ' +
21
52
  'to set them up whenever they want.');
22
53
  }
23
54
  if (action.mockedCredentialTypes?.length || action.hasUnresolvedPlaceholders) {
24
- return ('Workflow verified successfully with temporary mock data. ' +
55
+ if (options.setupPanelEnabled) {
56
+ return (`${claimLead} It still uses temporary mock data. ` +
57
+ `Call \`workflows(action="setup")\` with workflowId "${action.workflowId ?? 'unknown'}" once: ` +
58
+ 'it lists the remaining credentials and values in the setup panel next to the chat and returns them to you. ' +
59
+ 'When the result has `announced: true`, summarize it, report any validation warnings, and end your turn. ' +
60
+ 'Otherwise follow the returned guidance for validation errors, approvals, skipped items, or an existing setup card. ' +
61
+ 'Do not call `credentials(action="setup")` or `apply-workflow-credentials`, and do not tell the user to open the editor or canvas.');
62
+ }
63
+ return (`${claimLead} It still uses temporary mock data. ` +
25
64
  `Call \`workflows(action="setup")\` with workflowId "${action.workflowId ?? 'unknown'}" ` +
26
- 'to open the inline setup card in the AI Assistant panel for credentials, parameters, and triggers. ' +
65
+ 'to open the inline setup card in the n8n Assistant panel for credentials, parameters, and triggers. ' +
27
66
  'Do not tell the user to open the editor, use the canvas, or click a Setup button. ' +
28
67
  'Do not call `credentials(action="setup")` or `apply-workflow-credentials` — `workflows(action="setup")` handles everything.');
29
68
  }
30
- return `Workflow verified successfully. Report completion to the user.${action.workflowId ? ` Workflow ID: ${action.workflowId}` : ''}`;
69
+ const closing = action.claim?.level === 'verified' && action.claim.liveState === 'live-stale'
70
+ ? 'Report the outcome to the user, and ask whether to publish the fix.'
71
+ : isVerifiedClaim(action.claim)
72
+ ? 'Report completion to the user.'
73
+ : 'Report the outcome to the user.';
74
+ return `${claimLead} ${closing}${action.workflowId ? ` Workflow ID: ${action.workflowId}` : ''}`;
31
75
  }
32
76
  case 'verify':
33
77
  return (`VERIFY: Inspect the persisted workflow ${action.workflowId}: read the bound workspace source file you just built, or call \`workflows(action="get-as-code", workflowId)\` when you need to check for outside changes — it refreshes the file when the saved workflow changed and returns a node index. If it reports status "conflict", the file has unbuilt edits: build or discard them and call it again before trusting the index. Compare the relevant lines to the requested outcome. ` +
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../src/workflow-loop/guidance.ts"],"names":[],"mappings":";;;AAMA,SAAS,2BAA2B,CAAC,cAAkC;IACtE,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,+EAA+E,CAAC;IACxF,CAAC;IAED,OAAO,+BAA+B,cAAc,kDAAkD,cAAc,GAAG,CAAC;AACzH,CAAC;AAED,oCACC,MAA0B,EAC1B,OAAO,GAAgC,EAAE;IAEzC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,SAAS;YACb,OAAO,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC;QACjD,KAAK,mBAAmB;YACvB,OAAO,iBAAiB,MAAM,CAAC,MAAM,mCAAmC,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;QAC/H,KAAK,MAAM,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAC/B,OAAO,CACN,mFAAmF;oBACnF,uFAAuF;oBACvF,sFAAsF;oBACtF,oCAAoC,CACpC,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,qBAAqB,EAAE,MAAM,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBAC9E,OAAO,CACN,2DAA2D;oBAC3D,uDAAuD,MAAM,CAAC,UAAU,IAAI,SAAS,IAAI;oBACzF,qGAAqG;oBACrG,oFAAoF;oBACpF,6HAA6H,CAC7H,CAAC;YACH,CAAC;YACD,OAAO,iEAAiE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzI,CAAC;QACD,KAAK,QAAQ;YACZ,OAAO,CACN,0CAA0C,MAAM,CAAC,UAAU,maAAma;gBAC9d,sDAAsD;gBACtD,kDAAkD,MAAM,CAAC,UAAU,IAAI,SAAS,GAAG;gBACnF,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,oFAAoF;gBACpF,4GAA4G;gBAC5G,6DAA6D;gBAC7D,mJAAmJ;gBACnJ,8DAA8D,OAAO,CAAC,UAAU,IAAI,SAAS,+CAA+C,CAC5I,CAAC;QACH,KAAK,SAAS;YACb,OAAO,kBAAkB,MAAM,CAAC,MAAM,oDAAoD,CAAC;QAC5F,KAAK,SAAS;YACb,OAAO,CACN,6BAA6B,MAAM,CAAC,UAAU,6BAA6B;gBAC3E,wCAAwC,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI;gBAC9F,mBAAmB,MAAM,CAAC,UAAU,wFAAwF,OAAO,CAAC,UAAU,IAAI,SAAS,qBAAqB;gBAChL,oDAAoD,MAAM,CAAC,cAAc,EAAE,CAC3E,CAAC;QACH,KAAK,OAAO;YACX,OAAO,CACN,uBAAuB,MAAM,CAAC,cAAc,iBAAiB,MAAM,CAAC,UAAU,yBAAyB;gBACvG,cAAc,MAAM,CAAC,SAAS,IAAI;gBAClC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,wCAAwC,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI;gBAC9F,mBAAmB,MAAM,CAAC,UAAU,wFAAwF,OAAO,CAAC,UAAU,IAAI,SAAS,oBAAoB,CAC/K,CAAC;IACJ,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../src/workflow-loop/guidance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { VerificationClaim } from './workflow-loop-state';
2
+ export declare function formatClaimNodeList(names: readonly string[], max?: number): string;
3
+ export declare function formatClaimHeadline(claim: VerificationClaim): string;
4
+ export declare function describeClaimLiveState(claim: VerificationClaim): string | undefined;
5
+ export declare function describeClaimCoverage(claim: VerificationClaim): string[];
6
+ export declare function formatClaimDisclosure(claim: VerificationClaim): string | undefined;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatClaimNodeList = formatClaimNodeList;
4
+ exports.formatClaimHeadline = formatClaimHeadline;
5
+ exports.describeClaimLiveState = describeClaimLiveState;
6
+ exports.describeClaimCoverage = describeClaimCoverage;
7
+ exports.formatClaimDisclosure = formatClaimDisclosure;
8
+ function formatClaimNodeList(names, max = 8) {
9
+ if (names.length <= max)
10
+ return names.join(', ');
11
+ return `${names.slice(0, max).join(', ')} and ${String(names.length - max)} more`;
12
+ }
13
+ function formatClaimHeadline(claim) {
14
+ switch (claim.level) {
15
+ case 'verified':
16
+ return claim.liveState === 'live-stale'
17
+ ? 'Verified in the draft, NOT live.'
18
+ : 'Verified end to end.';
19
+ case 'unproven':
20
+ return ('Changed but NOT verified. The node(s) this change was about were never proven: ' +
21
+ `${formatClaimNodeList(claim.unprovenTargets)}.`);
22
+ case 'partial':
23
+ return 'Ran without errors, but NOT fully verified.';
24
+ case 'failed':
25
+ return 'Verification did not pass.';
26
+ }
27
+ }
28
+ function describeClaimLiveState(claim) {
29
+ if (claim.liveState !== 'live-stale')
30
+ return undefined;
31
+ return ('This ran against the draft. The live version is still the previous one, ' +
32
+ 'so nothing changed for production yet.');
33
+ }
34
+ function describeClaimCoverage(claim) {
35
+ const facts = [];
36
+ if ((claim.pendingTriggers?.length ?? 0) > 0) {
37
+ facts.push(`Verification evidence is incomplete for these triggers: ${formatClaimNodeList(claim.pendingTriggers ?? [])}.`);
38
+ }
39
+ const liveState = describeClaimLiveState(claim);
40
+ if (liveState !== undefined)
41
+ facts.push(liveState);
42
+ if (claim.nodesNotReached.length > 0) {
43
+ facts.push(`${String(claim.nodesNotReached.length)} of ${String(claim.plannedNodeCount)} node(s) were ` +
44
+ `never reached, so they are UNVERIFIED: ${formatClaimNodeList(claim.nodesNotReached)}.`);
45
+ }
46
+ if (claim.simulatedNodes.length > 0) {
47
+ facts.push('Output was simulated, so nothing real happened at: ' +
48
+ `${formatClaimNodeList(claim.simulatedNodes.map((node) => node.nodeName))}.`);
49
+ }
50
+ if (claim.pinnedNodes.length > 0) {
51
+ facts.push(`Some output came from pin data saved on the workflow: ${formatClaimNodeList(claim.pinnedNodes)}. ` +
52
+ 'Remove those pins for a live test.');
53
+ }
54
+ return facts;
55
+ }
56
+ function formatClaimDisclosure(claim) {
57
+ if (claim.level === 'verified')
58
+ return undefined;
59
+ return [formatClaimHeadline(claim), ...describeClaimCoverage(claim)].join(' ');
60
+ }
61
+ //# sourceMappingURL=render-claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-claim.js","sourceRoot":"","sources":["../../src/workflow-loop/render-claim.ts"],"names":[],"mappings":";;;;;;;AAUA,6BAAoC,KAAwB,EAAE,GAAG,GAAG,CAAC;IACpE,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,6BAAoC,KAAwB;IAC3D,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,UAAU;YAId,OAAO,KAAK,CAAC,SAAS,KAAK,YAAY;gBACtC,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,sBAAsB,CAAC;QAC3B,KAAK,UAAU;YACd,OAAO,CACN,iFAAiF;gBACjF,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAChD,CAAC;QACH,KAAK,SAAS;YACb,OAAO,6CAA6C,CAAC;QACtD,KAAK,QAAQ;YACZ,OAAO,4BAA4B,CAAC;IACtC,CAAC;AACF,CAAC;AAYD,gCAAuC,KAAwB;IAC9D,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,CACN,0EAA0E;QAC1E,wCAAwC,CACxC,CAAC;AACH,CAAC;AAED,+BAAsC,KAAwB;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CACT,2DAA2D,mBAAmB,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,GAAG,CAC9G,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB;YAC3F,0CAA0C,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CACxF,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACT,qDAAqD;YACpD,GAAG,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAC7E,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CACT,yDAAyD,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;YAClG,oCAAoC,CACrC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,+BAAsC,KAAwB;IAK7D,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACjD,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChF,CAAC"}
@@ -1,8 +1,10 @@
1
- import type { RemediationMetadata, WorkflowBuildOutcome } from './workflow-loop-state';
1
+ import type { RemediationMetadata, WorkflowBuildOutcome, WorkflowLoopState } from './workflow-loop-state';
2
2
  export declare function isNeedsSetupRemediation(remediation: RemediationMetadata | undefined): remediation is RemediationMetadata & {
3
3
  category: 'needs_setup';
4
4
  shouldEdit: false;
5
5
  };
6
6
  export declare function shouldVerifyBeforeSetup(outcome: WorkflowBuildOutcome): boolean;
7
+ export declare function canVerifyPendingSetup(outcome: WorkflowBuildOutcome): boolean;
8
+ export declare function stateForPendingSetupVerification(state: WorkflowLoopState, outcome: WorkflowBuildOutcome, runId?: string): WorkflowLoopState | undefined;
7
9
  export declare function buildRemediationForVerification(outcome: WorkflowBuildOutcome, remediation: RemediationMetadata | undefined): RemediationMetadata | undefined;
8
10
  export declare function setupRemediationBlocksVerification(remediation: RemediationMetadata | undefined, outcome: WorkflowBuildOutcome): boolean;
@@ -2,14 +2,52 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isNeedsSetupRemediation = isNeedsSetupRemediation;
4
4
  exports.shouldVerifyBeforeSetup = shouldVerifyBeforeSetup;
5
+ exports.canVerifyPendingSetup = canVerifyPendingSetup;
6
+ exports.stateForPendingSetupVerification = stateForPendingSetupVerification;
5
7
  exports.buildRemediationForVerification = buildRemediationForVerification;
6
8
  exports.setupRemediationBlocksVerification = setupRemediationBlocksVerification;
9
+ const remediation_1 = require("./remediation");
7
10
  function isNeedsSetupRemediation(remediation) {
8
11
  return remediation?.category === 'needs_setup' && !remediation.shouldEdit;
9
12
  }
10
13
  function shouldVerifyBeforeSetup(outcome) {
11
14
  return outcome.submitted && outcome.verificationReadiness?.status === 'ready';
12
15
  }
16
+ function canVerifyPendingSetup(outcome) {
17
+ return (outcome.submitted &&
18
+ !!outcome.workflowId &&
19
+ outcome.triggerType === 'manual_or_testable' &&
20
+ outcome.executionIntent !== 'one-off' &&
21
+ outcome.verificationReadiness?.status === 'needs_setup' &&
22
+ outcome.nodeSimulationPlan !== undefined &&
23
+ (outcome.verifyAttempts ?? 0) === 0 &&
24
+ outcome.verification?.attempted !== true);
25
+ }
26
+ function stateForPendingSetupVerification(state, outcome, runId) {
27
+ const canRetrySetup = runId !== undefined &&
28
+ state.runId !== runId &&
29
+ isNeedsSetupRemediation(state.lastRemediation) &&
30
+ outcome.submitted &&
31
+ !!outcome.workflowId &&
32
+ outcome.triggerType === 'manual_or_testable' &&
33
+ outcome.executionIntent !== 'one-off' &&
34
+ outcome.verificationReadiness?.status !== 'not_verifiable' &&
35
+ outcome.nodeSimulationPlan !== undefined &&
36
+ (outcome.verifyAttempts ?? 0) < remediation_1.MAX_VERIFY_ATTEMPTS;
37
+ if ((!canVerifyPendingSetup(outcome) && !canRetrySetup) ||
38
+ !(isNeedsSetupRemediation(state.lastRemediation) ||
39
+ (state.lastRemediation === undefined && outcome.needsUserInput))) {
40
+ return undefined;
41
+ }
42
+ const next = {
43
+ ...state,
44
+ phase: 'verifying',
45
+ status: 'active',
46
+ lastRemediation: undefined,
47
+ };
48
+ const blocker = (0, remediation_1.terminalRemediationFromState)(next);
49
+ return blocker ? { ...state, status: 'blocked', lastRemediation: blocker } : next;
50
+ }
13
51
  function buildRemediationForVerification(outcome, remediation) {
14
52
  return shouldVerifyBeforeSetup(outcome) && isNeedsSetupRemediation(remediation)
15
53
  ? undefined
@@ -1 +1 @@
1
- {"version":3,"file":"setup-verification-policy.js","sourceRoot":"","sources":["../../src/workflow-loop/setup-verification-policy.ts"],"names":[],"mappings":";;;;;;AAEA,iCACC,WAA4C;IAE5C,OAAO,WAAW,EAAE,QAAQ,KAAK,aAAa,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAC3E,CAAC;AAED,iCAAwC,OAA6B;IACpE,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,EAAE,MAAM,KAAK,OAAO,CAAC;AAC/E,CAAC;AAED,yCACC,OAA6B,EAC7B,WAA4C;IAE5C,OAAO,uBAAuB,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,WAAW,CAAC;QAC9E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC;AAChB,CAAC;AAED,4CACC,WAA4C,EAC5C,OAA6B;IAE7B,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,CAAC,qBAAqB,EAAE,MAAM,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,OAAO,CAAC,YAAY,EAAE,SAAS,KAAK,IAAI,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"setup-verification-policy.js","sourceRoot":"","sources":["../../src/workflow-loop/setup-verification-policy.ts"],"names":[],"mappings":";;;;;;;;AAAA,+CAAkF;AAOlF,iCACC,WAA4C;IAE5C,OAAO,WAAW,EAAE,QAAQ,KAAK,aAAa,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAC3E,CAAC;AAED,iCAAwC,OAA6B;IACpE,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,qBAAqB,EAAE,MAAM,KAAK,OAAO,CAAC;AAC/E,CAAC;AAGD,+BAAsC,OAA6B;IAClE,OAAO,CACN,OAAO,CAAC,SAAS;QACjB,CAAC,CAAC,OAAO,CAAC,UAAU;QACpB,OAAO,CAAC,WAAW,KAAK,oBAAoB;QAC5C,OAAO,CAAC,eAAe,KAAK,SAAS;QACrC,OAAO,CAAC,qBAAqB,EAAE,MAAM,KAAK,aAAa;QACvD,OAAO,CAAC,kBAAkB,KAAK,SAAS;QACxC,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC;QACnC,OAAO,CAAC,YAAY,EAAE,SAAS,KAAK,IAAI,CACxC,CAAC;AACH,CAAC;AAGD,0CACC,KAAwB,EACxB,OAA6B,EAC7B,KAAc;IAEd,MAAM,aAAa,GAClB,KAAK,KAAK,SAAS;QACnB,KAAK,CAAC,KAAK,KAAK,KAAK;QACrB,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC;QAC9C,OAAO,CAAC,SAAS;QACjB,CAAC,CAAC,OAAO,CAAC,UAAU;QACpB,OAAO,CAAC,WAAW,KAAK,oBAAoB;QAC5C,OAAO,CAAC,eAAe,KAAK,SAAS;QACrC,OAAO,CAAC,qBAAqB,EAAE,MAAM,KAAK,gBAAgB;QAC1D,OAAO,CAAC,kBAAkB,KAAK,SAAS;QACxC,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,iCAAmB,CAAC;IACrD,IACC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;QACnD,CAAC,CACA,uBAAuB,CAAC,KAAK,CAAC,eAAe,CAAC;YAC9C,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,CAC/D,EACA,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAsB;QAC/B,GAAG,KAAK;QACR,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,QAAQ;QAChB,eAAe,EAAE,SAAS;KAC1B,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,0CAA4B,EAAC,IAAI,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnF,CAAC;AAED,yCACC,OAA6B,EAC7B,WAA4C;IAE5C,OAAO,uBAAuB,CAAC,OAAO,CAAC,IAAI,uBAAuB,CAAC,WAAW,CAAC;QAC9E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC;AAChB,CAAC;AAED,4CACC,WAA4C,EAC5C,OAA6B;IAE7B,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,CAAC,qBAAqB,EAAE,MAAM,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,OAAO,CAAC,YAAY,EAAE,SAAS,KAAK,IAAI,CAAC;AACjD,CAAC"}
@@ -9,6 +9,7 @@ export interface DeriveWorkflowVerificationObligationOptions {
9
9
  owner?: WorkflowBuildOwner;
10
10
  plannedTaskId?: string;
11
11
  updatedAt?: string;
12
+ setupPanelEnabled?: boolean;
12
13
  }
13
14
  export declare function deriveWorkflowVerificationObligation(threadId: string, record: WorkflowVerificationObligationRecord, options?: DeriveWorkflowVerificationObligationOptions): WorkflowVerificationObligation;
14
15
  export declare function isWorkflowVerificationObligationUnsettled(obligation: WorkflowVerificationObligation): boolean;