@n8n/instance-ai 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/LICENSE.md +88 -0
  2. package/dist/agent/instance-agent.d.ts +3 -0
  3. package/dist/agent/instance-agent.js +215 -0
  4. package/dist/agent/instance-agent.js.map +1 -0
  5. package/dist/agent/register-with-mastra.d.ts +3 -0
  6. package/dist/agent/register-with-mastra.js +19 -0
  7. package/dist/agent/register-with-mastra.js.map +1 -0
  8. package/dist/agent/sanitize-mcp-schemas.d.ts +2 -0
  9. package/dist/agent/sanitize-mcp-schemas.js +91 -0
  10. package/dist/agent/sanitize-mcp-schemas.js.map +1 -0
  11. package/dist/agent/sub-agent-factory.d.ts +14 -0
  12. package/dist/agent/sub-agent-factory.js +48 -0
  13. package/dist/agent/sub-agent-factory.js.map +1 -0
  14. package/dist/agent/system-prompt.d.ts +13 -0
  15. package/dist/agent/system-prompt.js +226 -0
  16. package/dist/agent/system-prompt.js.map +1 -0
  17. package/dist/build.tsbuildinfo +1 -0
  18. package/dist/compaction/compaction-helper.d.ts +9 -0
  19. package/dist/compaction/compaction-helper.js +58 -0
  20. package/dist/compaction/compaction-helper.js.map +1 -0
  21. package/dist/compaction/index.d.ts +2 -0
  22. package/dist/compaction/index.js +6 -0
  23. package/dist/compaction/index.js.map +1 -0
  24. package/dist/domain-access/domain-access-tracker.d.ts +9 -0
  25. package/dist/domain-access/domain-access-tracker.js +46 -0
  26. package/dist/domain-access/domain-access-tracker.js.map +1 -0
  27. package/dist/domain-access/domain-gating.d.ts +65 -0
  28. package/dist/domain-access/domain-gating.js +68 -0
  29. package/dist/domain-access/domain-gating.js.map +1 -0
  30. package/dist/domain-access/index.d.ts +4 -0
  31. package/dist/domain-access/index.js +11 -0
  32. package/dist/domain-access/index.js.map +1 -0
  33. package/dist/event-bus/event-bus.interface.d.ts +15 -0
  34. package/dist/event-bus/event-bus.interface.js +3 -0
  35. package/dist/event-bus/event-bus.interface.js.map +1 -0
  36. package/dist/event-bus/index.d.ts +1 -0
  37. package/dist/event-bus/index.js +3 -0
  38. package/dist/event-bus/index.js.map +1 -0
  39. package/dist/index.d.ts +46 -0
  40. package/dist/index.js +89 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/mcp/mcp-client-manager.d.ts +6 -0
  43. package/dist/mcp/mcp-client-manager.js +34 -0
  44. package/dist/mcp/mcp-client-manager.js.map +1 -0
  45. package/dist/memory/memory-config.d.ts +3 -0
  46. package/dist/memory/memory-config.js +29 -0
  47. package/dist/memory/memory-config.js.map +1 -0
  48. package/dist/memory/title-utils.d.ts +3 -0
  49. package/dist/memory/title-utils.js +42 -0
  50. package/dist/memory/title-utils.js.map +1 -0
  51. package/dist/memory/working-memory-template.d.ts +1 -0
  52. package/dist/memory/working-memory-template.js +25 -0
  53. package/dist/memory/working-memory-template.js.map +1 -0
  54. package/dist/planned-tasks/planned-task-service.d.ts +33 -0
  55. package/dist/planned-tasks/planned-task-service.js +151 -0
  56. package/dist/planned-tasks/planned-task-service.js.map +1 -0
  57. package/dist/runtime/background-task-manager.d.ts +53 -0
  58. package/dist/runtime/background-task-manager.js +127 -0
  59. package/dist/runtime/background-task-manager.js.map +1 -0
  60. package/dist/runtime/resumable-stream-executor.d.ts +75 -0
  61. package/dist/runtime/resumable-stream-executor.js +1552 -0
  62. package/dist/runtime/resumable-stream-executor.js.map +1 -0
  63. package/dist/runtime/run-state-registry.d.ts +109 -0
  64. package/dist/runtime/run-state-registry.js +210 -0
  65. package/dist/runtime/run-state-registry.js.map +1 -0
  66. package/dist/runtime/stream-runner.d.ts +27 -0
  67. package/dist/runtime/stream-runner.js +87 -0
  68. package/dist/runtime/stream-runner.js.map +1 -0
  69. package/dist/runtime/working-memory-tracing.d.ts +19 -0
  70. package/dist/runtime/working-memory-tracing.js +111 -0
  71. package/dist/runtime/working-memory-tracing.js.map +1 -0
  72. package/dist/storage/agent-tree-snapshot.d.ts +7 -0
  73. package/dist/storage/agent-tree-snapshot.js +3 -0
  74. package/dist/storage/agent-tree-snapshot.js.map +1 -0
  75. package/dist/storage/index.d.ts +10 -0
  76. package/dist/storage/index.js +17 -0
  77. package/dist/storage/index.js.map +1 -0
  78. package/dist/storage/iteration-log.d.ts +30 -0
  79. package/dist/storage/iteration-log.js +31 -0
  80. package/dist/storage/iteration-log.js.map +1 -0
  81. package/dist/storage/mastra-iteration-log-storage.d.ts +10 -0
  82. package/dist/storage/mastra-iteration-log-storage.js +57 -0
  83. package/dist/storage/mastra-iteration-log-storage.js.map +1 -0
  84. package/dist/storage/mastra-task-storage.d.ts +9 -0
  85. package/dist/storage/mastra-task-storage.js +35 -0
  86. package/dist/storage/mastra-task-storage.js.map +1 -0
  87. package/dist/storage/planned-task-storage.d.ts +10 -0
  88. package/dist/storage/planned-task-storage.js +97 -0
  89. package/dist/storage/planned-task-storage.js.map +1 -0
  90. package/dist/storage/thread-patch.d.ts +16 -0
  91. package/dist/storage/thread-patch.js +50 -0
  92. package/dist/storage/thread-patch.js.map +1 -0
  93. package/dist/storage/workflow-loop-storage.d.ts +217 -0
  94. package/dist/storage/workflow-loop-storage.js +59 -0
  95. package/dist/storage/workflow-loop-storage.js.map +1 -0
  96. package/dist/stream/consume-with-hitl.d.ts +22 -0
  97. package/dist/stream/consume-with-hitl.js +29 -0
  98. package/dist/stream/consume-with-hitl.js.map +1 -0
  99. package/dist/stream/map-chunk.d.ts +2 -0
  100. package/dist/stream/map-chunk.js +224 -0
  101. package/dist/stream/map-chunk.js.map +1 -0
  102. package/dist/tools/best-practices/get-best-practices.tool.d.ts +12 -0
  103. package/dist/tools/best-practices/get-best-practices.tool.js +64 -0
  104. package/dist/tools/best-practices/get-best-practices.tool.js.map +1 -0
  105. package/dist/tools/best-practices/guides/chatbot.d.ts +1 -0
  106. package/dist/tools/best-practices/guides/chatbot.js +111 -0
  107. package/dist/tools/best-practices/guides/chatbot.js.map +1 -0
  108. package/dist/tools/best-practices/guides/content-generation.d.ts +1 -0
  109. package/dist/tools/best-practices/guides/content-generation.js +108 -0
  110. package/dist/tools/best-practices/guides/content-generation.js.map +1 -0
  111. package/dist/tools/best-practices/guides/data-extraction.d.ts +1 -0
  112. package/dist/tools/best-practices/guides/data-extraction.js +115 -0
  113. package/dist/tools/best-practices/guides/data-extraction.js.map +1 -0
  114. package/dist/tools/best-practices/guides/data-persistence.d.ts +1 -0
  115. package/dist/tools/best-practices/guides/data-persistence.js +198 -0
  116. package/dist/tools/best-practices/guides/data-persistence.js.map +1 -0
  117. package/dist/tools/best-practices/guides/data-transformation.d.ts +1 -0
  118. package/dist/tools/best-practices/guides/data-transformation.js +139 -0
  119. package/dist/tools/best-practices/guides/data-transformation.js.map +1 -0
  120. package/dist/tools/best-practices/guides/document-processing.d.ts +1 -0
  121. package/dist/tools/best-practices/guides/document-processing.js +326 -0
  122. package/dist/tools/best-practices/guides/document-processing.js.map +1 -0
  123. package/dist/tools/best-practices/guides/form-input.d.ts +1 -0
  124. package/dist/tools/best-practices/guides/form-input.js +166 -0
  125. package/dist/tools/best-practices/guides/form-input.js.map +1 -0
  126. package/dist/tools/best-practices/guides/notification.d.ts +1 -0
  127. package/dist/tools/best-practices/guides/notification.js +128 -0
  128. package/dist/tools/best-practices/guides/notification.js.map +1 -0
  129. package/dist/tools/best-practices/guides/scheduling.d.ts +1 -0
  130. package/dist/tools/best-practices/guides/scheduling.js +145 -0
  131. package/dist/tools/best-practices/guides/scheduling.js.map +1 -0
  132. package/dist/tools/best-practices/guides/scraping-and-research.d.ts +1 -0
  133. package/dist/tools/best-practices/guides/scraping-and-research.js +151 -0
  134. package/dist/tools/best-practices/guides/scraping-and-research.js.map +1 -0
  135. package/dist/tools/best-practices/guides/triage.d.ts +1 -0
  136. package/dist/tools/best-practices/guides/triage.js +142 -0
  137. package/dist/tools/best-practices/guides/triage.js.map +1 -0
  138. package/dist/tools/best-practices/index.d.ts +2 -0
  139. package/dist/tools/best-practices/index.js +34 -0
  140. package/dist/tools/best-practices/index.js.map +1 -0
  141. package/dist/tools/best-practices/techniques.d.ts +20 -0
  142. package/dist/tools/best-practices/techniques.js +40 -0
  143. package/dist/tools/best-practices/techniques.js.map +1 -0
  144. package/dist/tools/credentials/delete-credential.tool.d.ts +21 -0
  145. package/dist/tools/credentials/delete-credential.tool.js +51 -0
  146. package/dist/tools/credentials/delete-credential.tool.js.map +1 -0
  147. package/dist/tools/credentials/get-credential.tool.d.ts +4 -0
  148. package/dist/tools/credentials/get-credential.tool.js +26 -0
  149. package/dist/tools/credentials/get-credential.tool.js.map +1 -0
  150. package/dist/tools/credentials/list-credentials.tool.d.ts +6 -0
  151. package/dist/tools/credentials/list-credentials.tool.js +30 -0
  152. package/dist/tools/credentials/list-credentials.tool.js.map +1 -0
  153. package/dist/tools/credentials/search-credential-types.tool.d.ts +6 -0
  154. package/dist/tools/credentials/search-credential-types.tool.js +44 -0
  155. package/dist/tools/credentials/search-credential-types.tool.js.map +1 -0
  156. package/dist/tools/credentials/setup-credentials.tool.d.ts +73 -0
  157. package/dist/tools/credentials/setup-credentials.tool.js +134 -0
  158. package/dist/tools/credentials/setup-credentials.tool.js.map +1 -0
  159. package/dist/tools/credentials/test-credential.tool.d.ts +7 -0
  160. package/dist/tools/credentials/test-credential.tool.js +30 -0
  161. package/dist/tools/credentials/test-credential.tool.js.map +1 -0
  162. package/dist/tools/data-tables/add-data-table-column.tool.d.ts +27 -0
  163. package/dist/tools/data-tables/add-data-table-column.tool.js +60 -0
  164. package/dist/tools/data-tables/add-data-table-column.tool.js.map +1 -0
  165. package/dist/tools/data-tables/create-data-table.tool.d.ts +36 -0
  166. package/dist/tools/data-tables/create-data-table.tool.js +79 -0
  167. package/dist/tools/data-tables/create-data-table.tool.js.map +1 -0
  168. package/dist/tools/data-tables/delete-data-table-column.tool.d.ts +21 -0
  169. package/dist/tools/data-tables/delete-data-table-column.tool.js +48 -0
  170. package/dist/tools/data-tables/delete-data-table-column.tool.js.map +1 -0
  171. package/dist/tools/data-tables/delete-data-table-rows.tool.d.ts +29 -0
  172. package/dist/tools/data-tables/delete-data-table-rows.tool.js +63 -0
  173. package/dist/tools/data-tables/delete-data-table-rows.tool.js.map +1 -0
  174. package/dist/tools/data-tables/delete-data-table.tool.d.ts +20 -0
  175. package/dist/tools/data-tables/delete-data-table.tool.js +46 -0
  176. package/dist/tools/data-tables/delete-data-table.tool.js.map +1 -0
  177. package/dist/tools/data-tables/get-data-table-schema.tool.d.ts +11 -0
  178. package/dist/tools/data-tables/get-data-table-schema.tool.js +27 -0
  179. package/dist/tools/data-tables/get-data-table-schema.tool.js.map +1 -0
  180. package/dist/tools/data-tables/insert-data-table-rows.tool.d.ts +21 -0
  181. package/dist/tools/data-tables/insert-data-table-rows.tool.js +52 -0
  182. package/dist/tools/data-tables/insert-data-table-rows.tool.js.map +1 -0
  183. package/dist/tools/data-tables/list-data-tables.tool.d.ts +6 -0
  184. package/dist/tools/data-tables/list-data-tables.tool.js +32 -0
  185. package/dist/tools/data-tables/list-data-tables.tool.js.map +1 -0
  186. package/dist/tools/data-tables/query-data-table-rows.tool.d.ts +21 -0
  187. package/dist/tools/data-tables/query-data-table-rows.tool.js +54 -0
  188. package/dist/tools/data-tables/query-data-table-rows.tool.js.map +1 -0
  189. package/dist/tools/data-tables/rename-data-table-column.tool.d.ts +22 -0
  190. package/dist/tools/data-tables/rename-data-table-column.tool.js +49 -0
  191. package/dist/tools/data-tables/rename-data-table-column.tool.js.map +1 -0
  192. package/dist/tools/data-tables/update-data-table-rows.tool.d.ts +29 -0
  193. package/dist/tools/data-tables/update-data-table-rows.tool.js +57 -0
  194. package/dist/tools/data-tables/update-data-table-rows.tool.js.map +1 -0
  195. package/dist/tools/executions/debug-execution.tool.d.ts +4 -0
  196. package/dist/tools/executions/debug-execution.tool.js +41 -0
  197. package/dist/tools/executions/debug-execution.tool.js.map +1 -0
  198. package/dist/tools/executions/get-execution.tool.d.ts +4 -0
  199. package/dist/tools/executions/get-execution.tool.js +26 -0
  200. package/dist/tools/executions/get-execution.tool.js.map +1 -0
  201. package/dist/tools/executions/get-node-output.tool.d.ts +7 -0
  202. package/dist/tools/executions/get-node-output.tool.js +44 -0
  203. package/dist/tools/executions/get-node-output.tool.js.map +1 -0
  204. package/dist/tools/executions/list-executions.tool.d.ts +8 -0
  205. package/dist/tools/executions/list-executions.tool.js +45 -0
  206. package/dist/tools/executions/list-executions.tool.js.map +1 -0
  207. package/dist/tools/executions/run-workflow.tool.d.ts +24 -0
  208. package/dist/tools/executions/run-workflow.tool.js +82 -0
  209. package/dist/tools/executions/run-workflow.tool.js.map +1 -0
  210. package/dist/tools/executions/stop-execution.tool.d.ts +7 -0
  211. package/dist/tools/executions/stop-execution.tool.js +22 -0
  212. package/dist/tools/executions/stop-execution.tool.js.map +1 -0
  213. package/dist/tools/filesystem/create-tools-from-mcp-server.d.ts +3 -0
  214. package/dist/tools/filesystem/create-tools-from-mcp-server.js +61 -0
  215. package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -0
  216. package/dist/tools/filesystem/get-file-tree.tool.d.ts +22 -0
  217. package/dist/tools/filesystem/get-file-tree.tool.js +64 -0
  218. package/dist/tools/filesystem/get-file-tree.tool.js.map +1 -0
  219. package/dist/tools/filesystem/list-files.tool.d.ts +30 -0
  220. package/dist/tools/filesystem/list-files.tool.js +100 -0
  221. package/dist/tools/filesystem/list-files.tool.js.map +1 -0
  222. package/dist/tools/filesystem/read-file.tool.d.ts +25 -0
  223. package/dist/tools/filesystem/read-file.tool.js +83 -0
  224. package/dist/tools/filesystem/read-file.tool.js.map +1 -0
  225. package/dist/tools/filesystem/search-files.tool.d.ts +31 -0
  226. package/dist/tools/filesystem/search-files.tool.js +96 -0
  227. package/dist/tools/filesystem/search-files.tool.js.map +1 -0
  228. package/dist/tools/index.d.ts +2385 -0
  229. package/dist/tools/index.js +195 -0
  230. package/dist/tools/index.js.map +1 -0
  231. package/dist/tools/nodes/explore-node-resources.tool.d.ts +21 -0
  232. package/dist/tools/nodes/explore-node-resources.tool.js +71 -0
  233. package/dist/tools/nodes/explore-node-resources.tool.js.map +1 -0
  234. package/dist/tools/nodes/get-node-description.tool.d.ts +23 -0
  235. package/dist/tools/nodes/get-node-description.tool.js +52 -0
  236. package/dist/tools/nodes/get-node-description.tool.js.map +1 -0
  237. package/dist/tools/nodes/get-node-type-definition.tool.d.ts +17 -0
  238. package/dist/tools/nodes/get-node-type-definition.tool.js +73 -0
  239. package/dist/tools/nodes/get-node-type-definition.tool.js.map +1 -0
  240. package/dist/tools/nodes/get-suggested-nodes.tool.d.ts +14 -0
  241. package/dist/tools/nodes/get-suggested-nodes.tool.js +54 -0
  242. package/dist/tools/nodes/get-suggested-nodes.tool.js.map +1 -0
  243. package/dist/tools/nodes/list-nodes.tool.d.ts +6 -0
  244. package/dist/tools/nodes/list-nodes.tool.js +33 -0
  245. package/dist/tools/nodes/list-nodes.tool.js.map +1 -0
  246. package/dist/tools/nodes/node-search-engine.d.ts +18 -0
  247. package/dist/tools/nodes/node-search-engine.js +266 -0
  248. package/dist/tools/nodes/node-search-engine.js.map +1 -0
  249. package/dist/tools/nodes/node-search-engine.types.d.ts +38 -0
  250. package/dist/tools/nodes/node-search-engine.types.js +18 -0
  251. package/dist/tools/nodes/node-search-engine.types.js.map +1 -0
  252. package/dist/tools/nodes/search-nodes.tool.d.ts +28 -0
  253. package/dist/tools/nodes/search-nodes.tool.js +87 -0
  254. package/dist/tools/nodes/search-nodes.tool.js.map +1 -0
  255. package/dist/tools/nodes/suggested-nodes-data.d.ts +11 -0
  256. package/dist/tools/nodes/suggested-nodes-data.js +326 -0
  257. package/dist/tools/nodes/suggested-nodes-data.js.map +1 -0
  258. package/dist/tools/orchestration/browser-credential-setup.tool.d.ts +14 -0
  259. package/dist/tools/orchestration/browser-credential-setup.tool.js +429 -0
  260. package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -0
  261. package/dist/tools/orchestration/build-workflow-agent.prompt.d.ts +2 -0
  262. package/dist/tools/orchestration/build-workflow-agent.prompt.js +836 -0
  263. package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -0
  264. package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +23 -0
  265. package/dist/tools/orchestration/build-workflow-agent.tool.js +503 -0
  266. package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -0
  267. package/dist/tools/orchestration/cancel-background-task.tool.d.ts +6 -0
  268. package/dist/tools/orchestration/cancel-background-task.tool.js +24 -0
  269. package/dist/tools/orchestration/cancel-background-task.tool.js.map +1 -0
  270. package/dist/tools/orchestration/correct-background-task.tool.d.ts +7 -0
  271. package/dist/tools/orchestration/correct-background-task.tool.js +41 -0
  272. package/dist/tools/orchestration/correct-background-task.tool.js.map +1 -0
  273. package/dist/tools/orchestration/data-table-agent.prompt.d.ts +1 -0
  274. package/dist/tools/orchestration/data-table-agent.prompt.js +29 -0
  275. package/dist/tools/orchestration/data-table-agent.prompt.js.map +1 -0
  276. package/dist/tools/orchestration/data-table-agent.tool.d.ts +21 -0
  277. package/dist/tools/orchestration/data-table-agent.tool.js +171 -0
  278. package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -0
  279. package/dist/tools/orchestration/delegate.schemas.d.ts +32 -0
  280. package/dist/tools/orchestration/delegate.schemas.js +29 -0
  281. package/dist/tools/orchestration/delegate.schemas.js.map +1 -0
  282. package/dist/tools/orchestration/delegate.tool.d.ts +27 -0
  283. package/dist/tools/orchestration/delegate.tool.js +307 -0
  284. package/dist/tools/orchestration/delegate.tool.js.map +1 -0
  285. package/dist/tools/orchestration/display-utils.d.ts +1 -0
  286. package/dist/tools/orchestration/display-utils.js +8 -0
  287. package/dist/tools/orchestration/display-utils.js.map +1 -0
  288. package/dist/tools/orchestration/plan.tool.d.ts +45 -0
  289. package/dist/tools/orchestration/plan.tool.js +99 -0
  290. package/dist/tools/orchestration/plan.tool.js.map +1 -0
  291. package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +14 -0
  292. package/dist/tools/orchestration/report-verification-verdict.tool.js +66 -0
  293. package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -0
  294. package/dist/tools/orchestration/research-agent-prompt.d.ts +1 -0
  295. package/dist/tools/orchestration/research-agent-prompt.js +28 -0
  296. package/dist/tools/orchestration/research-agent-prompt.js.map +1 -0
  297. package/dist/tools/orchestration/research-with-agent.tool.d.ts +23 -0
  298. package/dist/tools/orchestration/research-with-agent.tool.js +160 -0
  299. package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -0
  300. package/dist/tools/orchestration/tracing-utils.d.ts +20 -0
  301. package/dist/tools/orchestration/tracing-utils.js +102 -0
  302. package/dist/tools/orchestration/tracing-utils.js.map +1 -0
  303. package/dist/tools/orchestration/update-tasks.tool.d.ts +10 -0
  304. package/dist/tools/orchestration/update-tasks.tool.js +26 -0
  305. package/dist/tools/orchestration/update-tasks.tool.js.map +1 -0
  306. package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +13 -0
  307. package/dist/tools/orchestration/verify-built-workflow.tool.js +58 -0
  308. package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -0
  309. package/dist/tools/shared/ask-user.tool.d.ts +61 -0
  310. package/dist/tools/shared/ask-user.tool.js +98 -0
  311. package/dist/tools/shared/ask-user.tool.js.map +1 -0
  312. package/dist/tools/templates/search-template-parameters.tool.d.ts +11 -0
  313. package/dist/tools/templates/search-template-parameters.tool.js +55 -0
  314. package/dist/tools/templates/search-template-parameters.tool.js.map +1 -0
  315. package/dist/tools/templates/search-template-structures.tool.d.ts +12 -0
  316. package/dist/tools/templates/search-template-structures.tool.js +45 -0
  317. package/dist/tools/templates/search-template-structures.tool.js.map +1 -0
  318. package/dist/tools/templates/template-api.d.ts +21 -0
  319. package/dist/tools/templates/template-api.js +104 -0
  320. package/dist/tools/templates/template-api.js.map +1 -0
  321. package/dist/tools/templates/types.d.ts +52 -0
  322. package/dist/tools/templates/types.js +37 -0
  323. package/dist/tools/templates/types.js.map +1 -0
  324. package/dist/tools/utils/mermaid.utils.d.ts +15 -0
  325. package/dist/tools/utils/mermaid.utils.js +622 -0
  326. package/dist/tools/utils/mermaid.utils.js.map +1 -0
  327. package/dist/tools/utils/node-configuration.utils.d.ts +6 -0
  328. package/dist/tools/utils/node-configuration.utils.js +77 -0
  329. package/dist/tools/utils/node-configuration.utils.js.map +1 -0
  330. package/dist/tools/web-research/fetch-url.tool.d.ts +27 -0
  331. package/dist/tools/web-research/fetch-url.tool.js +116 -0
  332. package/dist/tools/web-research/fetch-url.tool.js.map +1 -0
  333. package/dist/tools/web-research/index.d.ts +1 -0
  334. package/dist/tools/web-research/index.js +6 -0
  335. package/dist/tools/web-research/index.js.map +1 -0
  336. package/dist/tools/web-research/sanitize-web-content.d.ts +3 -0
  337. package/dist/tools/web-research/sanitize-web-content.js +36 -0
  338. package/dist/tools/web-research/sanitize-web-content.js.map +1 -0
  339. package/dist/tools/web-research/web-search.tool.d.ts +6 -0
  340. package/dist/tools/web-research/web-search.tool.js +57 -0
  341. package/dist/tools/web-research/web-search.tool.js.map +1 -0
  342. package/dist/tools/workflows/apply-workflow-credentials.tool.d.ts +10 -0
  343. package/dist/tools/workflows/apply-workflow-credentials.tool.js +87 -0
  344. package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -0
  345. package/dist/tools/workflows/build-workflow.tool.d.ts +16 -0
  346. package/dist/tools/workflows/build-workflow.tool.js +163 -0
  347. package/dist/tools/workflows/build-workflow.tool.js.map +1 -0
  348. package/dist/tools/workflows/delete-workflow.tool.d.ts +21 -0
  349. package/dist/tools/workflows/delete-workflow.tool.js +51 -0
  350. package/dist/tools/workflows/delete-workflow.tool.js.map +1 -0
  351. package/dist/tools/workflows/get-workflow-as-code.tool.d.ts +14 -0
  352. package/dist/tools/workflows/get-workflow-as-code.tool.js +37 -0
  353. package/dist/tools/workflows/get-workflow-as-code.tool.js.map +1 -0
  354. package/dist/tools/workflows/get-workflow-version.tool.d.ts +21 -0
  355. package/dist/tools/workflows/get-workflow-version.tool.js +38 -0
  356. package/dist/tools/workflows/get-workflow-version.tool.js.map +1 -0
  357. package/dist/tools/workflows/get-workflow.tool.d.ts +18 -0
  358. package/dist/tools/workflows/get-workflow.tool.js +36 -0
  359. package/dist/tools/workflows/get-workflow.tool.js.map +1 -0
  360. package/dist/tools/workflows/list-workflow-versions.tool.d.ts +8 -0
  361. package/dist/tools/workflows/list-workflow-versions.tool.js +47 -0
  362. package/dist/tools/workflows/list-workflow-versions.tool.js.map +1 -0
  363. package/dist/tools/workflows/list-workflows.tool.d.ts +14 -0
  364. package/dist/tools/workflows/list-workflows.tool.js +42 -0
  365. package/dist/tools/workflows/list-workflows.tool.js.map +1 -0
  366. package/dist/tools/workflows/materialize-node-type.tool.d.ts +23 -0
  367. package/dist/tools/workflows/materialize-node-type.tool.js +105 -0
  368. package/dist/tools/workflows/materialize-node-type.tool.js.map +1 -0
  369. package/dist/tools/workflows/publish-workflow.tool.d.ts +24 -0
  370. package/dist/tools/workflows/publish-workflow.tool.js +92 -0
  371. package/dist/tools/workflows/publish-workflow.tool.js.map +1 -0
  372. package/dist/tools/workflows/resolve-credentials.d.ts +14 -0
  373. package/dist/tools/workflows/resolve-credentials.js +89 -0
  374. package/dist/tools/workflows/resolve-credentials.js.map +1 -0
  375. package/dist/tools/workflows/restore-workflow-version.tool.d.ts +22 -0
  376. package/dist/tools/workflows/restore-workflow-version.tool.js +65 -0
  377. package/dist/tools/workflows/restore-workflow-version.tool.js.map +1 -0
  378. package/dist/tools/workflows/setup-workflow.schema.d.ts +331 -0
  379. package/dist/tools/workflows/setup-workflow.schema.js +21 -0
  380. package/dist/tools/workflows/setup-workflow.schema.js.map +1 -0
  381. package/dist/tools/workflows/setup-workflow.service.d.ts +40 -0
  382. package/dist/tools/workflows/setup-workflow.service.js +470 -0
  383. package/dist/tools/workflows/setup-workflow.service.js.map +1 -0
  384. package/dist/tools/workflows/setup-workflow.tool.d.ts +150 -0
  385. package/dist/tools/workflows/setup-workflow.tool.js +219 -0
  386. package/dist/tools/workflows/setup-workflow.tool.js.map +1 -0
  387. package/dist/tools/workflows/submit-workflow.tool.d.ts +33 -0
  388. package/dist/tools/workflows/submit-workflow.tool.js +258 -0
  389. package/dist/tools/workflows/submit-workflow.tool.js.map +1 -0
  390. package/dist/tools/workflows/unpublish-workflow.tool.d.ts +22 -0
  391. package/dist/tools/workflows/unpublish-workflow.tool.js +61 -0
  392. package/dist/tools/workflows/unpublish-workflow.tool.js.map +1 -0
  393. package/dist/tools/workflows/update-workflow-version.tool.d.ts +9 -0
  394. package/dist/tools/workflows/update-workflow-version.tool.js +35 -0
  395. package/dist/tools/workflows/update-workflow-version.tool.js.map +1 -0
  396. package/dist/tools/workflows/write-sandbox-file.tool.d.ts +13 -0
  397. package/dist/tools/workflows/write-sandbox-file.tool.js +53 -0
  398. package/dist/tools/workflows/write-sandbox-file.tool.js.map +1 -0
  399. package/dist/tools/workspace/cleanup-test-executions.tool.d.ts +22 -0
  400. package/dist/tools/workspace/cleanup-test-executions.tool.js +58 -0
  401. package/dist/tools/workspace/cleanup-test-executions.tool.js.map +1 -0
  402. package/dist/tools/workspace/create-folder.tool.d.ts +24 -0
  403. package/dist/tools/workspace/create-folder.tool.js +59 -0
  404. package/dist/tools/workspace/create-folder.tool.js.map +1 -0
  405. package/dist/tools/workspace/delete-folder.tool.d.ts +24 -0
  406. package/dist/tools/workspace/delete-folder.tool.js +60 -0
  407. package/dist/tools/workspace/delete-folder.tool.js.map +1 -0
  408. package/dist/tools/workspace/list-folders.tool.d.ts +6 -0
  409. package/dist/tools/workspace/list-folders.tool.js +26 -0
  410. package/dist/tools/workspace/list-folders.tool.js.map +1 -0
  411. package/dist/tools/workspace/list-projects.tool.d.ts +4 -0
  412. package/dist/tools/workspace/list-projects.tool.js +24 -0
  413. package/dist/tools/workspace/list-projects.tool.js.map +1 -0
  414. package/dist/tools/workspace/list-tags.tool.d.ts +7 -0
  415. package/dist/tools/workspace/list-tags.tool.js +23 -0
  416. package/dist/tools/workspace/list-tags.tool.js.map +1 -0
  417. package/dist/tools/workspace/move-workflow-to-folder.tool.d.ts +23 -0
  418. package/dist/tools/workspace/move-workflow-to-folder.tool.js +56 -0
  419. package/dist/tools/workspace/move-workflow-to-folder.tool.js.map +1 -0
  420. package/dist/tools/workspace/tag-workflow.tool.d.ts +22 -0
  421. package/dist/tools/workspace/tag-workflow.tool.js +52 -0
  422. package/dist/tools/workspace/tag-workflow.tool.js.map +1 -0
  423. package/dist/tracing/langsmith-tracing.d.ts +56 -0
  424. package/dist/tracing/langsmith-tracing.js +810 -0
  425. package/dist/tracing/langsmith-tracing.js.map +1 -0
  426. package/dist/types.d.ts +709 -0
  427. package/dist/types.js +3 -0
  428. package/dist/types.js.map +1 -0
  429. package/dist/utils/agent-tree.d.ts +3 -0
  430. package/dist/utils/agent-tree.js +23 -0
  431. package/dist/utils/agent-tree.js.map +1 -0
  432. package/dist/utils/format-timestamp.d.ts +1 -0
  433. package/dist/utils/format-timestamp.js +19 -0
  434. package/dist/utils/format-timestamp.js.map +1 -0
  435. package/dist/utils/stream-helpers.d.ts +15 -0
  436. package/dist/utils/stream-helpers.js +26 -0
  437. package/dist/utils/stream-helpers.js.map +1 -0
  438. package/dist/workflow-builder/extract-code.d.ts +5 -0
  439. package/dist/workflow-builder/extract-code.js +105 -0
  440. package/dist/workflow-builder/extract-code.js.map +1 -0
  441. package/dist/workflow-builder/index.d.ts +5 -0
  442. package/dist/workflow-builder/index.js +19 -0
  443. package/dist/workflow-builder/index.js.map +1 -0
  444. package/dist/workflow-builder/parse-validate.d.ts +6 -0
  445. package/dist/workflow-builder/parse-validate.js +49 -0
  446. package/dist/workflow-builder/parse-validate.js.map +1 -0
  447. package/dist/workflow-builder/patch-code.d.ts +14 -0
  448. package/dist/workflow-builder/patch-code.js +117 -0
  449. package/dist/workflow-builder/patch-code.js.map +1 -0
  450. package/dist/workflow-builder/sdk-prompt-sections.d.ts +4 -0
  451. package/dist/workflow-builder/sdk-prompt-sections.js +517 -0
  452. package/dist/workflow-builder/sdk-prompt-sections.js.map +1 -0
  453. package/dist/workflow-builder/types.d.ts +11 -0
  454. package/dist/workflow-builder/types.js +3 -0
  455. package/dist/workflow-builder/types.js.map +1 -0
  456. package/dist/workflow-loop/guidance.d.ts +5 -0
  457. package/dist/workflow-loop/guidance.js +37 -0
  458. package/dist/workflow-loop/guidance.js.map +1 -0
  459. package/dist/workflow-loop/index.d.ts +5 -0
  460. package/dist/workflow-loop/index.js +25 -0
  461. package/dist/workflow-loop/index.js.map +1 -0
  462. package/dist/workflow-loop/runtime.d.ts +8 -0
  463. package/dist/workflow-loop/runtime.js +40 -0
  464. package/dist/workflow-loop/runtime.js.map +1 -0
  465. package/dist/workflow-loop/workflow-loop-controller.d.ts +11 -0
  466. package/dist/workflow-loop/workflow-loop-controller.js +212 -0
  467. package/dist/workflow-loop/workflow-loop-controller.js.map +1 -0
  468. package/dist/workflow-loop/workflow-loop-state.d.ts +189 -0
  469. package/dist/workflow-loop/workflow-loop-state.js +77 -0
  470. package/dist/workflow-loop/workflow-loop-state.js.map +1 -0
  471. package/dist/workflow-loop/workflow-task-service.d.ts +13 -0
  472. package/dist/workflow-loop/workflow-task-service.js +35 -0
  473. package/dist/workflow-loop/workflow-task-service.js.map +1 -0
  474. package/dist/workspace/builder-sandbox-factory.d.ts +25 -0
  475. package/dist/workspace/builder-sandbox-factory.js +199 -0
  476. package/dist/workspace/builder-sandbox-factory.js.map +1 -0
  477. package/dist/workspace/create-workspace.d.ts +33 -0
  478. package/dist/workspace/create-workspace.js +56 -0
  479. package/dist/workspace/create-workspace.js.map +1 -0
  480. package/dist/workspace/daytona-filesystem.d.ts +25 -0
  481. package/dist/workspace/daytona-filesystem.js +109 -0
  482. package/dist/workspace/daytona-filesystem.js.map +1 -0
  483. package/dist/workspace/n8n-sandbox-client.d.ts +105 -0
  484. package/dist/workspace/n8n-sandbox-client.js +335 -0
  485. package/dist/workspace/n8n-sandbox-client.js.map +1 -0
  486. package/dist/workspace/n8n-sandbox-filesystem.d.ts +25 -0
  487. package/dist/workspace/n8n-sandbox-filesystem.js +128 -0
  488. package/dist/workspace/n8n-sandbox-filesystem.js.map +1 -0
  489. package/dist/workspace/n8n-sandbox-image-manager.d.ts +5 -0
  490. package/dist/workspace/n8n-sandbox-image-manager.js +25 -0
  491. package/dist/workspace/n8n-sandbox-image-manager.js.map +1 -0
  492. package/dist/workspace/n8n-sandbox-sandbox.d.ts +27 -0
  493. package/dist/workspace/n8n-sandbox-sandbox.js +103 -0
  494. package/dist/workspace/n8n-sandbox-sandbox.js.map +1 -0
  495. package/dist/workspace/sandbox-fs.d.ts +9 -0
  496. package/dist/workspace/sandbox-fs.js +43 -0
  497. package/dist/workspace/sandbox-fs.js.map +1 -0
  498. package/dist/workspace/sandbox-setup.d.ts +11 -0
  499. package/dist/workspace/sandbox-setup.js +139 -0
  500. package/dist/workspace/sandbox-setup.js.map +1 -0
  501. package/dist/workspace/snapshot-manager.d.ts +8 -0
  502. package/dist/workspace/snapshot-manager.js +31 -0
  503. package/dist/workspace/snapshot-manager.js.map +1 -0
  504. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ export declare const DATA_TABLE_AGENT_PROMPT = "You are a data table management agent for n8n. You manage data tables \u2014 creating them, modifying their schema, and querying/inserting/updating/deleting rows.\n\n## Output Discipline\n- You report to a parent agent, not a human. Be terse.\n- Do NOT narrate (\"I'll create the table now\", \"Let me check\"). Just do the work.\n- No emojis, no filler phrases, no markdown headers.\n- Only output a final one-line summary (e.g., \"Created table 'leads' with 3 columns\").\n\n## Mandatory Process\n\n1. **Check existing tables first**: Always call `list-data-tables` before creating a new table to avoid duplicates.\n2. **Get schema before row operations**: Call `get-data-table-schema` to confirm column names and types before inserting or querying rows.\n3. **Execute the requested operation** using the appropriate tool(s).\n4. **Report concisely**: One sentence summary of what was done.\n\nDo NOT produce visible output until the final summary. All reasoning happens internally.\n\n## Column Rules\n\n- System columns (`id`, `createdAt`, `updatedAt`) are automatic and RESERVED \u2014 the API will reject any column with these names. If a spec asks for an `id` column, prefix it with a context-appropriate name before calling `create-data-table`.\n\n## Destructive Operations\n\n`delete-data-table` and `delete-data-table-rows` will trigger a confirmation prompt to the user. The user must approve before the action executes. Do not ask the user to confirm via text \u2014 the tool handles it.\n";
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATA_TABLE_AGENT_PROMPT = void 0;
4
+ exports.DATA_TABLE_AGENT_PROMPT = `You are a data table management agent for n8n. You manage data tables — creating them, modifying their schema, and querying/inserting/updating/deleting rows.
5
+
6
+ ## Output Discipline
7
+ - You report to a parent agent, not a human. Be terse.
8
+ - Do NOT narrate ("I'll create the table now", "Let me check"). Just do the work.
9
+ - No emojis, no filler phrases, no markdown headers.
10
+ - Only output a final one-line summary (e.g., "Created table 'leads' with 3 columns").
11
+
12
+ ## Mandatory Process
13
+
14
+ 1. **Check existing tables first**: Always call \`list-data-tables\` before creating a new table to avoid duplicates.
15
+ 2. **Get schema before row operations**: Call \`get-data-table-schema\` to confirm column names and types before inserting or querying rows.
16
+ 3. **Execute the requested operation** using the appropriate tool(s).
17
+ 4. **Report concisely**: One sentence summary of what was done.
18
+
19
+ Do NOT produce visible output until the final summary. All reasoning happens internally.
20
+
21
+ ## Column Rules
22
+
23
+ - System columns (\`id\`, \`createdAt\`, \`updatedAt\`) are automatic and RESERVED — the API will reject any column with these names. If a spec asks for an \`id\` column, prefix it with a context-appropriate name before calling \`create-data-table\`.
24
+
25
+ ## Destructive Operations
26
+
27
+ \`delete-data-table\` and \`delete-data-table-rows\` will trigger a confirmation prompt to the user. The user must approve before the action executes. Do not ask the user to confirm via text — the tool handles it.
28
+ `;
29
+ //# sourceMappingURL=data-table-agent.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-agent.prompt.js","sourceRoot":"","sources":["../../../src/tools/orchestration/data-table-agent.prompt.ts"],"names":[],"mappings":";;;AAOa,QAAA,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBtC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { OrchestrationContext } from '../../types';
2
+ export interface StartDataTableAgentInput {
3
+ task: string;
4
+ conversationContext?: string;
5
+ taskId?: string;
6
+ agentId?: string;
7
+ plannedTaskId?: string;
8
+ }
9
+ export interface StartedBackgroundAgentTask {
10
+ result: string;
11
+ taskId: string;
12
+ agentId: string;
13
+ }
14
+ export declare function startDataTableAgentTask(context: OrchestrationContext, input: StartDataTableAgentInput): Promise<StartedBackgroundAgentTask>;
15
+ export declare function createDataTableAgentTool(context: OrchestrationContext): import("@mastra/core/tools").Tool<{
16
+ task: string;
17
+ conversationContext?: string | undefined;
18
+ }, {
19
+ result: string;
20
+ taskId: string;
21
+ }, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "manage-data-tables-with-agent", unknown>;
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startDataTableAgentTask = startDataTableAgentTask;
4
+ exports.createDataTableAgentTool = createDataTableAgentTool;
5
+ const agent_1 = require("@mastra/core/agent");
6
+ const tools_1 = require("@mastra/core/tools");
7
+ const nanoid_1 = require("nanoid");
8
+ const zod_1 = require("zod");
9
+ const data_table_agent_prompt_1 = require("./data-table-agent.prompt");
10
+ const display_utils_1 = require("./display-utils");
11
+ const tracing_utils_1 = require("./tracing-utils");
12
+ const register_with_mastra_1 = require("../../agent/register-with-mastra");
13
+ const resumable_stream_executor_1 = require("../../runtime/resumable-stream-executor");
14
+ const working_memory_tracing_1 = require("../../runtime/working-memory-tracing");
15
+ const consume_with_hitl_1 = require("../../stream/consume-with-hitl");
16
+ const langsmith_tracing_1 = require("../../tracing/langsmith-tracing");
17
+ const DATA_TABLE_MAX_STEPS = 15;
18
+ const DATA_TABLE_TOOL_NAMES = [
19
+ 'list-data-tables',
20
+ 'create-data-table',
21
+ 'delete-data-table',
22
+ 'get-data-table-schema',
23
+ 'add-data-table-column',
24
+ 'delete-data-table-column',
25
+ 'rename-data-table-column',
26
+ 'query-data-table-rows',
27
+ 'insert-data-table-rows',
28
+ 'update-data-table-rows',
29
+ 'delete-data-table-rows',
30
+ ];
31
+ async function startDataTableAgentTask(context, input) {
32
+ const dataTableTools = {};
33
+ for (const name of DATA_TABLE_TOOL_NAMES) {
34
+ if (name in context.domainTools) {
35
+ dataTableTools[name] = context.domainTools[name];
36
+ }
37
+ }
38
+ if (Object.keys(dataTableTools).length === 0) {
39
+ return { result: 'Error: no data table tools available.', taskId: '', agentId: '' };
40
+ }
41
+ if (!context.spawnBackgroundTask) {
42
+ return { result: 'Error: background task support not available.', taskId: '', agentId: '' };
43
+ }
44
+ const subAgentId = input.agentId ?? `agent-datatable-${(0, nanoid_1.nanoid)(6)}`;
45
+ const taskId = input.taskId ?? `datatable-${(0, nanoid_1.nanoid)(8)}`;
46
+ context.eventBus.publish(context.threadId, {
47
+ type: 'agent-spawned',
48
+ runId: context.runId,
49
+ agentId: subAgentId,
50
+ payload: {
51
+ parentId: context.orchestratorAgentId,
52
+ role: 'data-table-manager',
53
+ tools: Object.keys(dataTableTools),
54
+ taskId,
55
+ kind: 'data-table',
56
+ title: 'Managing data table',
57
+ subtitle: (0, display_utils_1.truncateLabel)(input.task),
58
+ goal: input.task,
59
+ targetResource: { type: 'data-table' },
60
+ },
61
+ });
62
+ const traceContext = await (0, tracing_utils_1.createDetachedSubAgentTracing)(context, {
63
+ agentId: subAgentId,
64
+ role: 'data-table-manager',
65
+ kind: 'data-table',
66
+ taskId,
67
+ plannedTaskId: input.plannedTaskId,
68
+ inputs: {
69
+ task: input.task,
70
+ conversationContext: input.conversationContext,
71
+ },
72
+ });
73
+ const tracedDataTableTools = (0, tracing_utils_1.traceSubAgentTools)(context, dataTableTools, 'data-table-manager');
74
+ context.spawnBackgroundTask({
75
+ taskId,
76
+ threadId: context.threadId,
77
+ agentId: subAgentId,
78
+ role: 'data-table-manager',
79
+ traceContext,
80
+ plannedTaskId: input.plannedTaskId,
81
+ run: async (signal, _drainCorrections) => {
82
+ return await (0, tracing_utils_1.withTraceContextActor)(traceContext, async () => {
83
+ const subAgent = new agent_1.Agent({
84
+ id: subAgentId,
85
+ name: 'Data Table Agent',
86
+ instructions: {
87
+ role: 'system',
88
+ content: data_table_agent_prompt_1.DATA_TABLE_AGENT_PROMPT,
89
+ providerOptions: {
90
+ anthropic: { cacheControl: { type: 'ephemeral' } },
91
+ },
92
+ },
93
+ model: context.modelId,
94
+ tools: tracedDataTableTools,
95
+ });
96
+ (0, langsmith_tracing_1.mergeTraceRunInputs)(traceContext?.actorRun, (0, langsmith_tracing_1.buildAgentTraceInputs)({
97
+ systemPrompt: data_table_agent_prompt_1.DATA_TABLE_AGENT_PROMPT,
98
+ tools: tracedDataTableTools,
99
+ modelId: context.modelId,
100
+ }));
101
+ (0, register_with_mastra_1.registerWithMastra)(subAgentId, subAgent, context.storage);
102
+ const conversationCtx = input.conversationContext
103
+ ? `\n\n[CONVERSATION CONTEXT: ${input.conversationContext}]`
104
+ : '';
105
+ const briefing = `${input.task}${conversationCtx}`;
106
+ const traceParent = (0, langsmith_tracing_1.getTraceParentRun)();
107
+ return await (0, langsmith_tracing_1.withTraceParentContext)(traceParent, async () => {
108
+ const llmStepTraceHooks = (0, resumable_stream_executor_1.createLlmStepTraceHooks)(traceParent);
109
+ const stream = await (0, working_memory_tracing_1.traceWorkingMemoryContext)({
110
+ phase: 'initial',
111
+ agentId: subAgentId,
112
+ agentRole: 'data-table-manager',
113
+ threadId: context.threadId,
114
+ input: briefing,
115
+ }, async () => await subAgent.stream(briefing, {
116
+ maxSteps: DATA_TABLE_MAX_STEPS,
117
+ abortSignal: signal,
118
+ providerOptions: {
119
+ anthropic: { cacheControl: { type: 'ephemeral' } },
120
+ },
121
+ ...(llmStepTraceHooks?.executionOptions ?? {}),
122
+ }));
123
+ const hitlResult = await (0, consume_with_hitl_1.consumeStreamWithHitl)({
124
+ agent: subAgent,
125
+ stream: stream,
126
+ runId: context.runId,
127
+ agentId: subAgentId,
128
+ eventBus: context.eventBus,
129
+ threadId: context.threadId,
130
+ abortSignal: signal,
131
+ waitForConfirmation: context.waitForConfirmation,
132
+ llmStepTraceHooks,
133
+ workingMemoryEnabled: false,
134
+ });
135
+ return await hitlResult.text;
136
+ });
137
+ });
138
+ },
139
+ });
140
+ return {
141
+ result: `Data table operation started (task: ${taskId}). Reply with one short sentence. Do NOT summarize the plan or list details.`,
142
+ taskId,
143
+ agentId: subAgentId,
144
+ };
145
+ }
146
+ function createDataTableAgentTool(context) {
147
+ return (0, tools_1.createTool)({
148
+ id: 'manage-data-tables-with-agent',
149
+ description: 'Manage data tables using a specialized agent. ' +
150
+ 'The agent handles listing, creating, deleting tables, modifying schemas, ' +
151
+ 'and querying/inserting/updating/deleting rows.',
152
+ inputSchema: zod_1.z.object({
153
+ task: zod_1.z
154
+ .string()
155
+ .describe('What to do: describe the data table operation. Include table names, column details, data to insert, or query criteria.'),
156
+ conversationContext: zod_1.z
157
+ .string()
158
+ .optional()
159
+ .describe('Brief summary of the conversation so far — what was discussed, decisions made, and information gathered. The agent uses this to avoid repeating information the user already knows.'),
160
+ }),
161
+ outputSchema: zod_1.z.object({
162
+ result: zod_1.z.string(),
163
+ taskId: zod_1.z.string(),
164
+ }),
165
+ execute: async (input) => {
166
+ const result = await startDataTableAgentTask(context, input);
167
+ return await Promise.resolve({ result: result.result, taskId: result.taskId });
168
+ },
169
+ });
170
+ }
171
+ //# sourceMappingURL=data-table-agent.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-agent.tool.js","sourceRoot":"","sources":["../../../src/tools/orchestration/data-table-agent.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ export declare const delegateInputSchema: z.ZodObject<{
3
+ role: z.ZodString;
4
+ instructions: z.ZodString;
5
+ tools: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6
+ briefing: z.ZodString;
7
+ artifacts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
8
+ conversationContext: z.ZodOptional<z.ZodString>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ role: string;
11
+ tools: string[];
12
+ instructions: string;
13
+ briefing: string;
14
+ conversationContext?: string | undefined;
15
+ artifacts?: Record<string, unknown> | undefined;
16
+ }, {
17
+ role: string;
18
+ instructions: string;
19
+ briefing: string;
20
+ tools?: string[] | undefined;
21
+ conversationContext?: string | undefined;
22
+ artifacts?: Record<string, unknown> | undefined;
23
+ }>;
24
+ export type DelegateInput = z.infer<typeof delegateInputSchema>;
25
+ export declare const delegateOutputSchema: z.ZodObject<{
26
+ result: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ result: string;
29
+ }, {
30
+ result: string;
31
+ }>;
32
+ export type DelegateOutput = z.infer<typeof delegateOutputSchema>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.delegateOutputSchema = exports.delegateInputSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.delegateInputSchema = zod_1.z.object({
6
+ role: zod_1.z
7
+ .string()
8
+ .describe('Free-form role description (e.g., "workflow builder", "execution debugger")'),
9
+ instructions: zod_1.z
10
+ .string()
11
+ .describe('Task-specific system prompt for the sub-agent. Be specific about what to do and how.'),
12
+ tools: zod_1.z
13
+ .array(zod_1.z.string())
14
+ .default([])
15
+ .describe('Subset of registered native domain tool names the sub-agent needs'),
16
+ briefing: zod_1.z.string().describe('The specific task to accomplish, including all relevant context'),
17
+ artifacts: zod_1.z
18
+ .record(zod_1.z.unknown())
19
+ .optional()
20
+ .describe('Relevant IDs, data, or context (workflow IDs, credential IDs, etc.)'),
21
+ conversationContext: zod_1.z
22
+ .string()
23
+ .optional()
24
+ .describe('Brief summary of the conversation so far — what was discussed, decisions made, and information gathered. The sub-agent uses this to avoid repeating information the user already knows.'),
25
+ });
26
+ exports.delegateOutputSchema = zod_1.z.object({
27
+ result: zod_1.z.string().describe('The sub-agent synthesized answer'),
28
+ });
29
+ //# sourceMappingURL=delegate.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegate.schemas.js","sourceRoot":"","sources":["../../../src/tools/orchestration/delegate.schemas.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,6EAA6E,CAAC;IACzF,YAAY,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,CACR,sFAAsF,CACtF;IACF,KAAK,EAAE,OAAC;SACN,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,mEAAmE,CAAC;IAC/E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IAChG,SAAS,EAAE,OAAC;SACV,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IACjF,mBAAmB,EAAE,OAAC;SACpB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACR,yLAAyL,CACzL;CACF,CAAC,CAAC;AAIU,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CAC/D,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { OrchestrationContext } from '../../types';
2
+ export interface DetachedDelegateTaskInput {
3
+ title: string;
4
+ spec: string;
5
+ tools: string[];
6
+ artifacts?: unknown;
7
+ conversationContext?: string;
8
+ taskId?: string;
9
+ agentId?: string;
10
+ plannedTaskId?: string;
11
+ }
12
+ export interface DetachedDelegateTaskResult {
13
+ result: string;
14
+ taskId: string;
15
+ agentId: string;
16
+ }
17
+ export declare function startDetachedDelegateTask(context: OrchestrationContext, input: DetachedDelegateTaskInput): Promise<DetachedDelegateTaskResult>;
18
+ export declare function createDelegateTool(context: OrchestrationContext): import("@mastra/core/tools").Tool<{
19
+ role: string;
20
+ tools: string[];
21
+ instructions: string;
22
+ briefing: string;
23
+ conversationContext?: string | undefined;
24
+ artifacts?: Record<string, unknown> | undefined;
25
+ }, {
26
+ result: string;
27
+ }, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "delegate", unknown>;
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startDetachedDelegateTask = startDetachedDelegateTask;
4
+ exports.createDelegateTool = createDelegateTool;
5
+ const tools_1 = require("@mastra/core/tools");
6
+ const nanoid_1 = require("nanoid");
7
+ const delegate_schemas_1 = require("./delegate.schemas");
8
+ const display_utils_1 = require("./display-utils");
9
+ const tracing_utils_1 = require("./tracing-utils");
10
+ const register_with_mastra_1 = require("../../agent/register-with-mastra");
11
+ const sub_agent_factory_1 = require("../../agent/sub-agent-factory");
12
+ const resumable_stream_executor_1 = require("../../runtime/resumable-stream-executor");
13
+ const working_memory_tracing_1 = require("../../runtime/working-memory-tracing");
14
+ const iteration_log_1 = require("../../storage/iteration-log");
15
+ const consume_with_hitl_1 = require("../../stream/consume-with-hitl");
16
+ const langsmith_tracing_1 = require("../../tracing/langsmith-tracing");
17
+ const FORBIDDEN_TOOL_NAMES = new Set(['plan', 'delegate']);
18
+ const FALLBACK_MAX_STEPS = 10;
19
+ function generateAgentId() {
20
+ return `agent-${(0, nanoid_1.nanoid)(6)}`;
21
+ }
22
+ function buildRoleKey(role) {
23
+ return role
24
+ .toLowerCase()
25
+ .replace(/[^a-z0-9]+/g, '-')
26
+ .replace(/^-+|-+$/g, '');
27
+ }
28
+ function resolveDelegateTools(context, toolNames) {
29
+ const errors = [];
30
+ const validTools = {};
31
+ const availableMcpTools = context.mcpTools ?? {};
32
+ for (const name of toolNames) {
33
+ if (FORBIDDEN_TOOL_NAMES.has(name)) {
34
+ errors.push(`"${name}" is an orchestration tool and cannot be delegated`);
35
+ }
36
+ else if (name in context.domainTools) {
37
+ validTools[name] = context.domainTools[name];
38
+ }
39
+ else if (name in availableMcpTools) {
40
+ validTools[name] = availableMcpTools[name];
41
+ }
42
+ else {
43
+ errors.push(`"${name}" is not a registered domain tool`);
44
+ }
45
+ }
46
+ return { validTools, errors };
47
+ }
48
+ async function buildDelegateBriefing(context, role, briefing, artifacts, conversationContext) {
49
+ const serializedArtifacts = artifacts ? `\n\nArtifacts: ${JSON.stringify(artifacts)}` : '';
50
+ const conversationCtx = conversationContext
51
+ ? `\n\n[CONVERSATION CONTEXT: ${conversationContext}]`
52
+ : '';
53
+ let iterationContext = '';
54
+ if (context.iterationLog) {
55
+ const taskKey = `delegate:${role}`;
56
+ try {
57
+ const entries = await context.iterationLog.getForTask(context.threadId, taskKey);
58
+ iterationContext = (0, iteration_log_1.formatPreviousAttempts)(entries);
59
+ }
60
+ catch {
61
+ }
62
+ }
63
+ return `${briefing}${conversationCtx}${serializedArtifacts}${iterationContext ? `\n\n${iterationContext}` : ''}\n\nRemember: ${sub_agent_factory_1.SUB_AGENT_PROTOCOL}`;
64
+ }
65
+ async function startDetachedDelegateTask(context, input) {
66
+ if (input.tools.length === 0) {
67
+ return {
68
+ result: 'Delegation failed: "tools" must contain at least one tool name',
69
+ taskId: '',
70
+ agentId: '',
71
+ };
72
+ }
73
+ const { validTools, errors } = resolveDelegateTools(context, input.tools);
74
+ if (errors.length > 0) {
75
+ return {
76
+ result: `Delegation failed: ${errors.join('; ')}`,
77
+ taskId: '',
78
+ agentId: '',
79
+ };
80
+ }
81
+ if (!context.spawnBackgroundTask) {
82
+ return {
83
+ result: 'Delegation failed: background task support not available.',
84
+ taskId: '',
85
+ agentId: '',
86
+ };
87
+ }
88
+ const role = buildRoleKey(input.title) || 'delegate-worker';
89
+ const subAgentId = input.agentId ?? `agent-delegate-${(0, nanoid_1.nanoid)(6)}`;
90
+ const taskId = input.taskId ?? `delegate-${(0, nanoid_1.nanoid)(8)}`;
91
+ context.eventBus.publish(context.threadId, {
92
+ type: 'agent-spawned',
93
+ runId: context.runId,
94
+ agentId: subAgentId,
95
+ payload: {
96
+ parentId: context.orchestratorAgentId,
97
+ role,
98
+ tools: input.tools,
99
+ taskId,
100
+ kind: 'delegate',
101
+ title: input.title,
102
+ subtitle: (0, display_utils_1.truncateLabel)(input.spec),
103
+ goal: input.spec,
104
+ },
105
+ });
106
+ const briefingMessage = await buildDelegateBriefing(context, role, input.spec, input.artifacts, input.conversationContext);
107
+ const traceContext = await (0, tracing_utils_1.createDetachedSubAgentTracing)(context, {
108
+ agentId: subAgentId,
109
+ role,
110
+ kind: 'delegate',
111
+ taskId,
112
+ plannedTaskId: input.plannedTaskId,
113
+ inputs: {
114
+ title: input.title,
115
+ briefing: input.spec,
116
+ tools: input.tools,
117
+ conversationContext: input.conversationContext,
118
+ },
119
+ });
120
+ const tracedTools = (0, tracing_utils_1.traceSubAgentTools)(context, validTools, role);
121
+ context.spawnBackgroundTask({
122
+ taskId,
123
+ threadId: context.threadId,
124
+ agentId: subAgentId,
125
+ role,
126
+ traceContext,
127
+ plannedTaskId: input.plannedTaskId,
128
+ run: async (signal, drainCorrections) => {
129
+ return await (0, tracing_utils_1.withTraceContextActor)(traceContext, async () => {
130
+ const subAgent = (0, sub_agent_factory_1.createSubAgent)({
131
+ agentId: subAgentId,
132
+ role,
133
+ instructions: 'Complete the delegated task using the provided tools. Return concrete results only.',
134
+ tools: tracedTools,
135
+ modelId: context.modelId,
136
+ traceRun: traceContext?.actorRun,
137
+ });
138
+ (0, register_with_mastra_1.registerWithMastra)(subAgentId, subAgent, context.storage);
139
+ const traceParent = (0, langsmith_tracing_1.getTraceParentRun)();
140
+ return await (0, langsmith_tracing_1.withTraceParentContext)(traceParent, async () => {
141
+ const llmStepTraceHooks = (0, resumable_stream_executor_1.createLlmStepTraceHooks)(traceParent);
142
+ const stream = await (0, working_memory_tracing_1.traceWorkingMemoryContext)({
143
+ phase: 'initial',
144
+ agentId: subAgentId,
145
+ agentRole: role,
146
+ threadId: context.threadId,
147
+ input: briefingMessage,
148
+ }, async () => await subAgent.stream(briefingMessage, {
149
+ maxSteps: context.subAgentMaxSteps ?? FALLBACK_MAX_STEPS,
150
+ abortSignal: signal,
151
+ providerOptions: {
152
+ anthropic: { cacheControl: { type: 'ephemeral' } },
153
+ },
154
+ ...(llmStepTraceHooks?.executionOptions ?? {}),
155
+ }));
156
+ const result = await (0, consume_with_hitl_1.consumeStreamWithHitl)({
157
+ agent: subAgent,
158
+ stream: stream,
159
+ runId: context.runId,
160
+ agentId: subAgentId,
161
+ eventBus: context.eventBus,
162
+ threadId: context.threadId,
163
+ abortSignal: signal,
164
+ waitForConfirmation: context.waitForConfirmation,
165
+ drainCorrections,
166
+ llmStepTraceHooks,
167
+ workingMemoryEnabled: false,
168
+ });
169
+ return await result.text;
170
+ });
171
+ });
172
+ },
173
+ });
174
+ return {
175
+ result: `Delegation started (task: ${taskId}). Reply with one short sentence. Do NOT summarize the plan or list details.`,
176
+ taskId,
177
+ agentId: subAgentId,
178
+ };
179
+ }
180
+ function createDelegateTool(context) {
181
+ return (0, tools_1.createTool)({
182
+ id: 'delegate',
183
+ description: 'Spawn a focused sub-agent to handle a specific subtask. Specify the ' +
184
+ 'role, a task-specific system prompt, the tool subset needed, and a ' +
185
+ 'detailed briefing. The sub-agent executes independently and returns ' +
186
+ 'a synthesized result. Use for complex multi-step operations that ' +
187
+ 'benefit from a clean context window.',
188
+ inputSchema: delegate_schemas_1.delegateInputSchema,
189
+ outputSchema: delegate_schemas_1.delegateOutputSchema,
190
+ execute: async (input) => {
191
+ if (input.tools.length === 0) {
192
+ return { result: 'Delegation failed: "tools" must contain at least one tool name' };
193
+ }
194
+ const { validTools, errors } = resolveDelegateTools(context, input.tools);
195
+ if (errors.length > 0) {
196
+ return { result: `Delegation failed: ${errors.join('; ')}` };
197
+ }
198
+ const subAgentId = generateAgentId();
199
+ context.eventBus.publish(context.threadId, {
200
+ type: 'agent-spawned',
201
+ runId: context.runId,
202
+ agentId: subAgentId,
203
+ payload: {
204
+ parentId: context.orchestratorAgentId,
205
+ role: input.role,
206
+ tools: input.tools,
207
+ kind: 'delegate',
208
+ subtitle: (0, display_utils_1.truncateLabel)(input.briefing),
209
+ goal: input.briefing,
210
+ },
211
+ });
212
+ const traceRun = await (0, tracing_utils_1.startSubAgentTrace)(context, {
213
+ agentId: subAgentId,
214
+ role: input.role,
215
+ kind: 'delegate',
216
+ inputs: {
217
+ briefing: input.briefing,
218
+ instructions: input.instructions,
219
+ tools: input.tools,
220
+ conversationContext: input.conversationContext,
221
+ },
222
+ });
223
+ const tracedTools = (0, tracing_utils_1.traceSubAgentTools)(context, validTools, input.role);
224
+ try {
225
+ const subAgent = (0, sub_agent_factory_1.createSubAgent)({
226
+ agentId: subAgentId,
227
+ role: input.role,
228
+ instructions: input.instructions,
229
+ tools: tracedTools,
230
+ modelId: context.modelId,
231
+ traceRun,
232
+ });
233
+ (0, register_with_mastra_1.registerWithMastra)(subAgentId, subAgent, context.storage);
234
+ const briefingMessage = await buildDelegateBriefing(context, input.role, input.briefing, input.artifacts, input.conversationContext);
235
+ const resultText = await (0, tracing_utils_1.withTraceRun)(context, traceRun, async () => {
236
+ const traceParent = (0, langsmith_tracing_1.getTraceParentRun)();
237
+ return await (0, langsmith_tracing_1.withTraceParentContext)(traceParent, async () => {
238
+ const llmStepTraceHooks = (0, resumable_stream_executor_1.createLlmStepTraceHooks)(traceParent);
239
+ const stream = await (0, working_memory_tracing_1.traceWorkingMemoryContext)({
240
+ phase: 'initial',
241
+ agentId: subAgentId,
242
+ agentRole: input.role,
243
+ threadId: context.threadId,
244
+ input: briefingMessage,
245
+ }, async () => await subAgent.stream(briefingMessage, {
246
+ maxSteps: context.subAgentMaxSteps ?? FALLBACK_MAX_STEPS,
247
+ abortSignal: context.abortSignal,
248
+ providerOptions: {
249
+ anthropic: { cacheControl: { type: 'ephemeral' } },
250
+ },
251
+ ...(llmStepTraceHooks?.executionOptions ?? {}),
252
+ }));
253
+ const result = await (0, consume_with_hitl_1.consumeStreamWithHitl)({
254
+ agent: subAgent,
255
+ stream: stream,
256
+ runId: context.runId,
257
+ agentId: subAgentId,
258
+ eventBus: context.eventBus,
259
+ threadId: context.threadId,
260
+ abortSignal: context.abortSignal,
261
+ waitForConfirmation: context.waitForConfirmation,
262
+ llmStepTraceHooks,
263
+ workingMemoryEnabled: false,
264
+ });
265
+ return await result.text;
266
+ });
267
+ });
268
+ await (0, tracing_utils_1.finishTraceRun)(context, traceRun, {
269
+ outputs: {
270
+ result: resultText,
271
+ agentId: subAgentId,
272
+ role: input.role,
273
+ },
274
+ });
275
+ context.eventBus.publish(context.threadId, {
276
+ type: 'agent-completed',
277
+ runId: context.runId,
278
+ agentId: subAgentId,
279
+ payload: {
280
+ role: input.role,
281
+ result: resultText,
282
+ },
283
+ });
284
+ return { result: resultText };
285
+ }
286
+ catch (error) {
287
+ const errorMessage = error instanceof Error ? error.message : String(error);
288
+ await (0, tracing_utils_1.failTraceRun)(context, traceRun, error, {
289
+ agent_id: subAgentId,
290
+ agent_role: input.role,
291
+ });
292
+ context.eventBus.publish(context.threadId, {
293
+ type: 'agent-completed',
294
+ runId: context.runId,
295
+ agentId: subAgentId,
296
+ payload: {
297
+ role: input.role,
298
+ result: '',
299
+ error: errorMessage,
300
+ },
301
+ });
302
+ return { result: `Sub-agent error: ${errorMessage}` };
303
+ }
304
+ },
305
+ });
306
+ }
307
+ //# sourceMappingURL=delegate.tool.js.map