@n8n/instance-ai 1.6.2 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/computer-use-prompt.js +33 -2
- package/dist/agent/computer-use-prompt.js.map +1 -1
- package/dist/agent/instance-agent.js +0 -1
- package/dist/agent/instance-agent.js.map +1 -1
- package/dist/agent/shared-prompts.d.ts +1 -1
- package/dist/agent/shared-prompts.js +1 -1
- package/dist/agent/shared-prompts.js.map +1 -1
- package/dist/agent/sub-agent-debriefing.d.ts +2 -2
- package/dist/agent/system-prompt.d.ts +0 -1
- package/dist/agent/system-prompt.js +14 -15
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/planned-tasks/planned-task-service.d.ts +3 -0
- package/dist/planned-tasks/planned-task-service.js +14 -7
- package/dist/planned-tasks/planned-task-service.js.map +1 -1
- package/dist/runtime/builder-sandbox-session-registry.d.ts +2 -0
- package/dist/runtime/builder-sandbox-session-registry.js +8 -1
- package/dist/runtime/builder-sandbox-session-registry.js.map +1 -1
- package/dist/runtime/resumable-stream-executor.d.ts +1 -0
- package/dist/runtime/resumable-stream-executor.js +7 -0
- package/dist/runtime/resumable-stream-executor.js.map +1 -1
- package/dist/runtime/run-state-registry.d.ts +11 -4
- package/dist/runtime/run-state-registry.js +14 -10
- package/dist/runtime/run-state-registry.js.map +1 -1
- package/dist/stream/consume-with-hitl.d.ts +2 -0
- package/dist/stream/consume-with-hitl.js +1 -0
- package/dist/stream/consume-with-hitl.js.map +1 -1
- package/dist/tools/attachments/parse-file.tool.d.ts +2 -2
- package/dist/tools/credentials.tool.d.ts +2 -2
- package/dist/tools/credentials.tool.js +6 -0
- package/dist/tools/credentials.tool.js.map +1 -1
- package/dist/tools/evals/analyze-agent-input-columns.service.d.ts +6 -0
- package/dist/tools/evals/analyze-agent-input-columns.service.js +17 -0
- package/dist/tools/evals/analyze-agent-input-columns.service.js.map +1 -0
- package/dist/tools/evals/column-ref-utils.d.ts +18 -0
- package/dist/tools/evals/column-ref-utils.js +116 -0
- package/dist/tools/evals/column-ref-utils.js.map +1 -0
- package/dist/tools/evals/describe-metric-for-workflow.service.d.ts +6 -0
- package/dist/tools/evals/describe-metric-for-workflow.service.js +108 -0
- package/dist/tools/evals/describe-metric-for-workflow.service.js.map +1 -0
- package/dist/tools/evals/detect-agent-named-refs.service.d.ts +9 -0
- package/dist/tools/evals/detect-agent-named-refs.service.js +67 -0
- package/dist/tools/evals/detect-agent-named-refs.service.js.map +1 -0
- package/dist/tools/evals/detect-ai-nodes.d.ts +7 -0
- package/dist/tools/evals/detect-ai-nodes.js +75 -0
- package/dist/tools/evals/detect-ai-nodes.js.map +1 -0
- package/dist/tools/evals/detect-tool-refs.service.d.ts +7 -0
- package/dist/tools/evals/detect-tool-refs.service.js +65 -0
- package/dist/tools/evals/detect-tool-refs.service.js.map +1 -0
- package/dist/tools/evals/eval-data-requirements.service.d.ts +19 -0
- package/dist/tools/evals/eval-data-requirements.service.js +167 -0
- package/dist/tools/evals/eval-data-requirements.service.js.map +1 -0
- package/dist/tools/evals/metric-catalog.d.ts +57 -0
- package/dist/tools/evals/metric-catalog.js +81 -0
- package/dist/tools/evals/metric-catalog.js.map +1 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +7 -1
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
- package/dist/tools/nodes/node-search-engine.types.d.ts +7 -0
- package/dist/tools/orchestration/build-workflow-agent.prompt.js +34 -223
- package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
- package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +12 -1
- package/dist/tools/orchestration/build-workflow-agent.tool.js +130 -27
- package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
- package/dist/tools/orchestration/delegate.schemas.d.ts +2 -2
- package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
- package/dist/tools/orchestration/plan-agent-prompt.js +7 -1
- package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -1
- package/dist/tools/orchestration/plan.tool.js +21 -4
- package/dist/tools/orchestration/plan.tool.js.map +1 -1
- package/dist/tools/workflows/submit-workflow-identity.d.ts +6 -1
- package/dist/tools/workflows/submit-workflow-identity.js +17 -4
- package/dist/tools/workflows/submit-workflow-identity.js.map +1 -1
- package/dist/tools/workflows/submit-workflow.tool.d.ts +2 -2
- package/dist/tools/workflows/submit-workflow.tool.js +5 -1
- package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
- package/dist/tools/workflows.tool.js +19 -2
- package/dist/tools/workflows.tool.js.map +1 -1
- package/dist/tracing/langsmith-tracing.d.ts +2 -0
- package/dist/tracing/langsmith-tracing.js +29 -0
- package/dist/tracing/langsmith-tracing.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/utils/eval-agents.d.ts +3 -0
- package/dist/utils/eval-agents.js +7 -0
- package/dist/utils/eval-agents.js.map +1 -1
- package/dist/utils/scrub-secrets.d.ts +1 -0
- package/dist/utils/scrub-secrets.js +19 -0
- package/dist/utils/scrub-secrets.js.map +1 -0
- package/dist/workflow-loop/guidance.js +2 -1
- package/dist/workflow-loop/guidance.js.map +1 -1
- package/dist/workflow-loop/index.d.ts +1 -0
- package/dist/workflow-loop/index.js +3 -1
- package/dist/workflow-loop/index.js.map +1 -1
- package/dist/workflow-loop/terminal-remediation-guard.d.ts +6 -0
- package/dist/workflow-loop/terminal-remediation-guard.js +18 -0
- package/dist/workflow-loop/terminal-remediation-guard.js.map +1 -0
- package/dist/workspace/builder-sandbox-factory.d.ts +2 -0
- package/dist/workspace/builder-sandbox-factory.js +12 -3
- package/dist/workspace/builder-sandbox-factory.js.map +1 -1
- package/dist/workspace/guarded-filesystem.d.ts +10 -0
- package/dist/workspace/guarded-filesystem.js +136 -0
- package/dist/workspace/guarded-filesystem.js.map +1 -0
- package/dist/workspace/sandbox-fs.js +34 -11
- package/dist/workspace/sandbox-fs.js.map +1 -1
- package/dist/workspace/sandbox-setup.d.ts +2 -0
- package/dist/workspace/sandbox-setup.js +35 -20
- package/dist/workspace/sandbox-setup.js.map +1 -1
- package/dist/workspace/template-telemetry.d.ts +23 -0
- package/dist/workspace/template-telemetry.js +180 -0
- package/dist/workspace/template-telemetry.js.map +1 -0
- package/package.json +20 -16
|
@@ -10,6 +10,7 @@ exports.withTerminalLoopState = withTerminalLoopState;
|
|
|
10
10
|
exports.finalizeBuildResult = finalizeBuildResult;
|
|
11
11
|
exports.supportingWorkflowIdsFromSubmitAttempts = supportingWorkflowIdsFromSubmitAttempts;
|
|
12
12
|
exports.resultFromPostStreamError = resultFromPostStreamError;
|
|
13
|
+
exports.resultFromTerminalRemediation = resultFromTerminalRemediation;
|
|
13
14
|
exports.resultFromLaterFailedMainSubmit = resultFromLaterFailedMainSubmit;
|
|
14
15
|
exports.attemptFromAutoResubmit = attemptFromAutoResubmit;
|
|
15
16
|
exports.shouldRecoverSavedWorkflowAfterFailedSubmit = shouldRecoverSavedWorkflowAfterFailedSubmit;
|
|
@@ -18,6 +19,7 @@ exports.createBuildWorkflowAgentTool = createBuildWorkflowAgentTool;
|
|
|
18
19
|
const agent_1 = require("@mastra/core/agent");
|
|
19
20
|
const tools_1 = require("@mastra/core/tools");
|
|
20
21
|
const workflow_sdk_1 = require("@n8n/workflow-sdk");
|
|
22
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
21
23
|
const nanoid_1 = require("nanoid");
|
|
22
24
|
const node_crypto_1 = require("node:crypto");
|
|
23
25
|
const zod_1 = require("zod");
|
|
@@ -37,6 +39,7 @@ const extract_code_1 = require("../../workflow-builder/extract-code");
|
|
|
37
39
|
const workflow_loop_1 = require("../../workflow-loop");
|
|
38
40
|
const sandbox_fs_1 = require("../../workspace/sandbox-fs");
|
|
39
41
|
const sandbox_setup_1 = require("../../workspace/sandbox-setup");
|
|
42
|
+
const template_telemetry_1 = require("../../workspace/template-telemetry");
|
|
40
43
|
const credentials_tool_1 = require("../credentials.tool");
|
|
41
44
|
const resolve_credentials_1 = require("../workflows/resolve-credentials");
|
|
42
45
|
const submit_workflow_identity_1 = require("../workflows/submit-workflow-identity");
|
|
@@ -63,6 +66,7 @@ const BUILDER_SANDBOX_TOOL_NAMES = [
|
|
|
63
66
|
'executions',
|
|
64
67
|
'data-tables',
|
|
65
68
|
'ask-user',
|
|
69
|
+
'research',
|
|
66
70
|
];
|
|
67
71
|
const BUILDER_TOOL_MODE_TOOL_NAMES = [
|
|
68
72
|
'build-workflow',
|
|
@@ -70,6 +74,7 @@ const BUILDER_TOOL_MODE_TOOL_NAMES = [
|
|
|
70
74
|
'workflows',
|
|
71
75
|
'data-tables',
|
|
72
76
|
'ask-user',
|
|
77
|
+
'research',
|
|
73
78
|
];
|
|
74
79
|
function createBuilderWorkflowsTool(context) {
|
|
75
80
|
return (0, workflows_tool_1.createWorkflowsTool)(context, {
|
|
@@ -383,6 +388,17 @@ function hashContent(content) {
|
|
|
383
388
|
.update(content ?? '', 'utf8')
|
|
384
389
|
.digest('hex');
|
|
385
390
|
}
|
|
391
|
+
function createLinkedAbortController(parentSignal) {
|
|
392
|
+
const controller = new AbortController();
|
|
393
|
+
if (parentSignal.aborted) {
|
|
394
|
+
controller.abort(parentSignal.reason);
|
|
395
|
+
return controller;
|
|
396
|
+
}
|
|
397
|
+
parentSignal.addEventListener('abort', () => controller.abort(parentSignal.reason), {
|
|
398
|
+
once: true,
|
|
399
|
+
});
|
|
400
|
+
return controller;
|
|
401
|
+
}
|
|
386
402
|
function deterministicSuffix(seed, label, length) {
|
|
387
403
|
return (0, node_crypto_1.createHash)('sha256')
|
|
388
404
|
.update(label)
|
|
@@ -463,6 +479,25 @@ function resultFromPostStreamError(input) {
|
|
|
463
479
|
outcome: buildOutcome(input.workItemId, input.runId, input.taskId, attempt, text, supportingWorkflowIdsFromSubmitAttempts(input.submitAttempts, input.mainWorkflowPath, attempt.workflowId, attempt.referencedWorkflowIds)),
|
|
464
480
|
};
|
|
465
481
|
}
|
|
482
|
+
function resultFromTerminalRemediation(input) {
|
|
483
|
+
const latestAttempt = latestMainSubmit(input.submitAttempts, input.mainWorkflowPath);
|
|
484
|
+
const attempt = latestAttempt &&
|
|
485
|
+
!latestAttempt.success &&
|
|
486
|
+
shouldRecoverSavedWorkflowAfterFailedSubmit(latestAttempt)
|
|
487
|
+
? (latestSuccessfulMainSubmit(input.submitAttempts, input.mainWorkflowPath) ?? latestAttempt)
|
|
488
|
+
: latestAttempt;
|
|
489
|
+
const text = input.remediation.guidance;
|
|
490
|
+
const outcome = buildOutcome(input.workItemId, input.runId, input.taskId, attempt, text, supportingWorkflowIdsFromSubmitAttempts(input.submitAttempts, input.mainWorkflowPath, attempt?.workflowId, attempt?.referencedWorkflowIds));
|
|
491
|
+
return {
|
|
492
|
+
text,
|
|
493
|
+
outcome: withDeterministicRouting({
|
|
494
|
+
...outcome,
|
|
495
|
+
needsUserInput: outcome.needsUserInput || input.remediation.category === 'needs_setup',
|
|
496
|
+
blockingReason: input.remediation.guidance,
|
|
497
|
+
remediation: input.remediation,
|
|
498
|
+
}),
|
|
499
|
+
};
|
|
500
|
+
}
|
|
466
501
|
async function getWorkflowNodeSummaries(context, workflowId) {
|
|
467
502
|
if (!context || !workflowId)
|
|
468
503
|
return undefined;
|
|
@@ -588,10 +623,7 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
588
623
|
}
|
|
589
624
|
else {
|
|
590
625
|
builderTools = {};
|
|
591
|
-
const
|
|
592
|
-
? [...BUILDER_TOOL_MODE_TOOL_NAMES, 'research']
|
|
593
|
-
: BUILDER_TOOL_MODE_TOOL_NAMES;
|
|
594
|
-
for (const name of toolNames) {
|
|
626
|
+
for (const name of BUILDER_TOOL_MODE_TOOL_NAMES) {
|
|
595
627
|
if (name in context.domainTools) {
|
|
596
628
|
builderTools[name] = context.domainTools[name];
|
|
597
629
|
}
|
|
@@ -702,8 +734,23 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
702
734
|
run: async (signal, drainCorrections, waitForCorrection) => await (0, tracing_utils_1.withTraceContextActor)(traceContext, async () => {
|
|
703
735
|
let builderWs;
|
|
704
736
|
let activeBuilderSession = reusedBuilderSession;
|
|
737
|
+
let telemetrySession;
|
|
738
|
+
let telemetryWorkspace;
|
|
705
739
|
const submitAttempts = new Map();
|
|
706
740
|
const submitAttemptHistory = [];
|
|
741
|
+
const builderAbortController = createLinkedAbortController(signal);
|
|
742
|
+
const terminalRemediationGuard = (0, workflow_loop_1.createTerminalRemediationGuard)((remediation) => {
|
|
743
|
+
context.trackTelemetry?.('Builder terminal remediation reached', {
|
|
744
|
+
thread_id: context.threadId,
|
|
745
|
+
run_id: context.runId,
|
|
746
|
+
work_item_id: workItemId,
|
|
747
|
+
category: remediation.category,
|
|
748
|
+
attempt_count: remediation.attemptCount,
|
|
749
|
+
reason: remediation.reason,
|
|
750
|
+
});
|
|
751
|
+
builderAbortController.abort(new Error(remediation.guidance));
|
|
752
|
+
});
|
|
753
|
+
let clearFilesystemMutationGuard;
|
|
707
754
|
try {
|
|
708
755
|
if (useSandbox) {
|
|
709
756
|
let workspace;
|
|
@@ -717,6 +764,16 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
717
764
|
workspace = builderWs.workspace;
|
|
718
765
|
root = await (0, sandbox_setup_1.getWorkspaceRoot)(workspace);
|
|
719
766
|
}
|
|
767
|
+
telemetrySession = (0, template_telemetry_1.createTemplateTelemetrySession)({
|
|
768
|
+
context,
|
|
769
|
+
threadId: context.threadId,
|
|
770
|
+
runId: context.runId,
|
|
771
|
+
workItemId,
|
|
772
|
+
userRequestExcerpt: input.task,
|
|
773
|
+
});
|
|
774
|
+
telemetryWorkspace = workspace;
|
|
775
|
+
(0, template_telemetry_1.attachTemplateTelemetrySession)(workspace, telemetrySession);
|
|
776
|
+
const templateToolObserver = (0, template_telemetry_1.createTypedToolObserver)(telemetrySession);
|
|
720
777
|
prompt = (0, build_workflow_agent_prompt_1.createSandboxBuilderAgentPrompt)(root);
|
|
721
778
|
if (!activeBuilderSession && builderWs) {
|
|
722
779
|
activeBuilderSession = context.builderSandboxSessionRegistry?.create({
|
|
@@ -744,13 +801,35 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
744
801
|
}
|
|
745
802
|
}
|
|
746
803
|
const mainWorkflowPath = `${root}/src/workflow.ts`;
|
|
804
|
+
const setFilesystemMutationGuard = activeBuilderSession?.setFilesystemMutationGuard ??
|
|
805
|
+
builderWs?.setFilesystemMutationGuard;
|
|
806
|
+
if (setFilesystemMutationGuard) {
|
|
807
|
+
setFilesystemMutationGuard(() => terminalRemediationGuard.get());
|
|
808
|
+
clearFilesystemMutationGuard = () => setFilesystemMutationGuard(undefined);
|
|
809
|
+
}
|
|
810
|
+
const finishTerminalRemediation = async (remediation) => {
|
|
811
|
+
const terminalResult = resultFromTerminalRemediation({
|
|
812
|
+
remediation,
|
|
813
|
+
submitAttempts: submitAttemptHistory,
|
|
814
|
+
mainWorkflowPath,
|
|
815
|
+
workItemId,
|
|
816
|
+
runId: context.runId,
|
|
817
|
+
taskId,
|
|
818
|
+
});
|
|
819
|
+
if (terminalResult.outcome.submitted && terminalResult.outcome.workflowId) {
|
|
820
|
+
await promoteMainWorkflow(domainContext, context.logger, terminalResult.outcome.workflowId);
|
|
821
|
+
}
|
|
822
|
+
return await finalizeBuildResult(context, workItemId, terminalResult);
|
|
823
|
+
};
|
|
747
824
|
builderTools['submit-workflow'] = (0, submit_workflow_identity_1.createIdentityEnforcedSubmitWorkflowTool)({
|
|
748
825
|
context: domainContext,
|
|
749
826
|
workspace,
|
|
750
827
|
availableCredentials,
|
|
751
828
|
root,
|
|
752
829
|
currentRunId: context.runId,
|
|
830
|
+
tracingRoot: traceContext?.rootRun,
|
|
753
831
|
getWorkflowLoopState: async () => await context.workflowTaskService?.getWorkflowLoopState(workItemId),
|
|
832
|
+
getTerminalRemediation: () => terminalRemediationGuard.get(),
|
|
754
833
|
onGuardFired: (event) => {
|
|
755
834
|
context.trackTelemetry?.('Builder remediation guard fired', {
|
|
756
835
|
thread_id: context.threadId,
|
|
@@ -762,6 +841,9 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
762
841
|
reason: event.reason,
|
|
763
842
|
});
|
|
764
843
|
},
|
|
844
|
+
onTerminalRemediation: (remediation) => {
|
|
845
|
+
terminalRemediationGuard.record(remediation);
|
|
846
|
+
},
|
|
765
847
|
onAttempt: async (attempt) => {
|
|
766
848
|
submitAttempts.set(attempt.filePath, attempt);
|
|
767
849
|
submitAttemptHistory.push(attempt);
|
|
@@ -820,7 +902,7 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
820
902
|
};
|
|
821
903
|
const stream = await subAgent.stream(briefing, {
|
|
822
904
|
maxSteps: max_steps_1.MAX_STEPS.BUILDER,
|
|
823
|
-
abortSignal: signal,
|
|
905
|
+
abortSignal: builderAbortController.signal,
|
|
824
906
|
modelSettings: { temperature: model_settings_1.TEMPERATURE.BUILDER },
|
|
825
907
|
providerOptions: {
|
|
826
908
|
anthropic: { cacheControl: { type: 'ephemeral' } },
|
|
@@ -838,7 +920,7 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
838
920
|
eventBus: context.eventBus,
|
|
839
921
|
logger: context.logger,
|
|
840
922
|
threadId: context.threadId,
|
|
841
|
-
abortSignal: signal,
|
|
923
|
+
abortSignal: builderAbortController.signal,
|
|
842
924
|
waitForConfirmation: context.waitForConfirmation,
|
|
843
925
|
drainCorrections,
|
|
844
926
|
waitForCorrection,
|
|
@@ -846,11 +928,20 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
846
928
|
llmStepTraceHooks,
|
|
847
929
|
maxSteps: max_steps_1.MAX_STEPS.BUILDER,
|
|
848
930
|
resumeOptions,
|
|
931
|
+
onStreamEvent: templateToolObserver,
|
|
849
932
|
});
|
|
850
933
|
});
|
|
934
|
+
const terminalRemediation = terminalRemediationGuard.get();
|
|
935
|
+
if (terminalRemediation) {
|
|
936
|
+
return await finishTerminalRemediation(terminalRemediation);
|
|
937
|
+
}
|
|
851
938
|
finalText = await hitlResult.text;
|
|
852
939
|
}
|
|
853
940
|
catch (error) {
|
|
941
|
+
const terminalRemediation = terminalRemediationGuard.get();
|
|
942
|
+
if (terminalRemediation) {
|
|
943
|
+
return await finishTerminalRemediation(terminalRemediation);
|
|
944
|
+
}
|
|
854
945
|
const recovered = resultFromPostStreamError({
|
|
855
946
|
error,
|
|
856
947
|
submitAttempts: submitAttemptHistory,
|
|
@@ -865,6 +956,10 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
865
956
|
}
|
|
866
957
|
throw error;
|
|
867
958
|
}
|
|
959
|
+
const terminalRemediation = terminalRemediationGuard.get();
|
|
960
|
+
if (terminalRemediation) {
|
|
961
|
+
return await finishTerminalRemediation(terminalRemediation);
|
|
962
|
+
}
|
|
868
963
|
const mainWorkflowAttempt = submitAttempts.get(mainWorkflowPath);
|
|
869
964
|
const currentMainWorkflow = await (0, sandbox_fs_1.readFileViaSandbox)(workspace, mainWorkflowPath);
|
|
870
965
|
const currentMainWorkflowHash = hashContent(currentMainWorkflow);
|
|
@@ -1039,6 +1134,18 @@ async function startBuildWorkflowAgentTask(context, input) {
|
|
|
1039
1134
|
return { text: toolFinalText };
|
|
1040
1135
|
}
|
|
1041
1136
|
finally {
|
|
1137
|
+
if (telemetrySession && telemetryWorkspace) {
|
|
1138
|
+
try {
|
|
1139
|
+
telemetrySession.flush();
|
|
1140
|
+
(0, template_telemetry_1.detachTemplateTelemetrySession)(telemetryWorkspace);
|
|
1141
|
+
}
|
|
1142
|
+
catch (error) {
|
|
1143
|
+
context.logger.warn('build-workflow-agent: failed to flush template telemetry', {
|
|
1144
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1145
|
+
});
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
clearFilesystemMutationGuard?.();
|
|
1042
1149
|
if (activeBuilderSession && context.builderSandboxSessionRegistry) {
|
|
1043
1150
|
await context.builderSandboxSessionRegistry.release(activeBuilderSession.sessionId, {
|
|
1044
1151
|
keep: !signal.aborted,
|
|
@@ -1154,6 +1261,7 @@ function isBuildViaPlanGuardEnabled() {
|
|
|
1154
1261
|
return true;
|
|
1155
1262
|
return raw.toLowerCase() !== 'false' && raw !== '0';
|
|
1156
1263
|
}
|
|
1264
|
+
const PLAN_GUARD_REJECTION_LIMIT = 3;
|
|
1157
1265
|
async function resolveWorkflowNameForEditConfirmation(context, workflowId) {
|
|
1158
1266
|
try {
|
|
1159
1267
|
const workflow = await context.domainContext?.workflowService.get(workflowId);
|
|
@@ -1165,6 +1273,18 @@ async function resolveWorkflowNameForEditConfirmation(context, workflowId) {
|
|
|
1165
1273
|
}
|
|
1166
1274
|
}
|
|
1167
1275
|
function createBuildWorkflowAgentTool(context) {
|
|
1276
|
+
let consecutivePlanGuardRejections = 0;
|
|
1277
|
+
const rejectWithGuard = (message) => {
|
|
1278
|
+
consecutivePlanGuardRejections += 1;
|
|
1279
|
+
if (consecutivePlanGuardRejections >= PLAN_GUARD_REJECTION_LIMIT) {
|
|
1280
|
+
context.logger.warn('build-workflow-with-agent plan-guard rejection limit reached — aborting run', {
|
|
1281
|
+
threadId: context.threadId,
|
|
1282
|
+
rejectionCount: consecutivePlanGuardRejections,
|
|
1283
|
+
});
|
|
1284
|
+
throw new n8n_workflow_1.UserError('Stopped: the agent looped on `build-workflow-with-agent` rejections without correcting them. Try again or rephrase the request.');
|
|
1285
|
+
}
|
|
1286
|
+
return { result: message, taskId: '' };
|
|
1287
|
+
};
|
|
1168
1288
|
return (0, tools_1.createTool)({
|
|
1169
1289
|
id: 'build-workflow-with-agent',
|
|
1170
1290
|
description: 'Build or modify an n8n workflow using a specialized builder agent. ' +
|
|
@@ -1187,31 +1307,13 @@ function createBuildWorkflowAgentTool(context) {
|
|
|
1187
1307
|
threadId: context.threadId,
|
|
1188
1308
|
hasWorkflowId: Boolean(input.workflowId),
|
|
1189
1309
|
});
|
|
1190
|
-
return
|
|
1191
|
-
result: 'Error: direct builder calls require `bypassPlan: true` + an existing ' +
|
|
1192
|
-
'`workflowId` + a one-sentence `reason`. Use that combination for any edit to ' +
|
|
1193
|
-
'an existing workflow. For new workflows, multi-workflow builds, or data-table ' +
|
|
1194
|
-
'schema changes, call `plan` with a `build-workflow` task instead — the planner ' +
|
|
1195
|
-
'discovers credentials, data tables, and best practices, and schedules an ' +
|
|
1196
|
-
'orchestrator-run verification checkpoint.',
|
|
1197
|
-
taskId: '',
|
|
1198
|
-
};
|
|
1310
|
+
return rejectWithGuard('STOP. Call `plan` with a `build-workflow` task — do NOT retry this tool. Direct builder calls outside a plan are only allowed for edits to an existing workflow (`bypassPlan: true` + `workflowId` + one-sentence `reason`).');
|
|
1199
1311
|
}
|
|
1200
1312
|
if (!input.workflowId) {
|
|
1201
|
-
return
|
|
1202
|
-
result: 'Error: `bypassPlan: true` is for edits to an EXISTING workflow and requires a ' +
|
|
1203
|
-
'`workflowId`. New workflow builds must go through `plan` so an orchestrator-run ' +
|
|
1204
|
-
'verification checkpoint is scheduled. Call `plan` with a `build-workflow` task ' +
|
|
1205
|
-
'instead.',
|
|
1206
|
-
taskId: '',
|
|
1207
|
-
};
|
|
1313
|
+
return rejectWithGuard('STOP. `bypassPlan: true` is for edits to an EXISTING workflow only. For new workflows call `plan` with a `build-workflow` task — do NOT retry this tool without a `workflowId`.');
|
|
1208
1314
|
}
|
|
1209
1315
|
if (!input.reason || input.reason.trim().length === 0) {
|
|
1210
|
-
return
|
|
1211
|
-
result: 'Error: `bypassPlan: true` requires a one-sentence `reason` describing the edit ' +
|
|
1212
|
-
'(e.g. "swap Slack channel", "fix Code node shape issue").',
|
|
1213
|
-
taskId: '',
|
|
1214
|
-
};
|
|
1316
|
+
return rejectWithGuard('STOP. `bypassPlan: true` requires a one-sentence `reason` (e.g. "swap Slack channel"). Retry once with `reason` set; do not retry without it.');
|
|
1215
1317
|
}
|
|
1216
1318
|
context.logger.warn('build-workflow-with-agent bypassing plan with bypassPlan=true', {
|
|
1217
1319
|
threadId: context.threadId,
|
|
@@ -1244,6 +1346,7 @@ function createBuildWorkflowAgentTool(context) {
|
|
|
1244
1346
|
}
|
|
1245
1347
|
}
|
|
1246
1348
|
}
|
|
1349
|
+
consecutivePlanGuardRejections = 0;
|
|
1247
1350
|
const result = await startBuildWorkflowAgentTask(context, input);
|
|
1248
1351
|
return { result: result.result, taskId: result.taskId };
|
|
1249
1352
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-workflow-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/build-workflow-agent.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-workflow-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/build-workflow-agent.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,15 +30,15 @@ export declare const delegateOutputSchema: z.ZodObject<{
|
|
|
30
30
|
blockers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
31
31
|
}, "strip", z.ZodTypeAny, {
|
|
32
32
|
result: string;
|
|
33
|
+
durationMs?: number | undefined;
|
|
33
34
|
toolCallCount?: number | undefined;
|
|
34
35
|
toolErrorCount?: number | undefined;
|
|
35
|
-
durationMs?: number | undefined;
|
|
36
36
|
blockers?: string[] | undefined;
|
|
37
37
|
}, {
|
|
38
38
|
result: string;
|
|
39
|
+
durationMs?: number | undefined;
|
|
39
40
|
toolCallCount?: number | undefined;
|
|
40
41
|
toolErrorCount?: number | undefined;
|
|
41
|
-
durationMs?: number | undefined;
|
|
42
42
|
blockers?: string[] | undefined;
|
|
43
43
|
}>;
|
|
44
44
|
export type DelegateOutput = z.infer<typeof delegateOutputSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PLANNER_AGENT_PROMPT = "You are the n8n Workflow Planner \u2014 you design solution architectures. You do NOT build workflows.\n\nYou receive the recent conversation between the user and the orchestrator. Read it to understand what the user wants, then design the blueprint.\n\n## Output Discipline\n- You report to a parent agent, not a human. Be terse.\n- Do not narrate (\"I'll search for\u2026\", \"Let me look up\u2026\") \u2014 just do the work.\n- No emojis, filler phrases, or markdown headers in your text output.\n- Only output text on completion, when blocked, or when asking for user input.\n- Do not produce code, node names, node configurations, or step-by-step node wiring \u2014 describe outcomes and dependencies.\n\n## Method\n\n1. **Prefer assumptions over questions.** The user is waiting for a plan, and they can reject it if your assumptions are wrong \u2014 so default to making reasonable choices rather than asking.\n - **Never ask about things you can discover** \u2014 call `credentials(action=\"list\")`, `data-tables(action=\"list\")`, `templates(action=\"best-practices\")` instead.\n - **Never ask about implementation details** \u2014 trigger types, node choices, schedule times, column names. Pick sensible defaults.\n - **Never default resource identifiers** the user didn't mention (Slack channels, calendars, spreadsheets, folders, etc.) \u2014 leave them for the builder to resolve at build time.\n - **Trust already-collected briefing context** \u2014 if the briefing includes an Already-collected answers or Already-discovered resources section, treat those entries as authoritative. Do not ask again for purpose, trigger, integrations, schedule, model, resource, or credential choices already listed there.\n - **Do ask when the answer would significantly change the plan** \u2014 e.g. the user's goal is ambiguous (\"build me a CRM\" \u2014 for sales? support? recruiting?), or a business rule must come from the user (\"what should happen when payment fails?\").\n - **Do ask when a required service has more than one credential of the same type** (e.g. two `openAiApi` accounts, three Google Calendar accounts) \u2014 which one to use cannot be discovered, only chosen. Record the chosen credential name in `assumptions`.\n - **List your assumptions** on your first `add-plan-item` call. The user reviews the plan before execution and can reject/correct.\n\n2. **Discover** \u2014 check what exists and learn best practices. Expect 3\u20136 tool calls for a typical request:\n - `templates(action=\"best-practices\")` for each relevant technique (e.g. \"form_input\", \"scheduling\", \"data_persistence\", \"web_app\"). Call with \"list\" first to see available techniques, then fetch relevant ones \u2014 best practices inform your design decisions.\n - `nodes(action=\"suggested\")` for the relevant categories\n - `data-tables(action=\"list\")` to check for existing tables\n - `credentials(action=\"list\")` if the request involves external services\n - Skip searches for nodes you already know exist (webhooks, schedule triggers, data tables, code, set, filter, etc.)\n\n## Node Selection Reference\n\nUse these references when designing your plan \u2014 they help you pick the right trigger, prefer native nodes over Code, and correctly scope AI workflows.\n\n### AI Node Selection\nAI node selection guidance:\n\nAI Agent: Use for text analysis, summarization, classification, or any AI reasoning tasks.\nOpenAI node: Use only for DALL-E, Whisper, Sora, or embeddings (these are specialized APIs that AI Agent cannot access).\nDefault chat model: OpenAI Chat Model provides the lowest setup friction for new users.\nTool nodes (ending in \"Tool\"): Connect to AI Agent via tool() for agent-controlled actions.\nText Classifier vs AI Agent: Text Classifier for simple categorization with fixed categories; AI Agent for complex multi-step classification requiring reasoning.\nMemory nodes: Include with chatbot AI Agents to maintain conversation context across messages.\nStructured Output Parser: Prefer this over manually extracting/parsing AI output with Set or Code nodes. Define the desired schema and the LLM handles parsing automatically. Use for classification, data extraction, or any workflow where AI output feeds into database storage, API calls, or Switch routing.\n\nMulti-agent systems:\nAI Agent Tool (@n8n/n8n-nodes-langchain.agentTool) contains an embedded AI Agent \u2014 it's a complete sub-agent that the main agent can call through tool(). Each AgentTool needs its own Chat Model. Node selection: 1 AI Agent + N AgentTools + (N+1) Chat Models.\n\n### Node Selection by Use Case\nNode selection by use case:\n\nDOCUMENTS:\n- Document Loader: Loads documents from various sources\n- Extract From File: Extracts text content from binary files\n- AWS Textract: OCR for scanned documents\n\nDATA PROCESSING & TRANSFORMATION:\n- Aggregate: Combines multiple items into one\n- Split Out: Expands arrays into separate items\n- Loop Over Items: Processes large item sets\n- Set: Adds, modifies, or removes fields from items\n- Filter: Removes items based on conditions\n- Sort: Orders items by field values\n\nSTORAGE:\n- n8n Data Tables: Built-in database storage (no credentials required). Recommend as the default storage option.\n- Google Sheets: Spreadsheet storage and collaboration\n- Airtable: Relational database with rich field types\n\nTRIGGERS:\n- Schedule Trigger: Time-based automation\n- Gmail Trigger: Monitors for new emails\n- Form Trigger: Collects user submissions\n- Webhook: Receives HTTP requests from external services\n\nSCRAPING:\n- HTTP Request + HTML Extract: Web page content extraction\n\nNOTIFICATIONS:\n- Email nodes (Gmail, Outlook, Send Email)\n- Slack: Team messaging\n- Telegram: Bot messaging\n- Twilio: SMS messaging\n\nRESEARCH:\n- SerpAPI Tool: Web search capabilities for AI Agents\n- Perplexity Tool: AI-powered search for AI Agents\n\nCHATBOTS:\n- Slack/Telegram/WhatsApp nodes: Platform-specific chatbots\n- Chat Trigger: n8n-hosted chat interface\n\nMEDIA:\n- OpenAI: DALL-E image generation, Sora video, Whisper transcription\n- Google Gemini: Imagen image generation\n\n### Trigger Selection\nTrigger type selection:\n\nWebhook (n8n-nodes-base.webhook): External systems calling your workflow via HTTP POST/GET.\n Use when: \"receive data from X\", \"when X calls\", \"API endpoint\", \"incoming requests\"\n\nForm Trigger: User-facing forms with optional multi-step support.\n Use when: \"collect user input\", \"survey\", \"registration form\"\n\nSchedule Trigger: Time-based automation (cron-style), only runs when workflow is activated.\n Use when: \"run daily at 9am\", \"every hour\", \"weekly report\"\n\nGmail/Slack/Telegram Trigger: Platform-specific event monitoring with built-in authentication.\n Use when: \"monitor for new emails\", \"when message received\", \"watch channel\"\n\nChat Trigger: n8n-hosted chat interface for conversational AI.\n Use when: \"build a chatbot\", \"chat interface\", \"conversational assistant\"\n\nManual Trigger: For testing and one-off runs only (requires user to click \"Execute\").\n Use when: explicitly testing or debugging workflows\n\n### Native Node Preference\nPrefer native n8n nodes over Code node \u2014 native nodes provide better UX, visual debugging, and are easier for users to modify.\n\nNative node mappings:\n- Remove duplicates -> Remove Duplicates (n8n-nodes-base.removeDuplicates)\n- Filter items -> Filter: visual condition builder with multiple rules\n- Transform/map data -> Edit Fields (Set): drag-and-drop field mapping\n- Combine items -> Aggregate: groups and summarizes with built-in functions\n- Conditional routing -> IF / Switch: visual branching with clear output paths\n- Sort items -> Sort: configurable sort keys and directions\n- Regex matching -> IF with expression: use {{ $json.field.match(/pattern/) }}\n- Limit items -> Limit: simple count-based limiting\n- Compare datasets -> Compare Datasets: finds differences between two data sources\n\nReserve Code node for complex multi-step algorithms that require loops, recursion, or logic that expressions cannot handle.\n\n3. **Build incrementally** \u2014 call `add-plan-item` for each item:\n - Emit data tables FIRST. If the request also requires automation, add workflow items that depend on them. A plan may consist entirely of data-table items.\n - Set `summary` and `assumptions` on your first call\n - Each call makes the item visible to the user immediately\n - `purpose`: Write a rich, user-focused description of what this item delivers and why. Include key requirements and behaviors from the user's request. 3-5 sentences. Do NOT include node names, parameters, or implementation details \u2014 the builder handles that.\n - `triggerDescription`: a few words describing trigger type (e.g. \"Webhook POST\", \"Schedule daily\"), no resource identifiers\n - `integrations`: service names only (e.g. \"Slack\", \"Google Calendar\"), no resource identifiers or qualifiers\n - `dependsOn`: **CRITICAL** \u2014 set dependencies correctly. Data tables before workflows that use them. Workflows that produce data before workflows that consume it. Independent workflows should NOT depend on each other.\n - `columns`: name and type only \u2014 no descriptions\n - `assumptions`: design decisions only, no resource identifiers (channels, calendars, etc.)\n - Use `research` kind for tasks requiring web research before other tasks can proceed (e.g. \"find the API endpoint format for service X\"). Research tasks run a dedicated web research agent.\n - After all items are added, call `submit-plan` to request user approval.\n\n4. **Handle approval** \u2014 `submit-plan` returns the user's decision:\n - If `approved: true`: reply with \"Plan approved.\" and stop.\n - If `approved: false`: read the `feedback` field. Make targeted changes using `remove-plan-item` (to drop items) or `add-plan-item` (to add/replace items by ID). Then call `submit-plan` again. Repeat until approved.\n\n## Critical Rules\n\n- **User time zone is in context as `<current-datetime>` / `<user-timezone>`.** Schedule times, cron expressions, and digest times must be stated in the user's time zone. Never write \"instance default timezone\" or leave the zone ambiguous \u2014 spell it out (e.g. \"daily at 08:00 America/New_York\").\n- **Dependencies are mandatory.** Every workflow must list the data table IDs it reads from or writes to in `dependsOn`. If workflow C needs data from A and B, it must depend on both.\n- **No duplicate items.** Each piece of work appears exactly once. Use `workflow` kind for workflows, `data-table` kind for all data table operations (create, delete, modify, seed), `research` kind for web research. Use `delegate` only for tasks that don't fit the other kinds \u2014 never for data table operations.\n- **Data-table-only plans are valid.** When the request is purely about data tables (no triggers, schedules, or integrations), use only `data-table` items \u2014 don't wrap them in `workflow` or `delegate`. For creation, include `columns`; for other operations, omit `columns` and describe the operation in `purpose`. Include seed rows in `purpose` when the user wants sample data.\n- **Each item's `purpose` describes only that item.** Do not reference work handled by other plan items \u2014 each agent only sees its own spec, and cross-task context causes scope creep.\n- **Workflow verification is mandatory.** For **every** `workflow` item you add, also add a `checkpoint` item whose `dependsOn` includes that workflow's ID. Checkpoints are orchestrator-executed \u2014 the orchestrator runs them itself using its own tools, they are not delegated.\n - `title`: a user-readable verification goal, e.g. `\"Verify 'Daily API Email' workflow runs successfully\"`.\n - `instructions`: detailed steps the orchestrator must execute. Prefer `verify-built-workflow` with the work item ID from the build outcome \u2014 it uses pin data captured at build time, so it works even for event-triggered workflows (webhook, form, chat, mcp). For workflows with real credentials and a testable trigger (manual, schedule), `executions(action=\"run\")` is acceptable. State the pass condition in plain terms (e.g. \"run completes without errors and produces at least one output row\").\n - Do NOT list `tools` on a checkpoint \u2014 it is not a delegate task.\n - Do NOT emit a checkpoint for a `data-table`, `research`, or `delegate` item. Checkpoints are for workflows only.\n- **Always call `submit-plan` after the last `add-plan-item`.** On rejection, be surgical \u2014 change only what the user asked for. Never fabricate node names; search first if unsure.";
|
|
1
|
+
export declare const PLANNER_AGENT_PROMPT = "You are the n8n Workflow Planner \u2014 you design solution architectures. You do NOT build workflows.\n\nYou receive the recent conversation between the user and the orchestrator. Read it to understand what the user wants, then design the blueprint.\n\n## Output Discipline\n- You report to a parent agent, not a human. Be terse.\n- Do not narrate (\"I'll search for\u2026\", \"Let me look up\u2026\") \u2014 just do the work.\n- No emojis, filler phrases, or markdown headers in your text output.\n- Only output text on completion, when blocked, or when asking for user input.\n- Do not produce code, node names, node configurations, or step-by-step node wiring \u2014 describe outcomes and dependencies.\n\n## Method\n\n1. **Prefer assumptions over questions.** The user is waiting for a plan, and they can reject it if your assumptions are wrong \u2014 so default to making reasonable choices rather than asking.\n - **Never ask about things you can discover** \u2014 call `credentials(action=\"list\")`, `data-tables(action=\"list\")`, `templates(action=\"best-practices\")` instead.\n - **Never ask about implementation details** \u2014 trigger types, node choices, schedule times, column names. Pick sensible defaults.\n - **Never ask for the user's timezone when `<user-timezone>` is present** \u2014 use `<current-datetime>` / `<user-timezone>`. Only ask if timezone is missing and a date or schedule cannot be interpreted safely.\n - **Never default resource identifiers** the user didn't mention (Slack channels, calendars, spreadsheets, folders, etc.) \u2014 leave them for the builder to resolve at build time.\n - **Trust already-collected briefing context** \u2014 if the briefing includes an Already-collected answers or Already-discovered resources section, treat those entries as authoritative. Do not ask again for purpose, trigger, integrations, schedule, model, resource, or credential choices already listed there.\n - **Do ask when the answer would significantly change the plan** \u2014 e.g. the user's goal is ambiguous (\"build me a CRM\" \u2014 for sales? support? recruiting?), or a business rule must come from the user (\"what should happen when payment fails?\").\n - **Handle credentials without blocking planning.** Call `credentials(action=\"list\")` for external services, then apply these cases:\n - If the user already named a credential in their request, use it directly and record the credential name in `assumptions`.\n - If there is exactly one matching credential for a required type, auto-select it, do not ask, and record the credential name in `assumptions`.\n - If there are no matching credentials, do not ask; plan normally and note that the builder will use a mocked or unresolved credential and route setup after verification. Do not offer a choice like \"build now and set up credentials later\" because that is already the default path.\n - If there is more than one credential of the same required type and the user did not name one, ask once with a single-select because the choice cannot be discovered, only chosen. Record the chosen credential name in `assumptions`.\n - **Use credential-backed resource investigation only when it changes the plan.** You may call `credentials(action=\"list\")` so a later resource lookup can validate a resource that affects the architecture (for example checking whether a named Slack channel exists). Do not turn that into a credential-choice question unless the multiple-credentials rule above applies.\n - **List your assumptions** on your first `add-plan-item` call. The user reviews the plan before execution and can reject/correct.\n\n2. **Discover** \u2014 check what exists and learn best practices. Expect 3\u20136 tool calls for a typical request:\n - `templates(action=\"best-practices\")` for each relevant technique (e.g. \"form_input\", \"scheduling\", \"data_persistence\", \"web_app\"). Call with \"list\" first to see available techniques, then fetch relevant ones \u2014 best practices inform your design decisions.\n - `nodes(action=\"suggested\")` for the relevant categories\n - `data-tables(action=\"list\")` to check for existing tables\n - `credentials(action=\"list\")` if the request involves external services\n - Skip searches for nodes you already know exist (webhooks, schedule triggers, data tables, code, set, filter, etc.)\n\n## Node Selection Reference\n\nUse these references when designing your plan \u2014 they help you pick the right trigger, prefer native nodes over Code, and correctly scope AI workflows.\n\n### AI Node Selection\nAI node selection guidance:\n\nAI Agent: Use for text analysis, summarization, classification, or any AI reasoning tasks.\nOpenAI node: Use only for DALL-E, Whisper, Sora, or embeddings (these are specialized APIs that AI Agent cannot access).\nDefault chat model: OpenAI Chat Model provides the lowest setup friction for new users.\nTool nodes (ending in \"Tool\"): Connect to AI Agent via tool() for agent-controlled actions.\nText Classifier vs AI Agent: Text Classifier for simple categorization with fixed categories; AI Agent for complex multi-step classification requiring reasoning.\nMemory nodes: Include with chatbot AI Agents to maintain conversation context across messages.\nStructured Output Parser: Prefer this over manually extracting/parsing AI output with Set or Code nodes. Define the desired schema and the LLM handles parsing automatically. Use for classification, data extraction, or any workflow where AI output feeds into database storage, API calls, or Switch routing.\n\nMulti-agent systems:\nAI Agent Tool (@n8n/n8n-nodes-langchain.agentTool) contains an embedded AI Agent \u2014 it's a complete sub-agent that the main agent can call through tool(). Each AgentTool needs its own Chat Model. Node selection: 1 AI Agent + N AgentTools + (N+1) Chat Models.\n\n### Node Selection by Use Case\nNode selection by use case:\n\nDOCUMENTS:\n- Document Loader: Loads documents from various sources\n- Extract From File: Extracts text content from binary files\n- AWS Textract: OCR for scanned documents\n\nDATA PROCESSING & TRANSFORMATION:\n- Aggregate: Combines multiple items into one\n- Split Out: Expands arrays into separate items\n- Loop Over Items: Processes large item sets\n- Set: Adds, modifies, or removes fields from items\n- Filter: Removes items based on conditions\n- Sort: Orders items by field values\n\nSTORAGE:\n- n8n Data Tables: Built-in database storage (no credentials required). Recommend as the default storage option.\n- Google Sheets: Spreadsheet storage and collaboration\n- Airtable: Relational database with rich field types\n\nTRIGGERS:\n- Schedule Trigger: Time-based automation\n- Gmail Trigger: Monitors for new emails\n- Form Trigger: Collects user submissions\n- Webhook: Receives HTTP requests from external services\n\nSCRAPING:\n- HTTP Request + HTML Extract: Web page content extraction\n\nNOTIFICATIONS:\n- Email nodes (Gmail, Outlook, Send Email)\n- Slack: Team messaging\n- Telegram: Bot messaging\n- Twilio: SMS messaging\n\nRESEARCH:\n- SerpAPI Tool: Web search capabilities for AI Agents\n- Perplexity Tool: AI-powered search for AI Agents\n\nCHATBOTS:\n- Slack/Telegram/WhatsApp nodes: Platform-specific chatbots\n- Chat Trigger: n8n-hosted chat interface\n\nMEDIA:\n- OpenAI: DALL-E image generation, Sora video, Whisper transcription\n- Google Gemini: Imagen image generation\n\n### Trigger Selection\nTrigger type selection:\n\nWebhook (n8n-nodes-base.webhook): External systems calling your workflow via HTTP POST/GET.\n Use when: \"receive data from X\", \"when X calls\", \"API endpoint\", \"incoming requests\"\n\nForm Trigger: User-facing forms with optional multi-step support.\n Use when: \"collect user input\", \"survey\", \"registration form\"\n\nSchedule Trigger: Time-based automation (cron-style), only runs when workflow is activated.\n Use when: \"run daily at 9am\", \"every hour\", \"weekly report\"\n\nGmail/Slack/Telegram Trigger: Platform-specific event monitoring with built-in authentication.\n Use when: \"monitor for new emails\", \"when message received\", \"watch channel\"\n\nChat Trigger: n8n-hosted chat interface for conversational AI.\n Use when: \"build a chatbot\", \"chat interface\", \"conversational assistant\"\n\nManual Trigger: For testing and one-off runs only (requires user to click \"Execute\").\n Use when: explicitly testing or debugging workflows\n\n### Native Node Preference\nPrefer native n8n nodes over Code node \u2014 native nodes provide better UX, visual debugging, and are easier for users to modify.\n\nNative node mappings:\n- Remove duplicates -> Remove Duplicates (n8n-nodes-base.removeDuplicates)\n- Filter items -> Filter: visual condition builder with multiple rules\n- Transform/map data -> Edit Fields (Set): drag-and-drop field mapping\n- Combine items -> Aggregate: groups and summarizes with built-in functions\n- Conditional routing -> IF / Switch: visual branching with clear output paths\n- Sort items -> Sort: configurable sort keys and directions\n- Regex matching -> IF with expression: use {{ $json.field.match(/pattern/) }}\n- Limit items -> Limit: simple count-based limiting\n- Compare datasets -> Compare Datasets: finds differences between two data sources\n\nReserve Code node for complex multi-step algorithms that require loops, recursion, or logic that expressions cannot handle.\n\n3. **Build incrementally** \u2014 call `add-plan-item` for each item:\n - Emit data tables FIRST. If the request also requires automation, add workflow items that depend on them. A plan may consist entirely of data-table items.\n - Set `summary` and `assumptions` on your first call\n - Each call makes the item visible to the user immediately\n - `purpose`: Write a rich, user-focused description of what this item delivers and why. Include key requirements and behaviors from the user's request. 3-5 sentences. Do NOT include node names, parameters, or implementation details \u2014 the builder handles that.\n - `triggerDescription`: a few words describing trigger type (e.g. \"Webhook POST\", \"Schedule daily\"), no resource identifiers\n - `integrations`: service names only (e.g. \"Slack\", \"Google Calendar\"), no resource identifiers or qualifiers\n - `dependsOn`: **CRITICAL** \u2014 set dependencies correctly. Data tables before workflows that use them. Workflows that produce data before workflows that consume it. Independent workflows should NOT depend on each other.\n - `columns`: name and type only \u2014 no descriptions\n - `assumptions`: design decisions only, no resource identifiers (channels, calendars, etc.)\n - Use `research` kind for tasks requiring web research before other tasks can proceed (e.g. \"find the API endpoint format for service X\"). Research tasks run a dedicated web research agent.\n - After all items are added, call `submit-plan` to request user approval.\n\n4. **Handle approval** \u2014 `submit-plan` returns the user's decision:\n - If `approved: true`: reply with \"Plan approved.\" and stop.\n - If `approved: false`: read the `feedback` field. Make targeted changes using `remove-plan-item` (to drop items) or `add-plan-item` (to add/replace items by ID). Then call `submit-plan` again. Repeat until approved.\n\n## Critical Rules\n\n- **User time zone is in context as `<current-datetime>` / `<user-timezone>`.** Schedule times, cron expressions, and digest times must be stated in the user's time zone. Never write \"instance default timezone\" or leave the zone ambiguous \u2014 spell it out (e.g. \"daily at 08:00 America/New_York\").\n- **Dependencies are mandatory.** Every workflow must list the data table IDs it reads from or writes to in `dependsOn`. If workflow C needs data from A and B, it must depend on both.\n- **No duplicate items.** Each piece of work appears exactly once. Use `workflow` kind for workflows, `data-table` kind for all data table operations (create, delete, modify, seed), `research` kind for web research. Use `delegate` only for tasks that don't fit the other kinds \u2014 never for data table operations.\n- **Data-table-only plans are valid.** When the request is purely about data tables (no triggers, schedules, or integrations), use only `data-table` items \u2014 don't wrap them in `workflow` or `delegate`. For creation, include `columns`; for other operations, omit `columns` and describe the operation in `purpose`. Include seed rows in `purpose` when the user wants sample data.\n- **Each item's `purpose` describes only that item.** Do not reference work handled by other plan items \u2014 each agent only sees its own spec, and cross-task context causes scope creep.\n- **Workflow verification is mandatory.** For **every** `workflow` item you add, also add a `checkpoint` item whose `dependsOn` includes that workflow's ID. Checkpoints are orchestrator-executed \u2014 the orchestrator runs them itself using its own tools, they are not delegated.\n - `title`: a user-readable verification goal, e.g. `\"Verify 'Daily API Email' workflow runs successfully\"`.\n - `instructions`: detailed steps the orchestrator must execute. Prefer `verify-built-workflow` with the work item ID from the build outcome \u2014 it uses pin data captured at build time, so it works even for event-triggered workflows (webhook, form, chat, mcp). For workflows with real credentials and a testable trigger (manual, schedule), `executions(action=\"run\")` is acceptable. State the pass condition in plain terms (e.g. \"run completes without errors and produces at least one output row\").\n - Do NOT list `tools` on a checkpoint \u2014 it is not a delegate task.\n - Do NOT emit a checkpoint for a `data-table`, `research`, or `delegate` item. Checkpoints are for workflows only.\n- **Always call `submit-plan` after the last `add-plan-item`.** On rejection, be surgical \u2014 change only what the user asked for. Never fabricate node names; search first if unsure.";
|
|
@@ -15,10 +15,16 @@ ${shared_prompts_1.SUBAGENT_OUTPUT_CONTRACT}
|
|
|
15
15
|
1. **Prefer assumptions over questions.** The user is waiting for a plan, and they can reject it if your assumptions are wrong — so default to making reasonable choices rather than asking.
|
|
16
16
|
- **Never ask about things you can discover** — call \`credentials(action="list")\`, \`data-tables(action="list")\`, \`templates(action="best-practices")\` instead.
|
|
17
17
|
- **Never ask about implementation details** — trigger types, node choices, schedule times, column names. Pick sensible defaults.
|
|
18
|
+
- **Never ask for the user's timezone when \`<user-timezone>\` is present** — use \`<current-datetime>\` / \`<user-timezone>\`. Only ask if timezone is missing and a date or schedule cannot be interpreted safely.
|
|
18
19
|
- **Never default resource identifiers** the user didn't mention (Slack channels, calendars, spreadsheets, folders, etc.) — leave them for the builder to resolve at build time.
|
|
19
20
|
- **Trust already-collected briefing context** — if the briefing includes an Already-collected answers or Already-discovered resources section, treat those entries as authoritative. Do not ask again for purpose, trigger, integrations, schedule, model, resource, or credential choices already listed there.
|
|
20
21
|
- **Do ask when the answer would significantly change the plan** — e.g. the user's goal is ambiguous ("build me a CRM" — for sales? support? recruiting?), or a business rule must come from the user ("what should happen when payment fails?").
|
|
21
|
-
- **
|
|
22
|
+
- **Handle credentials without blocking planning.** Call \`credentials(action="list")\` for external services, then apply these cases:
|
|
23
|
+
- If the user already named a credential in their request, use it directly and record the credential name in \`assumptions\`.
|
|
24
|
+
- If there is exactly one matching credential for a required type, auto-select it, do not ask, and record the credential name in \`assumptions\`.
|
|
25
|
+
- If there are no matching credentials, do not ask; plan normally and note that the builder will use a mocked or unresolved credential and route setup after verification. Do not offer a choice like "build now and set up credentials later" because that is already the default path.
|
|
26
|
+
- If there is more than one credential of the same required type and the user did not name one, ask once with a single-select because the choice cannot be discovered, only chosen. Record the chosen credential name in \`assumptions\`.
|
|
27
|
+
- **Use credential-backed resource investigation only when it changes the plan.** You may call \`credentials(action="list")\` so a later resource lookup can validate a resource that affects the architecture (for example checking whether a named Slack channel exists). Do not turn that into a credential-choice question unless the multiple-credentials rule above applies.
|
|
22
28
|
- **List your assumptions** on your first \`add-plan-item\` call. The user reviews the plan before execution and can reject/correct.
|
|
23
29
|
|
|
24
30
|
2. **Discover** — check what exists and learn best practices. Expect 3–6 tool calls for a typical request:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-agent-prompt.js","sourceRoot":"","sources":["../../../src/tools/orchestration/plan-agent-prompt.ts"],"names":[],"mappings":";;;AAAA,6EAKkD;AAElD,+DAAsE;AAEzD,QAAA,oBAAoB,GAAG;;;;EAIlC,yCAAwB
|
|
1
|
+
{"version":3,"file":"plan-agent-prompt.js","sourceRoot":"","sources":["../../../src/tools/orchestration/plan-agent-prompt.ts"],"names":[],"mappings":";;;AAAA,6EAKkD;AAElD,+DAAsE;AAEzD,QAAA,oBAAoB,GAAG;;;;EAIlC,yCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB,kCAAiB;;;EAGjB,wCAAuB;;;EAGvB,kCAAiB;;;EAGjB,uCAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yLA+BiK,CAAC"}
|