@n8n/instance-ai 1.6.3 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/agent/computer-use-prompt.js +33 -2
  2. package/dist/agent/computer-use-prompt.js.map +1 -1
  3. package/dist/agent/instance-agent.js +0 -1
  4. package/dist/agent/instance-agent.js.map +1 -1
  5. package/dist/agent/shared-prompts.d.ts +1 -1
  6. package/dist/agent/shared-prompts.js +1 -1
  7. package/dist/agent/shared-prompts.js.map +1 -1
  8. package/dist/agent/sub-agent-debriefing.d.ts +2 -2
  9. package/dist/agent/system-prompt.d.ts +0 -1
  10. package/dist/agent/system-prompt.js +14 -15
  11. package/dist/agent/system-prompt.js.map +1 -1
  12. package/dist/build.tsbuildinfo +1 -1
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.js +4 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/planned-tasks/planned-task-service.d.ts +3 -0
  17. package/dist/planned-tasks/planned-task-service.js +14 -7
  18. package/dist/planned-tasks/planned-task-service.js.map +1 -1
  19. package/dist/runtime/builder-sandbox-session-registry.d.ts +2 -0
  20. package/dist/runtime/builder-sandbox-session-registry.js +8 -1
  21. package/dist/runtime/builder-sandbox-session-registry.js.map +1 -1
  22. package/dist/runtime/resumable-stream-executor.d.ts +1 -0
  23. package/dist/runtime/resumable-stream-executor.js +7 -0
  24. package/dist/runtime/resumable-stream-executor.js.map +1 -1
  25. package/dist/runtime/run-state-registry.d.ts +11 -4
  26. package/dist/runtime/run-state-registry.js +14 -10
  27. package/dist/runtime/run-state-registry.js.map +1 -1
  28. package/dist/stream/consume-with-hitl.d.ts +2 -0
  29. package/dist/stream/consume-with-hitl.js +1 -0
  30. package/dist/stream/consume-with-hitl.js.map +1 -1
  31. package/dist/tools/attachments/parse-file.tool.d.ts +2 -2
  32. package/dist/tools/credentials.tool.d.ts +2 -2
  33. package/dist/tools/credentials.tool.js +6 -0
  34. package/dist/tools/credentials.tool.js.map +1 -1
  35. package/dist/tools/evals/analyze-agent-input-columns.service.d.ts +6 -0
  36. package/dist/tools/evals/analyze-agent-input-columns.service.js +17 -0
  37. package/dist/tools/evals/analyze-agent-input-columns.service.js.map +1 -0
  38. package/dist/tools/evals/column-ref-utils.d.ts +18 -0
  39. package/dist/tools/evals/column-ref-utils.js +116 -0
  40. package/dist/tools/evals/column-ref-utils.js.map +1 -0
  41. package/dist/tools/evals/describe-metric-for-workflow.service.d.ts +6 -0
  42. package/dist/tools/evals/describe-metric-for-workflow.service.js +108 -0
  43. package/dist/tools/evals/describe-metric-for-workflow.service.js.map +1 -0
  44. package/dist/tools/evals/detect-agent-named-refs.service.d.ts +9 -0
  45. package/dist/tools/evals/detect-agent-named-refs.service.js +67 -0
  46. package/dist/tools/evals/detect-agent-named-refs.service.js.map +1 -0
  47. package/dist/tools/evals/detect-ai-nodes.d.ts +7 -0
  48. package/dist/tools/evals/detect-ai-nodes.js +75 -0
  49. package/dist/tools/evals/detect-ai-nodes.js.map +1 -0
  50. package/dist/tools/evals/detect-tool-refs.service.d.ts +7 -0
  51. package/dist/tools/evals/detect-tool-refs.service.js +65 -0
  52. package/dist/tools/evals/detect-tool-refs.service.js.map +1 -0
  53. package/dist/tools/evals/eval-data-requirements.service.d.ts +19 -0
  54. package/dist/tools/evals/eval-data-requirements.service.js +167 -0
  55. package/dist/tools/evals/eval-data-requirements.service.js.map +1 -0
  56. package/dist/tools/evals/metric-catalog.d.ts +57 -0
  57. package/dist/tools/evals/metric-catalog.js +81 -0
  58. package/dist/tools/evals/metric-catalog.js.map +1 -0
  59. package/dist/tools/filesystem/create-tools-from-mcp-server.js +7 -1
  60. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -1
  61. package/dist/tools/nodes/node-search-engine.types.d.ts +7 -0
  62. package/dist/tools/orchestration/build-workflow-agent.prompt.js +34 -223
  63. package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
  64. package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +12 -1
  65. package/dist/tools/orchestration/build-workflow-agent.tool.js +130 -27
  66. package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
  67. package/dist/tools/orchestration/delegate.schemas.d.ts +2 -2
  68. package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
  69. package/dist/tools/orchestration/plan-agent-prompt.js +7 -1
  70. package/dist/tools/orchestration/plan-agent-prompt.js.map +1 -1
  71. package/dist/tools/orchestration/plan.tool.js +21 -4
  72. package/dist/tools/orchestration/plan.tool.js.map +1 -1
  73. package/dist/tools/workflows/submit-workflow-identity.d.ts +6 -1
  74. package/dist/tools/workflows/submit-workflow-identity.js +17 -4
  75. package/dist/tools/workflows/submit-workflow-identity.js.map +1 -1
  76. package/dist/tools/workflows/submit-workflow.tool.d.ts +2 -2
  77. package/dist/tools/workflows/submit-workflow.tool.js +5 -1
  78. package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
  79. package/dist/tools/workflows.tool.js +19 -2
  80. package/dist/tools/workflows.tool.js.map +1 -1
  81. package/dist/tracing/langsmith-tracing.d.ts +2 -0
  82. package/dist/tracing/langsmith-tracing.js +29 -0
  83. package/dist/tracing/langsmith-tracing.js.map +1 -1
  84. package/dist/types.d.ts +0 -1
  85. package/dist/utils/eval-agents.d.ts +3 -0
  86. package/dist/utils/eval-agents.js +7 -0
  87. package/dist/utils/eval-agents.js.map +1 -1
  88. package/dist/utils/scrub-secrets.d.ts +1 -0
  89. package/dist/utils/scrub-secrets.js +19 -0
  90. package/dist/utils/scrub-secrets.js.map +1 -0
  91. package/dist/workflow-loop/guidance.js +2 -1
  92. package/dist/workflow-loop/guidance.js.map +1 -1
  93. package/dist/workflow-loop/index.d.ts +1 -0
  94. package/dist/workflow-loop/index.js +3 -1
  95. package/dist/workflow-loop/index.js.map +1 -1
  96. package/dist/workflow-loop/terminal-remediation-guard.d.ts +6 -0
  97. package/dist/workflow-loop/terminal-remediation-guard.js +18 -0
  98. package/dist/workflow-loop/terminal-remediation-guard.js.map +1 -0
  99. package/dist/workspace/builder-sandbox-factory.d.ts +2 -0
  100. package/dist/workspace/builder-sandbox-factory.js +12 -3
  101. package/dist/workspace/builder-sandbox-factory.js.map +1 -1
  102. package/dist/workspace/guarded-filesystem.d.ts +10 -0
  103. package/dist/workspace/guarded-filesystem.js +136 -0
  104. package/dist/workspace/guarded-filesystem.js.map +1 -0
  105. package/dist/workspace/sandbox-fs.js +34 -11
  106. package/dist/workspace/sandbox-fs.js.map +1 -1
  107. package/dist/workspace/sandbox-setup.d.ts +2 -0
  108. package/dist/workspace/sandbox-setup.js +35 -20
  109. package/dist/workspace/sandbox-setup.js.map +1 -1
  110. package/dist/workspace/template-telemetry.d.ts +23 -0
  111. package/dist/workspace/template-telemetry.js +180 -0
  112. package/dist/workspace/template-telemetry.js.map +1 -0
  113. package/package.json +20 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guarded-filesystem.js","sourceRoot":"","sources":["../../src/workspace/guarded-filesystem.ts"],"names":[],"mappings":";;AAsBA,0DASC;AATD,SAAgB,uBAAuB,CAAC,UAA+B;IAItE,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO;QACN,UAAU,EAAE,OAAO;QACnB,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;KAC5D,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB;IAGO;IAFrB,aAAa,CAAsC;IAE3D,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEhE,IAAI,EAAE;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,MAAM,CAAC,MAAsB;QAChC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,KAAyB;QAClC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,gBAAgB,CAAC,KAA0C;QAC1D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,QAAQ,GAAmB;YAChC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,eAAe,CACd,OAA4E;QAE5E,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAqB;QACjD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAoB,EAAE,OAAsB;QACzE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAAoB;QAClD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAAuB;QACrD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,OAAqB;QAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,OAAqB;QAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAiC;QAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAuB;QAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAqB;QAChD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACtB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAEO,eAAe;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;CACD"}
