@n8n/instance-ai 1.2.1 → 1.3.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 (269) hide show
  1. package/dist/agent/instance-agent.js +4 -12
  2. package/dist/agent/instance-agent.js.map +1 -1
  3. package/dist/agent/sanitize-mcp-schemas.d.ts +4 -0
  4. package/dist/agent/sanitize-mcp-schemas.js +88 -18
  5. package/dist/agent/sanitize-mcp-schemas.js.map +1 -1
  6. package/dist/agent/sub-agent-debriefing.d.ts +4 -4
  7. package/dist/agent/system-prompt.js +18 -18
  8. package/dist/agent/system-prompt.js.map +1 -1
  9. package/dist/build.tsbuildinfo +1 -1
  10. package/dist/constants/max-steps.d.ts +9 -0
  11. package/dist/constants/max-steps.js +13 -0
  12. package/dist/constants/max-steps.js.map +1 -0
  13. package/dist/index.d.ts +5 -2
  14. package/dist/index.js +12 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/memory/title-utils.d.ts +1 -1
  17. package/dist/memory/title-utils.js +5 -23
  18. package/dist/memory/title-utils.js.map +1 -1
  19. package/dist/planned-tasks/planned-task-service.js +42 -6
  20. package/dist/planned-tasks/planned-task-service.js.map +1 -1
  21. package/dist/storage/workflow-loop-storage.d.ts +10 -0
  22. package/dist/stream/work-summary-accumulator.d.ts +6 -6
  23. package/dist/tools/credentials.tool.d.ts +2 -0
  24. package/dist/tools/credentials.tool.js +253 -0
  25. package/dist/tools/credentials.tool.js.map +1 -0
  26. package/dist/tools/data-tables.tool.d.ts +2 -0
  27. package/dist/tools/data-tables.tool.js +410 -0
  28. package/dist/tools/data-tables.tool.js.map +1 -0
  29. package/dist/tools/executions.tool.d.ts +2 -0
  30. package/dist/tools/executions.tool.js +177 -0
  31. package/dist/tools/executions.tool.js.map +1 -0
  32. package/dist/tools/index.d.ts +21 -57
  33. package/dist/tools/index.js +35 -132
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/nodes.tool.d.ts +2 -0
  36. package/dist/tools/nodes.tool.js +298 -0
  37. package/dist/tools/nodes.tool.js.map +1 -0
  38. package/dist/tools/orchestration/blueprint.schema.d.ts +15 -15
  39. package/dist/tools/orchestration/browser-credential-setup.tool.js +13 -17
  40. package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -1
  41. package/dist/tools/orchestration/build-workflow-agent.prompt.js +32 -28
  42. package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -1
  43. package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +9 -1
  44. package/dist/tools/orchestration/build-workflow-agent.tool.js +73 -58
  45. package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -1
  46. package/dist/tools/orchestration/data-table-agent.prompt.d.ts +1 -1
  47. package/dist/tools/orchestration/data-table-agent.prompt.js +7 -7
  48. package/dist/tools/orchestration/data-table-agent.tool.js +10 -22
  49. package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -1
  50. package/dist/tools/orchestration/delegate.tool.js +3 -3
  51. package/dist/tools/orchestration/delegate.tool.js.map +1 -1
  52. package/dist/tools/orchestration/plan-agent-prompt.d.ts +1 -1
  53. package/dist/tools/orchestration/plan-agent-prompt.js +5 -5
  54. package/dist/tools/orchestration/plan-with-agent.tool.js +9 -11
  55. package/dist/tools/orchestration/plan-with-agent.tool.js.map +1 -1
  56. package/dist/tools/orchestration/research-with-agent.tool.js +6 -9
  57. package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -1
  58. package/dist/tools/research.tool.d.ts +2 -0
  59. package/dist/tools/research.tool.js +159 -0
  60. package/dist/tools/research.tool.js.map +1 -0
  61. package/dist/tools/{orchestration/update-tasks.tool.d.ts → task-control.tool.d.ts} +2 -2
  62. package/dist/tools/task-control.tool.js +81 -0
  63. package/dist/tools/task-control.tool.js.map +1 -0
  64. package/dist/tools/templates.tool.d.ts +1 -0
  65. package/dist/tools/templates.tool.js +144 -0
  66. package/dist/tools/templates.tool.js.map +1 -0
  67. package/dist/tools/workflows/build-workflow.tool.js +2 -0
  68. package/dist/tools/workflows/build-workflow.tool.js.map +1 -1
  69. package/dist/tools/workflows/materialize-node-type.tool.d.ts +4 -4
  70. package/dist/tools/workflows/setup-workflow.service.d.ts +4 -1
  71. package/dist/tools/workflows/setup-workflow.service.js +91 -15
  72. package/dist/tools/workflows/setup-workflow.service.js.map +1 -1
  73. package/dist/tools/workflows/submit-workflow.tool.d.ts +1 -0
  74. package/dist/tools/workflows/submit-workflow.tool.js +5 -0
  75. package/dist/tools/workflows/submit-workflow.tool.js.map +1 -1
  76. package/dist/tools/workflows.tool.d.ts +2 -0
  77. package/dist/tools/workflows.tool.js +498 -0
  78. package/dist/tools/workflows.tool.js.map +1 -0
  79. package/dist/tools/workspace.tool.d.ts +2 -0
  80. package/dist/tools/workspace.tool.js +278 -0
  81. package/dist/tools/workspace.tool.js.map +1 -0
  82. package/dist/tracing/langsmith-tracing.d.ts +1 -0
  83. package/dist/tracing/langsmith-tracing.js +170 -2
  84. package/dist/tracing/langsmith-tracing.js.map +1 -1
  85. package/dist/tracing/trace-replay.d.ts +61 -0
  86. package/dist/tracing/trace-replay.js +208 -0
  87. package/dist/tracing/trace-replay.js.map +1 -0
  88. package/dist/types.d.ts +7 -0
  89. package/dist/workflow-loop/guidance.js +5 -5
  90. package/dist/workflow-loop/guidance.js.map +1 -1
  91. package/dist/workflow-loop/workflow-loop-controller.js +5 -0
  92. package/dist/workflow-loop/workflow-loop-controller.js.map +1 -1
  93. package/dist/workflow-loop/workflow-loop-state.d.ts +7 -0
  94. package/dist/workflow-loop/workflow-loop-state.js +2 -0
  95. package/dist/workflow-loop/workflow-loop-state.js.map +1 -1
  96. package/package.json +10 -8
  97. package/dist/agent/tool-access.d.ts +0 -2
  98. package/dist/agent/tool-access.js +0 -28
  99. package/dist/agent/tool-access.js.map +0 -1
  100. package/dist/tools/best-practices/get-best-practices.tool.d.ts +0 -9
  101. package/dist/tools/best-practices/get-best-practices.tool.js +0 -66
  102. package/dist/tools/best-practices/get-best-practices.tool.js.map +0 -1
  103. package/dist/tools/credentials/delete-credential.tool.d.ts +0 -20
  104. package/dist/tools/credentials/delete-credential.tool.js +0 -58
  105. package/dist/tools/credentials/delete-credential.tool.js.map +0 -1
  106. package/dist/tools/credentials/get-credential.tool.d.ts +0 -10
  107. package/dist/tools/credentials/get-credential.tool.js +0 -32
  108. package/dist/tools/credentials/get-credential.tool.js.map +0 -1
  109. package/dist/tools/credentials/list-credentials.tool.d.ts +0 -16
  110. package/dist/tools/credentials/list-credentials.tool.js +0 -72
  111. package/dist/tools/credentials/list-credentials.tool.js.map +0 -1
  112. package/dist/tools/credentials/search-credential-types.tool.d.ts +0 -10
  113. package/dist/tools/credentials/search-credential-types.tool.js +0 -46
  114. package/dist/tools/credentials/search-credential-types.tool.js.map +0 -1
  115. package/dist/tools/credentials/setup-credentials.tool.d.ts +0 -69
  116. package/dist/tools/credentials/setup-credentials.tool.js +0 -140
  117. package/dist/tools/credentials/setup-credentials.tool.js.map +0 -1
  118. package/dist/tools/credentials/test-credential.tool.d.ts +0 -10
  119. package/dist/tools/credentials/test-credential.tool.js +0 -32
  120. package/dist/tools/credentials/test-credential.tool.js.map +0 -1
  121. package/dist/tools/data-tables/add-data-table-column.tool.d.ts +0 -23
  122. package/dist/tools/data-tables/add-data-table-column.tool.js +0 -67
  123. package/dist/tools/data-tables/add-data-table-column.tool.js.map +0 -1
  124. package/dist/tools/data-tables/create-data-table.tool.d.ts +0 -38
  125. package/dist/tools/data-tables/create-data-table.tool.js +0 -106
  126. package/dist/tools/data-tables/create-data-table.tool.js.map +0 -1
  127. package/dist/tools/data-tables/delete-data-table-column.tool.d.ts +0 -20
  128. package/dist/tools/data-tables/delete-data-table-column.tool.js +0 -55
  129. package/dist/tools/data-tables/delete-data-table-column.tool.js.map +0 -1
  130. package/dist/tools/data-tables/delete-data-table-rows.tool.d.ts +0 -63
  131. package/dist/tools/data-tables/delete-data-table-rows.tool.js +0 -79
  132. package/dist/tools/data-tables/delete-data-table-rows.tool.js.map +0 -1
  133. package/dist/tools/data-tables/delete-data-table.tool.d.ts +0 -17
  134. package/dist/tools/data-tables/delete-data-table.tool.js +0 -54
  135. package/dist/tools/data-tables/delete-data-table.tool.js.map +0 -1
  136. package/dist/tools/data-tables/get-data-table-schema.tool.d.ts +0 -10
  137. package/dist/tools/data-tables/get-data-table-schema.tool.js +0 -29
  138. package/dist/tools/data-tables/get-data-table-schema.tool.js.map +0 -1
  139. package/dist/tools/data-tables/insert-data-table-rows.tool.d.ts +0 -20
  140. package/dist/tools/data-tables/insert-data-table-rows.tool.js +0 -62
  141. package/dist/tools/data-tables/insert-data-table-rows.tool.js.map +0 -1
  142. package/dist/tools/data-tables/list-data-tables.tool.d.ts +0 -10
  143. package/dist/tools/data-tables/list-data-tables.tool.js +0 -34
  144. package/dist/tools/data-tables/list-data-tables.tool.js.map +0 -1
  145. package/dist/tools/data-tables/query-data-table-rows.tool.d.ts +0 -62
  146. package/dist/tools/data-tables/query-data-table-rows.tool.js +0 -56
  147. package/dist/tools/data-tables/query-data-table-rows.tool.js.map +0 -1
  148. package/dist/tools/data-tables/rename-data-table-column.tool.d.ts +0 -23
  149. package/dist/tools/data-tables/rename-data-table-column.tool.js +0 -56
  150. package/dist/tools/data-tables/rename-data-table-column.tool.js.map +0 -1
  151. package/dist/tools/data-tables/update-data-table-rows.tool.d.ts +0 -66
  152. package/dist/tools/data-tables/update-data-table-rows.tool.js +0 -67
  153. package/dist/tools/data-tables/update-data-table-rows.tool.js.map +0 -1
  154. package/dist/tools/executions/debug-execution.tool.d.ts +0 -10
  155. package/dist/tools/executions/debug-execution.tool.js +0 -43
  156. package/dist/tools/executions/debug-execution.tool.js.map +0 -1
  157. package/dist/tools/executions/get-execution.tool.d.ts +0 -10
  158. package/dist/tools/executions/get-execution.tool.js +0 -28
  159. package/dist/tools/executions/get-execution.tool.js.map +0 -1
  160. package/dist/tools/executions/get-node-output.tool.d.ts +0 -19
  161. package/dist/tools/executions/get-node-output.tool.js +0 -41
  162. package/dist/tools/executions/get-node-output.tool.js.map +0 -1
  163. package/dist/tools/executions/list-executions.tool.d.ts +0 -16
  164. package/dist/tools/executions/list-executions.tool.js +0 -47
  165. package/dist/tools/executions/list-executions.tool.js.map +0 -1
  166. package/dist/tools/executions/run-workflow.tool.d.ts +0 -26
  167. package/dist/tools/executions/run-workflow.tool.js +0 -92
  168. package/dist/tools/executions/run-workflow.tool.js.map +0 -1
  169. package/dist/tools/executions/stop-execution.tool.d.ts +0 -10
  170. package/dist/tools/executions/stop-execution.tool.js +0 -27
  171. package/dist/tools/executions/stop-execution.tool.js.map +0 -1
  172. package/dist/tools/nodes/explore-node-resources.tool.d.ts +0 -34
  173. package/dist/tools/nodes/explore-node-resources.tool.js +0 -73
  174. package/dist/tools/nodes/explore-node-resources.tool.js.map +0 -1
  175. package/dist/tools/nodes/get-node-description.tool.d.ts +0 -10
  176. package/dist/tools/nodes/get-node-description.tool.js +0 -54
  177. package/dist/tools/nodes/get-node-description.tool.js.map +0 -1
  178. package/dist/tools/nodes/get-node-type-definition.tool.d.ts +0 -40
  179. package/dist/tools/nodes/get-node-type-definition.tool.js +0 -75
  180. package/dist/tools/nodes/get-node-type-definition.tool.js.map +0 -1
  181. package/dist/tools/nodes/get-suggested-nodes.tool.d.ts +0 -9
  182. package/dist/tools/nodes/get-suggested-nodes.tool.js +0 -56
  183. package/dist/tools/nodes/get-suggested-nodes.tool.js.map +0 -1
  184. package/dist/tools/nodes/list-nodes.tool.d.ts +0 -10
  185. package/dist/tools/nodes/list-nodes.tool.js +0 -35
  186. package/dist/tools/nodes/list-nodes.tool.js.map +0 -1
  187. package/dist/tools/nodes/search-nodes.tool.d.ts +0 -16
  188. package/dist/tools/nodes/search-nodes.tool.js +0 -91
  189. package/dist/tools/nodes/search-nodes.tool.js.map +0 -1
  190. package/dist/tools/orchestration/cancel-background-task.tool.d.ts +0 -10
  191. package/dist/tools/orchestration/cancel-background-task.tool.js +0 -26
  192. package/dist/tools/orchestration/cancel-background-task.tool.js.map +0 -1
  193. package/dist/tools/orchestration/correct-background-task.tool.d.ts +0 -13
  194. package/dist/tools/orchestration/correct-background-task.tool.js +0 -43
  195. package/dist/tools/orchestration/correct-background-task.tool.js.map +0 -1
  196. package/dist/tools/orchestration/update-tasks.tool.js +0 -26
  197. package/dist/tools/orchestration/update-tasks.tool.js.map +0 -1
  198. package/dist/tools/templates/search-template-parameters.tool.d.ts +0 -18
  199. package/dist/tools/templates/search-template-parameters.tool.js +0 -57
  200. package/dist/tools/templates/search-template-parameters.tool.js.map +0 -1
  201. package/dist/tools/templates/search-template-structures.tool.d.ts +0 -15
  202. package/dist/tools/templates/search-template-structures.tool.js +0 -47
  203. package/dist/tools/templates/search-template-structures.tool.js.map +0 -1
  204. package/dist/tools/web-research/fetch-url.tool.d.ts +0 -13
  205. package/dist/tools/web-research/fetch-url.tool.js +0 -132
  206. package/dist/tools/web-research/fetch-url.tool.js.map +0 -1
  207. package/dist/tools/web-research/index.d.ts +0 -1
  208. package/dist/tools/web-research/index.js +0 -6
  209. package/dist/tools/web-research/index.js.map +0 -1
  210. package/dist/tools/web-research/web-search.tool.d.ts +0 -16
  211. package/dist/tools/web-research/web-search.tool.js +0 -59
  212. package/dist/tools/web-research/web-search.tool.js.map +0 -1
  213. package/dist/tools/workflows/delete-workflow.tool.d.ts +0 -20
  214. package/dist/tools/workflows/delete-workflow.tool.js +0 -55
  215. package/dist/tools/workflows/delete-workflow.tool.js.map +0 -1
  216. package/dist/tools/workflows/get-workflow-as-code.tool.d.ts +0 -10
  217. package/dist/tools/workflows/get-workflow-as-code.tool.js +0 -39
  218. package/dist/tools/workflows/get-workflow-as-code.tool.js.map +0 -1
  219. package/dist/tools/workflows/get-workflow-version.tool.d.ts +0 -13
  220. package/dist/tools/workflows/get-workflow-version.tool.js +0 -40
  221. package/dist/tools/workflows/get-workflow-version.tool.js.map +0 -1
  222. package/dist/tools/workflows/get-workflow.tool.d.ts +0 -10
  223. package/dist/tools/workflows/get-workflow.tool.js +0 -38
  224. package/dist/tools/workflows/get-workflow.tool.js.map +0 -1
  225. package/dist/tools/workflows/list-workflow-versions.tool.d.ts +0 -16
  226. package/dist/tools/workflows/list-workflow-versions.tool.js +0 -49
  227. package/dist/tools/workflows/list-workflow-versions.tool.js.map +0 -1
  228. package/dist/tools/workflows/list-workflows.tool.d.ts +0 -13
  229. package/dist/tools/workflows/list-workflows.tool.js +0 -44
  230. package/dist/tools/workflows/list-workflows.tool.js.map +0 -1
  231. package/dist/tools/workflows/publish-workflow.tool.d.ts +0 -10
  232. package/dist/tools/workflows/publish-workflow.tool.js +0 -97
  233. package/dist/tools/workflows/publish-workflow.tool.js.map +0 -1
  234. package/dist/tools/workflows/restore-workflow-version.tool.d.ts +0 -20
  235. package/dist/tools/workflows/restore-workflow-version.tool.js +0 -72
  236. package/dist/tools/workflows/restore-workflow-version.tool.js.map +0 -1
  237. package/dist/tools/workflows/setup-workflow.tool.d.ts +0 -13
  238. package/dist/tools/workflows/setup-workflow.tool.js +0 -215
  239. package/dist/tools/workflows/setup-workflow.tool.js.map +0 -1
  240. package/dist/tools/workflows/unpublish-workflow.tool.d.ts +0 -20
  241. package/dist/tools/workflows/unpublish-workflow.tool.js +0 -65
  242. package/dist/tools/workflows/unpublish-workflow.tool.js.map +0 -1
  243. package/dist/tools/workflows/update-workflow-version.tool.d.ts +0 -19
  244. package/dist/tools/workflows/update-workflow-version.tool.js +0 -37
  245. package/dist/tools/workflows/update-workflow-version.tool.js.map +0 -1
  246. package/dist/tools/workspace/cleanup-test-executions.tool.d.ts +0 -23
  247. package/dist/tools/workspace/cleanup-test-executions.tool.js +0 -62
  248. package/dist/tools/workspace/cleanup-test-executions.tool.js.map +0 -1
  249. package/dist/tools/workspace/create-folder.tool.d.ts +0 -23
  250. package/dist/tools/workspace/create-folder.tool.js +0 -72
  251. package/dist/tools/workspace/create-folder.tool.js.map +0 -1
  252. package/dist/tools/workspace/delete-folder.tool.d.ts +0 -29
  253. package/dist/tools/workspace/delete-folder.tool.js +0 -67
  254. package/dist/tools/workspace/delete-folder.tool.js.map +0 -1
  255. package/dist/tools/workspace/list-folders.tool.d.ts +0 -10
  256. package/dist/tools/workspace/list-folders.tool.js +0 -28
  257. package/dist/tools/workspace/list-folders.tool.js.map +0 -1
  258. package/dist/tools/workspace/list-projects.tool.d.ts +0 -4
  259. package/dist/tools/workspace/list-projects.tool.js +0 -26
  260. package/dist/tools/workspace/list-projects.tool.js.map +0 -1
  261. package/dist/tools/workspace/list-tags.tool.d.ts +0 -4
  262. package/dist/tools/workspace/list-tags.tool.js +0 -25
  263. package/dist/tools/workspace/list-tags.tool.js.map +0 -1
  264. package/dist/tools/workspace/move-workflow-to-folder.tool.d.ts +0 -26
  265. package/dist/tools/workspace/move-workflow-to-folder.tool.js +0 -60
  266. package/dist/tools/workspace/move-workflow-to-folder.tool.js.map +0 -1
  267. package/dist/tools/workspace/tag-workflow.tool.d.ts +0 -23
  268. package/dist/tools/workspace/tag-workflow.tool.js +0 -56
  269. package/dist/tools/workspace/tag-workflow.tool.js.map +0 -1
@@ -0,0 +1,498 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createWorkflowsTool = createWorkflowsTool;
37
+ const tools_1 = require("@mastra/core/tools");
38
+ const nanoid_1 = require("nanoid");
39
+ const zod_1 = require("zod");
40
+ const sanitize_mcp_schemas_1 = require("../agent/sanitize-mcp-schemas");
41
+ const format_timestamp_1 = require("../utils/format-timestamp");
42
+ const setup_workflow_schema_1 = require("./workflows/setup-workflow.schema");
43
+ const setup_workflow_service_1 = require("./workflows/setup-workflow.service");
44
+ const listAction = zod_1.z.object({
45
+ action: zod_1.z.literal('list').describe('List workflows accessible to the current user'),
46
+ query: zod_1.z.string().optional().describe('Filter workflows by name'),
47
+ limit: zod_1.z.number().int().positive().max(100).optional().describe('Max results to return'),
48
+ });
49
+ const getAction = zod_1.z.object({
50
+ action: zod_1.z.literal('get').describe('Get full details of a specific workflow'),
51
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
52
+ });
53
+ const getAsCodeAction = zod_1.z.object({
54
+ action: zod_1.z.literal('get-as-code').describe('Convert an existing workflow to TypeScript SDK code'),
55
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
56
+ });
57
+ const deleteAction = zod_1.z.object({
58
+ action: zod_1.z.literal('delete').describe('Archive a workflow by ID (soft delete)'),
59
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
60
+ });
61
+ const setupAction = zod_1.z.object({
62
+ action: zod_1.z
63
+ .literal('setup')
64
+ .describe('Open the workflow setup UI for credential and parameter configuration'),
65
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
66
+ projectId: zod_1.z.string().optional().describe('Project ID to scope credential creation to'),
67
+ });
68
+ const publishBaseAction = zod_1.z.object({
69
+ action: zod_1.z
70
+ .literal('publish')
71
+ .describe('Publish a workflow version to production (omit versionId for latest draft)'),
72
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
73
+ versionId: zod_1.z.string().optional().describe('Version ID'),
74
+ });
75
+ const publishExtendedAction = publishBaseAction.extend({
76
+ name: zod_1.z.string().optional().describe('Name for the version'),
77
+ description: zod_1.z.string().optional().describe('Description for the version'),
78
+ });
79
+ const unpublishAction = zod_1.z.object({
80
+ action: zod_1.z.literal('unpublish').describe('Unpublish a workflow — stop it from running'),
81
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
82
+ });
83
+ const listVersionsAction = zod_1.z.object({
84
+ action: zod_1.z.literal('list-versions').describe('List version history for a workflow'),
85
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
86
+ limit: zod_1.z.number().int().positive().max(100).optional().describe('Max results to return'),
87
+ skip: zod_1.z.number().int().min(0).optional().describe('Number of results to skip (default 0)'),
88
+ });
89
+ const getVersionAction = zod_1.z.object({
90
+ action: zod_1.z.literal('get-version').describe('Get full details of a specific workflow version'),
91
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
92
+ versionId: zod_1.z.string().describe('Version ID'),
93
+ });
94
+ const restoreVersionAction = zod_1.z.object({
95
+ action: zod_1.z.literal('restore-version').describe('Restore a workflow to a previous version'),
96
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
97
+ versionId: zod_1.z.string().describe('Version ID'),
98
+ });
99
+ const updateVersionAction = zod_1.z.object({
100
+ action: zod_1.z
101
+ .literal('update-version')
102
+ .describe('Update the name or description of a workflow version (null to clear a field)'),
103
+ workflowId: zod_1.z.string().describe('ID of the workflow'),
104
+ versionId: zod_1.z.string().describe('Version ID'),
105
+ name: zod_1.z.string().nullable().optional().describe('Name for the version'),
106
+ description: zod_1.z.string().nullable().optional().describe('Description for the version'),
107
+ });
108
+ const suspendSchema = setup_workflow_schema_1.setupSuspendSchema;
109
+ const resumeSchema = setup_workflow_schema_1.setupResumeSchema;
110
+ function buildInputSchema(context, surface) {
111
+ const hasNamedVersions = !!context.workflowService.updateVersion;
112
+ const hasVersions = !!context.workflowService.listVersions;
113
+ const actions = [
114
+ listAction,
115
+ getAction,
116
+ deleteAction,
117
+ setupAction,
118
+ hasNamedVersions ? publishExtendedAction : publishBaseAction,
119
+ unpublishAction,
120
+ ];
121
+ if (surface !== 'orchestrator') {
122
+ actions.push(getAsCodeAction);
123
+ }
124
+ if (hasVersions) {
125
+ actions.push(listVersionsAction);
126
+ actions.push(getVersionAction);
127
+ actions.push(restoreVersionAction);
128
+ }
129
+ if (hasNamedVersions) {
130
+ actions.push(updateVersionAction);
131
+ }
132
+ return (0, sanitize_mcp_schemas_1.sanitizeInputSchema)(zod_1.z.discriminatedUnion('action', actions));
133
+ }
134
+ async function resolveWorkflowName(context, workflowId) {
135
+ return await context.workflowService
136
+ .get(workflowId)
137
+ .then((wf) => wf.name)
138
+ .catch(() => workflowId);
139
+ }
140
+ async function handleList(context, input) {
141
+ const workflows = await context.workflowService.list({
142
+ limit: input.limit,
143
+ query: input.query,
144
+ });
145
+ return { workflows };
146
+ }
147
+ async function handleGet(context, input) {
148
+ return await context.workflowService.get(input.workflowId);
149
+ }
150
+ async function handleGetAsCode(context, input) {
151
+ const { generateWorkflowCode } = await Promise.resolve().then(() => __importStar(require('@n8n/workflow-sdk')));
152
+ try {
153
+ const json = await context.workflowService.getAsWorkflowJSON(input.workflowId);
154
+ const code = generateWorkflowCode(json);
155
+ return { workflowId: input.workflowId, name: json.name, code };
156
+ }
157
+ catch (error) {
158
+ return {
159
+ workflowId: input.workflowId,
160
+ name: '',
161
+ code: '',
162
+ error: error instanceof Error ? error.message : 'Failed to convert workflow to code',
163
+ };
164
+ }
165
+ }
166
+ async function handleDelete(context, input, ctx) {
167
+ const resumeData = ctx?.agent?.resumeData;
168
+ const suspend = ctx?.agent?.suspend;
169
+ if (context.permissions?.deleteWorkflow === 'blocked') {
170
+ return { success: false, denied: true, reason: 'Action blocked by admin' };
171
+ }
172
+ const needsApproval = context.permissions?.deleteWorkflow !== 'always_allow';
173
+ if (needsApproval && (resumeData === undefined || resumeData === null)) {
174
+ const workflowName = await resolveWorkflowName(context, input.workflowId);
175
+ await suspend?.({
176
+ requestId: (0, nanoid_1.nanoid)(),
177
+ message: `Archive workflow "${workflowName}" (ID: ${input.workflowId})? This will deactivate it if needed and can be undone later.`,
178
+ severity: 'warning',
179
+ });
180
+ return { success: false };
181
+ }
182
+ if (resumeData !== undefined && resumeData !== null && !resumeData.approved) {
183
+ return { success: false, denied: true, reason: 'User denied the action' };
184
+ }
185
+ await context.workflowService.archive(input.workflowId);
186
+ return { success: true };
187
+ }
188
+ async function handleSetup(context, input, ctx, state) {
189
+ const resumeData = ctx?.agent?.resumeData;
190
+ const suspend = ctx?.agent?.suspend;
191
+ if (resumeData === undefined || resumeData === null) {
192
+ const setupRequests = await (0, setup_workflow_service_1.analyzeWorkflow)(context, input.workflowId);
193
+ if (setupRequests.length === 0) {
194
+ return { success: true, reason: 'No nodes require setup.' };
195
+ }
196
+ state.currentRequestId = (0, nanoid_1.nanoid)();
197
+ await suspend?.({
198
+ requestId: state.currentRequestId,
199
+ message: 'Configure credentials for your workflow',
200
+ severity: 'info',
201
+ setupRequests,
202
+ workflowId: input.workflowId,
203
+ ...(input.projectId ? { projectId: input.projectId } : {}),
204
+ });
205
+ return { success: false };
206
+ }
207
+ if (!resumeData.approved) {
208
+ if (state.preTestSnapshot) {
209
+ await context.workflowService.updateFromWorkflowJSON(input.workflowId, state.preTestSnapshot);
210
+ state.preTestSnapshot = null;
211
+ }
212
+ return {
213
+ success: true,
214
+ deferred: true,
215
+ reason: 'User skipped workflow setup for now.',
216
+ };
217
+ }
218
+ if (resumeData.action === 'test-trigger' && resumeData.testTriggerNode) {
219
+ state.preTestSnapshot ??= await context.workflowService.getAsWorkflowJSON(input.workflowId);
220
+ const preTestApply = await (0, setup_workflow_service_1.applyNodeChanges)(context, input.workflowId, resumeData.credentials, resumeData.nodeParameters);
221
+ const applyFailures = preTestApply.failed;
222
+ if (applyFailures.length > 0) {
223
+ return {
224
+ success: false,
225
+ error: `Failed to apply setup before trigger test: ${applyFailures.map((f) => `${f.nodeName}: ${f.error}`).join('; ')}`,
226
+ failedNodes: applyFailures,
227
+ };
228
+ }
229
+ let triggerTestResult;
230
+ try {
231
+ const result = await context.executionService.run(input.workflowId, undefined, {
232
+ timeout: 30_000,
233
+ triggerNodeName: resumeData.testTriggerNode,
234
+ });
235
+ if (result.status === 'success') {
236
+ triggerTestResult = { status: 'success' };
237
+ }
238
+ else if (result.status === 'waiting') {
239
+ triggerTestResult = { status: 'listening' };
240
+ }
241
+ else {
242
+ triggerTestResult = {
243
+ status: 'error',
244
+ error: result.error ?? 'Trigger test failed',
245
+ };
246
+ }
247
+ }
248
+ catch (error) {
249
+ triggerTestResult = {
250
+ status: 'error',
251
+ error: error instanceof Error ? error.message : 'Trigger test failed',
252
+ };
253
+ }
254
+ const refreshedRequests = await (0, setup_workflow_service_1.analyzeWorkflow)(context, input.workflowId, {
255
+ [resumeData.testTriggerNode]: triggerTestResult,
256
+ });
257
+ state.currentRequestId = (0, nanoid_1.nanoid)();
258
+ await suspend?.({
259
+ requestId: state.currentRequestId,
260
+ message: 'Configure credentials for your workflow',
261
+ severity: 'info',
262
+ setupRequests: refreshedRequests,
263
+ workflowId: input.workflowId,
264
+ ...(input.projectId ? { projectId: input.projectId } : {}),
265
+ });
266
+ return { success: false };
267
+ }
268
+ try {
269
+ state.preTestSnapshot = null;
270
+ const applyResult = await (0, setup_workflow_service_1.applyNodeChanges)(context, input.workflowId, resumeData.credentials, resumeData.nodeParameters);
271
+ const failedNodes = applyResult.failed.length > 0 ? applyResult.failed : undefined;
272
+ const updatedWorkflow = await context.workflowService.getAsWorkflowJSON(input.workflowId);
273
+ const updatedNodes = updatedWorkflow.nodes.map((node) => ({
274
+ id: node.id,
275
+ name: node.name,
276
+ type: node.type,
277
+ typeVersion: node.typeVersion,
278
+ position: node.position,
279
+ parameters: node.parameters,
280
+ credentials: node.credentials,
281
+ disabled: node.disabled,
282
+ }));
283
+ const updatedConnections = updatedWorkflow.connections;
284
+ const remainingRequests = await (0, setup_workflow_service_1.analyzeWorkflow)(context, input.workflowId);
285
+ const pendingRequests = remainingRequests.filter((r) => r.needsAction);
286
+ const completedNodes = (0, setup_workflow_service_1.buildCompletedReport)(resumeData.credentials, resumeData.nodeParameters);
287
+ const credTestFailures = [];
288
+ for (const req of remainingRequests) {
289
+ if (req.credentialTestResult &&
290
+ !req.credentialTestResult.success &&
291
+ req.credentialType &&
292
+ resumeData.credentials?.[req.node.name]?.[req.credentialType]) {
293
+ credTestFailures.push({
294
+ nodeName: req.node.name,
295
+ error: `Credential test failed for ${req.credentialType}: ${req.credentialTestResult.message ?? 'Invalid credentials'}`,
296
+ });
297
+ }
298
+ }
299
+ const credFailedNodeNames = new Set(credTestFailures.map((f) => f.nodeName));
300
+ const validCompletedNodes = completedNodes.filter((n) => !credFailedNodeNames.has(n.nodeName));
301
+ const allFailedNodes = [...(failedNodes ?? []), ...credTestFailures];
302
+ const mergedFailedNodes = allFailedNodes.length > 0 ? allFailedNodes : undefined;
303
+ if (pendingRequests.length > 0) {
304
+ const skippedNodes = pendingRequests.map((r) => ({
305
+ nodeName: r.node.name,
306
+ credentialType: r.credentialType,
307
+ }));
308
+ return {
309
+ success: true,
310
+ partial: true,
311
+ reason: `Applied setup for ${String(validCompletedNodes.length)} node(s), ${String(pendingRequests.length)} node(s) still need configuration.`,
312
+ completedNodes: validCompletedNodes,
313
+ skippedNodes,
314
+ failedNodes: mergedFailedNodes,
315
+ updatedNodes,
316
+ updatedConnections,
317
+ };
318
+ }
319
+ return {
320
+ success: true,
321
+ completedNodes: validCompletedNodes,
322
+ failedNodes: mergedFailedNodes,
323
+ updatedNodes,
324
+ updatedConnections,
325
+ };
326
+ }
327
+ catch (error) {
328
+ return {
329
+ success: false,
330
+ error: `Workflow apply failed: ${error instanceof Error ? error.message : 'Unknown error'}`,
331
+ };
332
+ }
333
+ }
334
+ async function handlePublish(context, input, ctx) {
335
+ const resumeData = ctx?.agent?.resumeData;
336
+ const suspend = ctx?.agent?.suspend;
337
+ const hasNamedVersions = !!context.workflowService.updateVersion;
338
+ if (context.permissions?.publishWorkflow === 'blocked') {
339
+ return { success: false, denied: true, reason: 'Action blocked by admin' };
340
+ }
341
+ const needsApproval = context.permissions?.publishWorkflow !== 'always_allow';
342
+ if (needsApproval && (resumeData === undefined || resumeData === null)) {
343
+ const workflowName = await resolveWorkflowName(context, input.workflowId);
344
+ await suspend?.({
345
+ requestId: (0, nanoid_1.nanoid)(),
346
+ message: input.versionId
347
+ ? `Publish version "${input.versionId}" of workflow "${workflowName}" (ID: ${input.workflowId})?`
348
+ : `Publish workflow "${workflowName}" (ID: ${input.workflowId})?`,
349
+ severity: 'warning',
350
+ });
351
+ return { success: false };
352
+ }
353
+ if (resumeData !== undefined && resumeData !== null && !resumeData.approved) {
354
+ return { success: false, denied: true, reason: 'User denied the action' };
355
+ }
356
+ try {
357
+ const result = await context.workflowService.publish(input.workflowId, {
358
+ versionId: input.versionId,
359
+ ...(hasNamedVersions
360
+ ? {
361
+ name: input.name,
362
+ description: input.description,
363
+ }
364
+ : {}),
365
+ });
366
+ return { success: true, activeVersionId: result.activeVersionId };
367
+ }
368
+ catch (error) {
369
+ return {
370
+ success: false,
371
+ error: error instanceof Error ? error.message : 'Publish failed',
372
+ };
373
+ }
374
+ }
375
+ async function handleUnpublish(context, input, ctx) {
376
+ const resumeData = ctx?.agent?.resumeData;
377
+ const suspend = ctx?.agent?.suspend;
378
+ if (context.permissions?.publishWorkflow === 'blocked') {
379
+ return { success: false, denied: true, reason: 'Action blocked by admin' };
380
+ }
381
+ const needsApproval = context.permissions?.publishWorkflow !== 'always_allow';
382
+ if (needsApproval && (resumeData === undefined || resumeData === null)) {
383
+ const workflowName = await resolveWorkflowName(context, input.workflowId);
384
+ await suspend?.({
385
+ requestId: (0, nanoid_1.nanoid)(),
386
+ message: `Unpublish workflow "${workflowName}" (ID: ${input.workflowId})?`,
387
+ severity: 'warning',
388
+ });
389
+ return { success: false };
390
+ }
391
+ if (resumeData !== undefined && resumeData !== null && !resumeData.approved) {
392
+ return { success: false, denied: true, reason: 'User denied the action' };
393
+ }
394
+ try {
395
+ await context.workflowService.unpublish(input.workflowId);
396
+ return { success: true };
397
+ }
398
+ catch (error) {
399
+ return {
400
+ success: false,
401
+ error: error instanceof Error ? error.message : 'Unpublish failed',
402
+ };
403
+ }
404
+ }
405
+ async function handleListVersions(context, input) {
406
+ const versions = await context.workflowService.listVersions(input.workflowId, {
407
+ limit: input.limit,
408
+ skip: input.skip,
409
+ });
410
+ return { versions };
411
+ }
412
+ async function handleGetVersion(context, input) {
413
+ return await context.workflowService.getVersion(input.workflowId, input.versionId);
414
+ }
415
+ async function handleRestoreVersion(context, input, ctx) {
416
+ const resumeData = ctx?.agent?.resumeData;
417
+ const suspend = ctx?.agent?.suspend;
418
+ if (context.permissions?.restoreWorkflowVersion === 'blocked') {
419
+ return { success: false, denied: true, reason: 'Action blocked by admin' };
420
+ }
421
+ const needsApproval = context.permissions?.restoreWorkflowVersion !== 'always_allow';
422
+ if (needsApproval && (resumeData === undefined || resumeData === null)) {
423
+ const version = await context.workflowService.getVersion(input.workflowId, input.versionId).catch(() => undefined);
424
+ const timestamp = version?.createdAt ? (0, format_timestamp_1.formatTimestamp)(version.createdAt) : undefined;
425
+ const versionLabel = version?.name
426
+ ? `"${version.name}" (${timestamp})`
427
+ : `"${input.versionId}" (${timestamp ?? 'unknown date'})`;
428
+ await suspend?.({
429
+ requestId: (0, nanoid_1.nanoid)(),
430
+ message: `Restore workflow to version ${versionLabel}? This will overwrite the current draft.`,
431
+ severity: 'warning',
432
+ });
433
+ return { success: false };
434
+ }
435
+ if (resumeData !== undefined && resumeData !== null && !resumeData.approved) {
436
+ return { success: false, denied: true, reason: 'User denied the action' };
437
+ }
438
+ try {
439
+ await context.workflowService.restoreVersion(input.workflowId, input.versionId);
440
+ return { success: true };
441
+ }
442
+ catch (error) {
443
+ return {
444
+ success: false,
445
+ error: error instanceof Error ? error.message : 'Restore failed',
446
+ };
447
+ }
448
+ }
449
+ async function handleUpdateVersion(context, input) {
450
+ await context.workflowService.updateVersion(input.workflowId, input.versionId, {
451
+ name: input.name,
452
+ description: input.description,
453
+ });
454
+ return { success: true };
455
+ }
456
+ function createWorkflowsTool(context, surface = 'full') {
457
+ const setupState = {
458
+ currentRequestId: null,
459
+ preTestSnapshot: null,
460
+ };
461
+ const inputSchema = buildInputSchema(context, surface);
462
+ return (0, tools_1.createTool)({
463
+ id: 'workflows',
464
+ description: 'Manage workflows — list, inspect, delete, set up, publish, unpublish, and manage versions.',
465
+ inputSchema,
466
+ suspendSchema,
467
+ resumeSchema,
468
+ execute: async (input, ctx) => {
469
+ switch (input.action) {
470
+ case 'list':
471
+ return await handleList(context, input);
472
+ case 'get':
473
+ return await handleGet(context, input);
474
+ case 'get-as-code':
475
+ return await handleGetAsCode(context, input);
476
+ case 'delete':
477
+ return await handleDelete(context, input, ctx);
478
+ case 'setup':
479
+ return await handleSetup(context, input, ctx, setupState);
480
+ case 'publish':
481
+ return await handlePublish(context, input, ctx);
482
+ case 'unpublish':
483
+ return await handleUnpublish(context, input, ctx);
484
+ case 'list-versions':
485
+ return await handleListVersions(context, input);
486
+ case 'get-version':
487
+ return await handleGetVersion(context, input);
488
+ case 'restore-version':
489
+ return await handleRestoreVersion(context, input, ctx);
490
+ case 'update-version':
491
+ return await handleUpdateVersion(context, input);
492
+ default:
493
+ return { error: `Unknown action: ${input.action}` };
494
+ }
495
+ },
496
+ });
497
+ }
498
+ //# sourceMappingURL=workflows.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.tool.js","sourceRoot":"","sources":["../../src/tools/workflows.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { InstanceAiContext } from '../types';
2
+ export declare function createWorkspaceTool(context: InstanceAiContext): import("@mastra/core/tools").Tool<InferPublicSchema<T>, InferPublicSchema<T>, InferPublicSchema<T>, InferPublicSchema<T>, import("@mastra/core/tools").ToolExecutionContext<InferPublicSchema<T>, InferPublicSchema<T>, unknown>, "workspace", unknown>;