@@ -4,34 +4,57 @@ exports.runInSandbox = runInSandbox;
4
4
  exports.writeFileViaSandbox = writeFileViaSandbox;
5
5
  exports.readFileViaSandbox = readFileViaSandbox;
6
6
  exports.escapeSingleQuotes = escapeSingleQuotes;
7
+ const template_telemetry_1 = require("./template-telemetry");
8
+ const BASE64_WRITE_CHUNK_SIZE = 32_000;
7
9
  async function runInSandbox(workspace, command, cwd) {
8
10
  const sandbox = workspace.sandbox;
9
11
  if (!sandbox)
10
12
  throw new Error('Workspace has no sandbox');
13
+ let result;
11
14
  if (sandbox.executeCommand) {
12
- const result = await sandbox.executeCommand(command, [], { cwd });
13
- return { exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
15
+ const r = await sandbox.executeCommand(command, [], { cwd });
16
+ result = { exitCode: r.exitCode, stdout: r.stdout, stderr: r.stderr };
14
17
  }
15
- if (sandbox.processes) {
18
+ else if (sandbox.processes) {
16
19
  const handle = await sandbox.processes.spawn(command, { cwd });
17
- const result = await handle.wait();
18
- return { exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
20
+ const r = await handle.wait();
21
+ result = { exitCode: r.exitCode, stdout: r.stdout, stderr: r.stderr };
19
22
  }
20
- throw new Error('Sandbox has neither executeCommand nor processes available');
23
+ else {
24
+ throw new Error('Sandbox has neither executeCommand nor processes available');
25
+ }
26
+ const session = (0, template_telemetry_1.getTemplateTelemetrySession)(workspace);
27
+ if (session) {
28
+ try {
29
+ session.observe(command, result.stdout);
30
+ }
31
+ catch {
32
+ }
33
+ }
34
+ return result;
21
35
  }
22
36
  async function writeFileViaSandbox(workspace, filePath, content) {
37
+ const runWriteCommand = async (command) => {
38
+ const result = await runInSandbox(workspace, command);
39
+ if (result.exitCode !== 0) {
40
+ throw new Error(`Failed to write file ${filePath}: ${result.stderr}`);
41
+ }
42
+ };
23
43
  const dir = filePath.substring(0, filePath.lastIndexOf('/'));
24
44
  if (dir) {
25
- await runInSandbox(workspace, `mkdir -p '${escapeSingleQuotes(dir)}'`);
45
+ await runWriteCommand(`mkdir -p '${escapeSingleQuotes(dir)}'`);
26
46
  }
27
47
  const b64 = typeof content === 'string'
28
48
  ? Buffer.from(content, 'utf-8').toString('base64')
29
49
  : content.toString('base64');
30
- const cmd = `echo '${b64}' | base64 -d > '${escapeSingleQuotes(filePath)}'`;
31
- const result = await runInSandbox(workspace, cmd);
32
- if (result.exitCode !== 0) {
33
- throw new Error(`Failed to write file ${filePath}: ${result.stderr}`);
50
+ const tempPath = `${filePath}.base64.tmp-${Date.now()}-${Math.random().toString(36).slice(2)}`;
51
+ const escapedTempPath = escapeSingleQuotes(tempPath);
52
+ await runWriteCommand(`: > '${escapedTempPath}'`);
53
+ for (let offset = 0; offset < b64.length; offset += BASE64_WRITE_CHUNK_SIZE) {
54
+ const chunk = b64.slice(offset, offset + BASE64_WRITE_CHUNK_SIZE);
55
+ await runWriteCommand(`printf '%s' '${chunk}' >> '${escapedTempPath}'`);
34
56
  }
57
+ await runWriteCommand(`base64 -d '${escapedTempPath}' > '${escapeSingleQuotes(filePath)}'; status=$?; rm -f '${escapedTempPath}'; exit $status`);
35
58
  }
36
59
  async function readFileViaSandbox(workspace, filePath) {
37
60
  const result = await runInSandbox(workspace, `cat '${escapeSingleQuotes(filePath)}' 2>/dev/null`);
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-fs.js","sourceRoot":"","sources":["../../src/workspace/sandbox-fs.ts"],"names":[],"mappings":";;AAkBA,oCAoBC;AAQD,kDAqBC;AAMD,gDAOC;AAMD,gDAEC;AAtEM,KAAK,UAAU,YAAY,CACjC,SAAoB,EACpB,OAAe,EACf,GAAY;IAEZ,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAE1D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC/E,CAAC;AAQM,KAAK,UAAU,mBAAmB,CACxC,SAAoB,EACpB,QAAgB,EAChB,OAAwB;IAGxB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,EAAE,CAAC;QACT,MAAM,YAAY,CAAC,SAAS,EAAE,aAAa,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IAGD,MAAM,GAAG,GACR,OAAO,OAAO,KAAK,QAAQ;QAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,SAAS,GAAG,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;AACF,CAAC;AAMM,KAAK,UAAU,kBAAkB,CACvC,SAAoB,EACpB,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,QAAQ,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC;AACtB,CAAC;AAMD,SAAgB,kBAAkB,CAAC,CAAS;IAC3C,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"sandbox-fs.js","sourceRoot":"","sources":["../../src/workspace/sandbox-fs.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Workspace } from '@mastra/core/workspace';
2
+ import type { Logger } from '../logger';
2
3
  import type { InstanceAiContext, SearchableNodeDescription } from '../types';
3
4
  export declare const WORKSPACE_DIR = "workspace";
4
5
  export declare const N8N_SANDBOX_HOME = "/home/user";
@@ -8,4 +9,5 @@ export declare const BUILD_MJS = "const filePath = process.argv[2] || './src/wor
8
9
  export declare const TSCONFIG_JSON: string;
9
10
  export declare function formatNodeCatalogLine(node: SearchableNodeDescription): string;
10
11
  export declare function getWorkspaceRoot(workspace: Workspace): Promise<string>;
12
+ export declare function writeCuratedExamples(workspace: Workspace, logger?: Logger): Promise<void>;
11
13
  export declare function setupSandboxWorkspace(workspace: Workspace, context: InstanceAiContext): Promise<boolean>;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TSCONFIG_JSON = exports.BUILD_MJS = exports.PACKAGE_JSON = exports.N8N_SANDBOX_WORKSPACE_ROOT = exports.N8N_SANDBOX_HOME = exports.WORKSPACE_DIR = void 0;
4
4
  exports.formatNodeCatalogLine = formatNodeCatalogLine;
5
5
  exports.getWorkspaceRoot = getWorkspaceRoot;
6
+ exports.writeCuratedExamples = writeCuratedExamples;
6
7
  exports.setupSandboxWorkspace = setupSandboxWorkspace;
8
+ const examples_loader_1 = require("@n8n/workflow-sdk/examples-loader");
7
9
  const node_module_1 = require("node:module");
8
10
  const pack_workspace_sdk_1 = require("./pack-workspace-sdk");
9
11
  const sandbox_fs_1 = require("./sandbox-fs");
@@ -106,23 +108,6 @@ function formatNodeCatalogLine(node) {
106
108
  return parts.join(' | ');
107
109
  }
108
110
  const ALWAYS_PRESENT_DIRS = ['src', 'chunks', 'workflows'];
109
- function buildBatchWriteScript(root, files) {
110
- const lines = ['#!/bin/bash', 'set -e'];
111
- const dirs = new Set(ALWAYS_PRESENT_DIRS);
112
- for (const path of files.keys()) {
113
- const lastSlash = path.lastIndexOf('/');
114
- if (lastSlash > 0) {
115
- dirs.add(path.substring(0, lastSlash));
116
- }
117
- }
118
- const dirList = [...dirs].map((d) => `'${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/${d}`)}'`).join(' ');
119
- lines.push(`mkdir -p ${dirList}`);
120
- for (const [path, content] of files) {
121
- const b64 = Buffer.from(content, 'utf-8').toString('base64');
122
- lines.push(`echo '${b64}' | base64 -d > '${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/${path}`)}'`);
123
- }
124
- return lines.join('\n');
125
- }
126
111
  async function writeWorkspaceFiles(workspace, root, files) {
127
112
  const filesystem = workspace.filesystem;
128
113
  if (filesystem) {
@@ -132,12 +117,14 @@ async function writeWorkspaceFiles(workspace, root, files) {
132
117
  }));
133
118
  return;
134
119
  }
135
- const script = buildBatchWriteScript(root, files);
136
- const scriptB64 = Buffer.from(script, 'utf-8').toString('base64');
137
- const result = await (0, sandbox_fs_1.runInSandbox)(workspace, `echo '${scriptB64}' | base64 -d | bash`);
120
+ const dirList = ALWAYS_PRESENT_DIRS.map((dir) => `'${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/${dir}`)}'`).join(' ');
121
+ const result = await (0, sandbox_fs_1.runInSandbox)(workspace, `mkdir -p ${dirList}`);
138
122
  if (result.exitCode !== 0) {
139
123
  throw new Error(`Sandbox setup failed: ${result.stderr}`);
140
124
  }
125
+ for (const [path, content] of files) {
126
+ await (0, sandbox_fs_1.writeFileViaSandbox)(workspace, `${root}/${path}`, content);
127
+ }
141
128
  }
142
129
  const workspaceRootCache = new WeakMap();
143
130
  function getLocalFilesystemRoot(workspace) {
@@ -162,6 +149,33 @@ async function getWorkspaceRoot(workspace) {
162
149
  workspaceRootCache.set(workspace, root);
163
150
  return root;
164
151
  }
152
+ async function writeCuratedExamples(workspace, logger) {
153
+ const start = Date.now();
154
+ let exampleFiles;
155
+ let indexTxt;
156
+ try {
157
+ ({ files: exampleFiles, indexTxt } = (0, examples_loader_1.getExampleFiles)());
158
+ }
159
+ catch (error) {
160
+ logger?.warn('[sandbox-setup] curated examples unavailable, continuing without', {
161
+ error: error instanceof Error ? error.message : String(error),
162
+ });
163
+ return;
164
+ }
165
+ if (exampleFiles.length === 0)
166
+ return;
167
+ const root = await getWorkspaceRoot(workspace);
168
+ const fileMap = new Map();
169
+ fileMap.set('examples/index.txt', indexTxt);
170
+ for (const example of exampleFiles) {
171
+ fileMap.set(`examples/${example.filename}`, example.content);
172
+ }
173
+ await writeWorkspaceFiles(workspace, root, fileMap);
174
+ logger?.debug('[sandbox-setup] prepared curated examples', {
175
+ count: exampleFiles.length,
176
+ durationMs: Date.now() - start,
177
+ });
178
+ }
165
179
  async function setupSandboxWorkspace(workspace, context) {
166
180
  const root = await getWorkspaceRoot(workspace);
167
181
  const markerFile = `${root}/.sandbox-initialized`;
@@ -190,6 +204,7 @@ async function setupSandboxWorkspace(workspace, context) {
190
204
  catch {
191
205
  }
192
206
  await writeWorkspaceFiles(workspace, root, files);
207
+ await writeCuratedExamples(workspace, context.logger);
193
208
  const npmResult = await (0, sandbox_fs_1.runInSandbox)(workspace, 'npm install --ignore-scripts', root);
194
209
  if (npmResult.exitCode !== 0) {
195
210
  throw new Error(`Sandbox npm install failed: ${npmResult.stderr}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-setup.js","sourceRoot":"","sources":["../../src/workspace/sandbox-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-setup.js","sourceRoot":"","sources":["../../src/workspace/sandbox-setup.ts"],"names":[],"mappings":";;;AAwNA,sDAYC;AAqDD,4CAeC;AAYD,oDA2BC;AAUD,sDAgEC;AAjYD,uEAAsF;AACtF,6CAA4C;AAI5C,6DAAiE;AACjE,6CAKsB;AAEtB,MAAM,WAAW,GAAG,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAC;AAEjC,QAAA,aAAa,GAAG,WAAW,CAAC;AAG5B,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAGhC,QAAA,0BAA0B,GAAG,GAAG,wBAAgB,IAAI,qBAAa,EAAE,CAAC;AAOjF,SAAS,qBAAqB,CAAC,IAAY;IAC1C,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,eAAe,CAAyB,CAAC;QACxE,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;AACF,CAAC;AAwBD,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;AAEvD,SAAS,wBAAwB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC9D,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAC;IAC7D,OAAO,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;AACnD,CAAC;AACD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AASzD,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAE7C,SAAS,gBAAgB,CAAC,YAA2B;IACpD,MAAM,YAAY,GAA2B;QAC5C,GAAG,EAAE,mBAAmB;KACxB,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QAClB,YAAY,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CACpB;QACC,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,IAAI;QACb,YAAY;QACZ,eAAe,EAAE;YAChB,aAAa,EAAE,0BAA0B;SACzC;KACD,EACD,IAAI,EACJ,CAAC,CACD,CAAC;AACH,CAAC;AAYY,QAAA,YAAY,GAAG,gBAAgB,CAC3C,IAAA,8CAAyB,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CACxD,CAAC;AAOF,SAAS,kBAAkB,CAAC,IAAY;IACvC,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAUD,SAAS,6BAA6B;IACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO,oBAAY,CAAC;IAClC,OAAO,gBAAgB,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;AAC5C,CAAC;AAMY,QAAA,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;CAoBxB,CAAC;AAEW,QAAA,aAAa,GAAG,IAAI,CAAC,SAAS,CAC1C;IACC,eAAe,EAAE;QAChB,MAAM,EAAE,IAAI;QAIZ,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI;KAClB;IACD,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;CAC1C,EACD,IAAI,EACJ,CAAC,CACD,CAAC;AAMF,SAAgB,qBAAqB,CAAC,IAA+B;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;QAC7C,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IAEtB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAGD,MAAM,mBAAmB,GAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE9E,KAAK,UAAU,mBAAmB,CACjC,SAAoB,EACpB,IAAY,EACZ,KAA0B;IAE1B,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,IAAI,UAAU,EAAE,CAAC;QAEhB,MAAM,OAAO,CAAC,GAAG,CAChB,mBAAmB,CAAC,GAAG,CACtB,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAC5E,CACD,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAChB,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;YACxC,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC,CACF,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CACtC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAA,+BAAkB,EAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,CACpD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAY,EAAC,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACrC,MAAM,IAAA,gCAAmB,EAAC,SAAS,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;AACF,CAAC;AAMD,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAqB,CAAC;AAE5D,SAAS,sBAAsB,CAAC,SAAoB;IACnD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;IACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAEhE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,SAAoB;IAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,SAAS,EAAE,CAAC;QACf,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAY,EAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC;IACrD,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,qBAAa,EAAE,CAAC;IACxC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACb,CAAC;AAYM,KAAK,UAAU,oBAAoB,CAAC,SAAoB,EAAE,MAAe;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,IAAI,YAA2B,CAAC;IAChC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACJ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAA,iCAAe,GAAE,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,CAAC,kEAAkE,EAAE;YAChF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7D,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEtC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,EAAE,KAAK,CAAC,2CAA2C,EAAE;QAC1D,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;KAC9B,CAAC,CAAC;AACJ,CAAC;AAUM,KAAK,UAAU,qBAAqB,CAC1C,SAAoB,EACpB,OAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,GAAG,IAAI,uBAAuB,CAAC;IAGlD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAkB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAIlC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAMxC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,qBAAa,CAAC,CAAC;IAC1C,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAS,CAAC,CAAC;IAGlC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;IAC7D,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC1D,KAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAG3D,IAAI,CAAC;QACJ,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7D,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAClE,CAAC,CAAC,CACF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAID,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAGtD,MAAM,SAAS,GAAG,MAAM,IAAA,yBAAY,EAAC,SAAS,EAAE,8BAA8B,EAAE,IAAI,CAAC,CAAC;IACtF,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,mBAAmB,CACxB,SAAS,EACT,IAAI,EACJ,IAAI,GAAG,CAAC,CAAC,CAAC,sBAAsB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAC7D,CAAC;IAEF,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { Workspace } from '@mastra/core/workspace';
2
+ import type { InstanceAiEvent } from '@n8n/api-types';
3
+ import type { OrchestrationContext } from '../types';
4
+ export interface TemplateTelemetrySession {
5
+ observe(command: string, stdout: string): void;
6
+ observeTypedRead(filename: string, bytesRead: number): void;
7
+ observeTypedSearch(query: string, resultCount: number): void;
8
+ flush(): void;
9
+ isOpen(): boolean;
10
+ }
11
+ export interface TelemetrySessionOptions {
12
+ context: OrchestrationContext;
13
+ threadId?: string;
14
+ runId: string;
15
+ workItemId: string;
16
+ userRequestExcerpt?: string;
17
+ }
18
+ export declare function createTemplateTelemetrySession(opts: TelemetrySessionOptions): TemplateTelemetrySession;
19
+ export declare function extractGrepQuery(command: string): string;
20
+ export declare function attachTemplateTelemetrySession(workspace: Workspace, session: TemplateTelemetrySession): void;
21
+ export declare function detachTemplateTelemetrySession(workspace: Workspace): void;
22
+ export declare function getTemplateTelemetrySession(workspace: Workspace): TemplateTelemetrySession | undefined;
23
+ export declare function createTypedToolObserver(session: TemplateTelemetrySession): (event: InstanceAiEvent) => void;
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTemplateTelemetrySession = createTemplateTelemetrySession;
4
+ exports.extractGrepQuery = extractGrepQuery;
5
+ exports.attachTemplateTelemetrySession = attachTemplateTelemetrySession;
6
+ exports.detachTemplateTelemetrySession = detachTemplateTelemetrySession;
7
+ exports.getTemplateTelemetrySession = getTemplateTelemetrySession;
8
+ exports.createTypedToolObserver = createTypedToolObserver;
9
+ const scrub_secrets_1 = require("../utils/scrub-secrets");
10
+ const MAX_QUERY_LENGTH = 200;
11
+ const MAX_USER_REQUEST_LENGTH = 120;
12
+ const SEARCH_PATTERN = /\bgrep\b[^|]*\bexamples\/index\.txt\b/;
13
+ const READ_COMMAND_HEADS = ['cat', 'head', 'tail', 'sed', 'less', 'more'];
14
+ const READ_FILE_PATTERN = /\bexamples\/([a-zA-Z0-9._-]+\.ts)\b/;
15
+ function createTemplateTelemetrySession(opts) {
16
+ const baseProps = {
17
+ thread_id: opts.threadId,
18
+ run_id: opts.runId,
19
+ work_item_id: opts.workItemId,
20
+ };
21
+ let searchCount = 0;
22
+ let readCount = 0;
23
+ const templatesRead = [];
24
+ let open = true;
25
+ function emit(name, extra) {
26
+ opts.context.trackTelemetry?.(name, { ...baseProps, ...extra });
27
+ }
28
+ function observeTypedRead(filename, bytesRead) {
29
+ if (!open)
30
+ return;
31
+ readCount++;
32
+ templatesRead.push(filename);
33
+ emit('Builder template read', {
34
+ template_filename: filename,
35
+ bytes_read: bytesRead,
36
+ });
37
+ }
38
+ function observeTypedSearch(query, resultCount) {
39
+ if (!open)
40
+ return;
41
+ searchCount++;
42
+ emit('Builder template search', {
43
+ query: scrubAndTruncateQuery(query),
44
+ result_count: resultCount,
45
+ });
46
+ }
47
+ function observe(command, stdout) {
48
+ if (!open)
49
+ return;
50
+ if (SEARCH_PATTERN.test(command)) {
51
+ searchCount++;
52
+ emit('Builder template search', {
53
+ query: scrubAndTruncateQuery(extractGrepQuery(command)),
54
+ result_count: countResultLines(stdout),
55
+ });
56
+ }
57
+ const head = command.trim().split(/\s+/, 1)[0]?.split('/').pop() ?? '';
58
+ if (READ_COMMAND_HEADS.includes(head)) {
59
+ const match = command.match(READ_FILE_PATTERN);
60
+ if (match) {
61
+ const filename = match[1];
62
+ readCount++;
63
+ templatesRead.push(filename);
64
+ emit('Builder template read', {
65
+ template_filename: filename,
66
+ bytes_read: stdout.length,
67
+ });
68
+ }
69
+ }
70
+ }
71
+ function flush() {
72
+ if (!open)
73
+ return;
74
+ open = false;
75
+ emit('Builder template session', {
76
+ search_count: searchCount,
77
+ read_count: readCount,
78
+ templates_read: templatesRead,
79
+ unique_templates_read: Array.from(new Set(templatesRead)).length,
80
+ user_request_excerpt: opts.userRequestExcerpt
81
+ ? truncate((0, scrub_secrets_1.scrubSecretsInText)(opts.userRequestExcerpt), MAX_USER_REQUEST_LENGTH)
82
+ : null,
83
+ });
84
+ }
85
+ return {
86
+ observe,
87
+ observeTypedRead,
88
+ observeTypedSearch,
89
+ flush,
90
+ isOpen: () => open,
91
+ };
92
+ }
93
+ function extractGrepQuery(command) {
94
+ const quoted = command.match(/grep\b[^"']*["']([^"']*)["']/);
95
+ if (quoted)
96
+ return truncate(quoted[1], MAX_QUERY_LENGTH);
97
+ const bare = command.match(/grep\b\s+(?:-[a-zA-Z]+\s+)*([^\s|]+)/);
98
+ if (bare)
99
+ return truncate(bare[1], MAX_QUERY_LENGTH);
100
+ return '';
101
+ }
102
+ function countResultLines(stdout) {
103
+ if (!stdout)
104
+ return 0;
105
+ const trimmed = stdout.replace(/\n+$/, '');
106
+ if (trimmed.length === 0)
107
+ return 0;
108
+ return trimmed.split('\n').length;
109
+ }
110
+ function truncate(s, max) {
111
+ if (s.length <= max)
112
+ return s;
113
+ return s.slice(0, max);
114
+ }
115
+ function scrubAndTruncateQuery(query) {
116
+ return truncate((0, scrub_secrets_1.scrubSecretsInText)(query), MAX_QUERY_LENGTH);
117
+ }
118
+ const SESSIONS = new WeakMap();
119
+ function attachTemplateTelemetrySession(workspace, session) {
120
+ SESSIONS.set(workspace, session);
121
+ }
122
+ function detachTemplateTelemetrySession(workspace) {
123
+ SESSIONS.delete(workspace);
124
+ }
125
+ function getTemplateTelemetrySession(workspace) {
126
+ return SESSIONS.get(workspace);
127
+ }
128
+ const TYPED_READ_TOOL = 'mastra_workspace_read_file';
129
+ const TYPED_GREP_TOOL = 'mastra_workspace_grep';
130
+ const EXAMPLES_PATH_PATTERN = /(?:^|\/)examples(?:$|\/)/;
131
+ function createTypedToolObserver(session) {
132
+ const pending = new Map();
133
+ return (event) => {
134
+ if (!session.isOpen())
135
+ return;
136
+ if (event.type === 'tool-call') {
137
+ const matched = matchTypedTemplateCall(event.payload.toolName, event.payload.args);
138
+ if (matched)
139
+ pending.set(event.payload.toolCallId, matched);
140
+ return;
141
+ }
142
+ if (event.type === 'tool-result') {
143
+ const match = pending.get(event.payload.toolCallId);
144
+ if (!match)
145
+ return;
146
+ pending.delete(event.payload.toolCallId);
147
+ const result = event.payload.result;
148
+ if (typeof result !== 'string')
149
+ return;
150
+ if (match.kind === 'read') {
151
+ session.observeTypedRead(match.filename, result.length);
152
+ }
153
+ else {
154
+ session.observeTypedSearch(match.query, countResultLines(result));
155
+ }
156
+ return;
157
+ }
158
+ if (event.type === 'tool-error') {
159
+ pending.delete(event.payload.toolCallId);
160
+ }
161
+ };
162
+ }
163
+ function matchTypedTemplateCall(toolName, args) {
164
+ if (toolName === TYPED_READ_TOOL) {
165
+ const path = typeof args.path === 'string' ? args.path : '';
166
+ const match = path.match(READ_FILE_PATTERN);
167
+ if (!match)
168
+ return undefined;
169
+ return { kind: 'read', filename: match[1] };
170
+ }
171
+ if (toolName === TYPED_GREP_TOOL) {
172
+ const path = typeof args.path === 'string' ? args.path : '';
173
+ if (!EXAMPLES_PATH_PATTERN.test(path))
174
+ return undefined;
175
+ const pattern = typeof args.pattern === 'string' ? args.pattern : '';
176
+ return { kind: 'search', query: pattern };
177
+ }
178
+ return undefined;
179
+ }
180
+ //# sourceMappingURL=template-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-telemetry.js","sourceRoot":"","sources":["../../src/workspace/template-telemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@n8n/instance-ai",
3
- "version": "1.6.3",
3
+ "version": "1.7.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist/**/*",
9
- "LICENSE.md",
10
- "LICENSE_EE.md"
9
+ "LICENSE_EE.md",
10
+ "LICENSE.md"
11
11
  ],
12
12
  "exports": {
13
13
  ".": {
@@ -30,34 +30,36 @@
30
30
  }
31
31
  },
32
32
  "dependencies": {
33
- "@daytonaio/sdk": "0.149.0",
33
+ "@ai-sdk/provider-v5": "npm:@ai-sdk/provider@2.0.0",
34
+ "@daytonaio/sdk": "0.175.0",
34
35
  "@joplin/turndown-plugin-gfm": "^1.0.12",
35
36
  "@mastra/core": "1.17.0",
36
37
  "@mastra/daytona": "0.2.0",
37
38
  "@mastra/mcp": "1.3.1",
38
39
  "@mastra/memory": "1.10.0",
39
- "langsmith": "0.5.19",
40
40
  "@mozilla/readability": "^0.6.0",
41
- "@n8n/sandbox-client": "0.0.1",
41
+ "@n8n/sandbox-client": "0.0.4",
42
+ "csv-parse": "6.2.1",
43
+ "fast-glob": "3.2.12",
44
+ "flatted": "3.4.2",
45
+ "langsmith": "0.6.0",
42
46
  "linkedom": "^0.18.9",
43
47
  "luxon": "3.7.2",
44
- "csv-parse": "6.2.1",
45
48
  "mammoth": "1.12.0",
46
49
  "nanoid": "3.3.8",
47
50
  "p-limit": "^3.1.0",
48
51
  "pdf-parse": "2.4.5",
49
52
  "psl": "1.9.0",
50
- "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz",
51
53
  "turndown": "^7.2.0",
54
+ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz",
52
55
  "zod": "3.25.67",
53
- "@ai-sdk/provider-v5": "npm:@ai-sdk/provider@2.0.0",
54
56
  "zod-from-json-schema-v3": "npm:zod-from-json-schema@^0.0.5",
55
- "flatted": "3.4.2",
56
- "@n8n/api-types": "1.21.3",
57
- "@n8n/utils": "1.30.0",
58
- "@n8n/agents": "0.7.1",
59
- "n8n-workflow": "2.21.2",
60
- "@n8n/workflow-sdk": "0.14.2"
57
+ "@n8n/agents": "0.8.1",
58
+ "@n8n/api-types": "1.22.1",
59
+ "@n8n/mcp-browser": "0.6.0",
60
+ "@n8n/workflow-sdk": "0.15.1",
61
+ "n8n-workflow": "2.22.1",
62
+ "@n8n/utils": "1.31.0"
61
63
  },
62
64
  "devDependencies": {
63
65
  "@ai-sdk/anthropic": "2.0.61",
@@ -67,7 +69,7 @@
67
69
  "@types/psl": "1.1.3",
68
70
  "@types/turndown": "^5.0.5",
69
71
  "tsx": "^4.19.3",
70
- "@n8n/ai-workflow-builder": "1.21.3",
72
+ "@n8n/ai-workflow-builder": "1.22.1",
71
73
  "@n8n/typescript-config": "1.4.0"
72
74
  },
73
75
  "license": "SEE LICENSE IN LICENSE.md",
@@ -95,6 +97,8 @@
95
97
  "eval:pairwise:report": "tsx evaluations/cli/report.ts",
96
98
  "eval:pairwise:compare": "tsx evaluations/cli/compare-pairwise.ts",
97
99
  "eval:subagent": "tsx evaluations/subagent/cli.ts",
100
+ "eval:computer-use": "tsx evaluations/computer-use/cli.ts",
101
+ "eval:discovery": "tsx evaluations/discovery/cli.ts",
98
102
  "prompts:print": "tsx scripts/print-prompts.ts"
99
103
  }
100
104
  }