n8n 2.40.5 → 2.41.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 (823) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/commands/import/credentials.js +12 -3
  3. package/dist/commands/import/credentials.js.map +1 -1
  4. package/dist/commands/import/workflow.js +4 -4
  5. package/dist/commands/import/workflow.js.map +1 -1
  6. package/dist/commands/start.js +5 -2
  7. package/dist/commands/start.js.map +1 -1
  8. package/dist/constants.d.ts +1 -0
  9. package/dist/constants.js +2 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/controllers/ai-preference.controller.js +1 -1
  12. package/dist/controllers/ai-preference.controller.js.map +1 -1
  13. package/dist/controllers/ai.controller.d.ts +1 -0
  14. package/dist/controllers/dev.controller.d.ts +8 -0
  15. package/dist/controllers/dev.controller.js +35 -0
  16. package/dist/controllers/dev.controller.js.map +1 -0
  17. package/dist/controllers/me.controller.d.ts +2 -4
  18. package/dist/controllers/me.controller.js +9 -24
  19. package/dist/controllers/me.controller.js.map +1 -1
  20. package/dist/controllers/role.controller.js +1 -0
  21. package/dist/controllers/role.controller.js.map +1 -1
  22. package/dist/crash-journal.js +1 -1
  23. package/dist/crash-journal.js.map +1 -1
  24. package/dist/credentials/credential-dependency.service.d.ts +2 -2
  25. package/dist/credentials/credential-dependency.service.js +5 -4
  26. package/dist/credentials/credential-dependency.service.js.map +1 -1
  27. package/dist/credentials/credentials-finder.service.d.ts +1 -0
  28. package/dist/credentials/credentials.controller.d.ts +4 -0
  29. package/dist/credentials/credentials.controller.js +5 -0
  30. package/dist/credentials/credentials.controller.js.map +1 -1
  31. package/dist/credentials/credentials.service.d.ts +16 -3
  32. package/dist/credentials/credentials.service.ee.d.ts +2 -0
  33. package/dist/credentials/credentials.service.js +112 -30
  34. package/dist/credentials/credentials.service.js.map +1 -1
  35. package/dist/credentials/validation.d.ts +1 -0
  36. package/dist/credentials/validation.js +11 -0
  37. package/dist/credentials/validation.js.map +1 -1
  38. package/dist/credentials-helper.d.ts +3 -2
  39. package/dist/credentials-helper.js +39 -19
  40. package/dist/credentials-helper.js.map +1 -1
  41. package/dist/credentials-overwrites.js +2 -0
  42. package/dist/credentials-overwrites.js.map +1 -1
  43. package/dist/errors/response-errors/incompatible-nodes-api-version.error.d.ts +11 -0
  44. package/dist/errors/response-errors/incompatible-nodes-api-version.error.js +13 -0
  45. package/dist/errors/response-errors/incompatible-nodes-api-version.error.js.map +1 -0
  46. package/dist/errors/unsupported-end-user-credential-trigger.error.d.ts +4 -0
  47. package/dist/errors/unsupported-end-user-credential-trigger.error.js +13 -0
  48. package/dist/errors/unsupported-end-user-credential-trigger.error.js.map +1 -0
  49. package/dist/eventbus/event-message-classes/abstract-event-message.d.ts +1 -1
  50. package/dist/eventbus/event-message-classes/abstract-event-message.js +8 -0
  51. package/dist/eventbus/event-message-classes/abstract-event-message.js.map +1 -1
  52. package/dist/eventbus/event-message-classes/event-message-ai-node.d.ts +0 -2
  53. package/dist/eventbus/event-message-classes/event-message-ai-node.js +0 -8
  54. package/dist/eventbus/event-message-classes/event-message-ai-node.js.map +1 -1
  55. package/dist/eventbus/event-message-classes/event-message-audit.d.ts +1 -2
  56. package/dist/eventbus/event-message-classes/event-message-audit.js +0 -8
  57. package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
  58. package/dist/eventbus/event-message-classes/event-message-execution.d.ts +0 -2
  59. package/dist/eventbus/event-message-classes/event-message-execution.js +0 -8
  60. package/dist/eventbus/event-message-classes/event-message-execution.js.map +1 -1
  61. package/dist/eventbus/event-message-classes/event-message-generic.d.ts +0 -2
  62. package/dist/eventbus/event-message-classes/event-message-generic.js +0 -8
  63. package/dist/eventbus/event-message-classes/event-message-generic.js.map +1 -1
  64. package/dist/eventbus/event-message-classes/event-message-mcp.d.ts +0 -2
  65. package/dist/eventbus/event-message-classes/event-message-mcp.js +0 -8
  66. package/dist/eventbus/event-message-classes/event-message-mcp.js.map +1 -1
  67. package/dist/eventbus/event-message-classes/event-message-node.d.ts +0 -2
  68. package/dist/eventbus/event-message-classes/event-message-node.js +0 -8
  69. package/dist/eventbus/event-message-classes/event-message-node.js.map +1 -1
  70. package/dist/eventbus/event-message-classes/event-message-queue.d.ts +0 -2
  71. package/dist/eventbus/event-message-classes/event-message-queue.js +0 -8
  72. package/dist/eventbus/event-message-classes/event-message-queue.js.map +1 -1
  73. package/dist/eventbus/event-message-classes/event-message-runner.d.ts +0 -2
  74. package/dist/eventbus/event-message-classes/event-message-runner.js +0 -8
  75. package/dist/eventbus/event-message-classes/event-message-runner.js.map +1 -1
  76. package/dist/eventbus/event-message-classes/event-message-workflow.d.ts +1 -2
  77. package/dist/eventbus/event-message-classes/event-message-workflow.js +0 -8
  78. package/dist/eventbus/event-message-classes/event-message-workflow.js.map +1 -1
  79. package/dist/events/event.service.d.ts +3 -2
  80. package/dist/events/event.service.js.map +1 -1
  81. package/dist/events/maps/mcp-post-save-metrics.event-map.d.ts +7 -0
  82. package/dist/events/maps/mcp-post-save-metrics.event-map.js +3 -0
  83. package/dist/events/maps/mcp-post-save-metrics.event-map.js.map +1 -0
  84. package/dist/events/maps/relay.event-map.d.ts +3 -0
  85. package/dist/events/maps/system-task-metrics.event-map.d.ts +45 -0
  86. package/dist/events/maps/system-task-metrics.event-map.js +3 -0
  87. package/dist/events/maps/system-task-metrics.event-map.js.map +1 -0
  88. package/dist/events/relays/activity.event-relay.d.ts +9 -3
  89. package/dist/events/relays/activity.event-relay.js +33 -4
  90. package/dist/events/relays/activity.event-relay.js.map +1 -1
  91. package/dist/events/relays/telemetry.event-relay.js +34 -14
  92. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  93. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +10 -6
  94. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  95. package/dist/execution-lifecycle/shared/shared-hook-functions.d.ts +1 -1
  96. package/dist/execution-lifecycle/shared/shared-hook-functions.js +2 -1
  97. package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
  98. package/dist/executions/engine-v2-execution-reader.service.d.ts +26 -0
  99. package/dist/executions/engine-v2-execution-reader.service.js +58 -13
  100. package/dist/executions/engine-v2-execution-reader.service.js.map +1 -1
  101. package/dist/executions/engine-v2-mapping.d.ts +5 -0
  102. package/dist/executions/engine-v2-mapping.js +30 -0
  103. package/dist/executions/engine-v2-mapping.js.map +1 -0
  104. package/dist/executions/execution-cursor.d.ts +51 -0
  105. package/dist/executions/execution-cursor.js +39 -0
  106. package/dist/executions/execution-cursor.js.map +1 -0
  107. package/dist/executions/execution-id.js +2 -2
  108. package/dist/executions/execution-id.js.map +1 -1
  109. package/dist/executions/execution-list-v1.service.d.ts +27 -0
  110. package/dist/executions/execution-list-v1.service.js +98 -0
  111. package/dist/executions/execution-list-v1.service.js.map +1 -0
  112. package/dist/executions/execution-list-v2.service.d.ts +25 -0
  113. package/dist/executions/execution-list-v2.service.js +168 -0
  114. package/dist/executions/execution-list-v2.service.js.map +1 -0
  115. package/dist/executions/execution-list.service.d.ts +19 -0
  116. package/dist/executions/execution-list.service.js +67 -0
  117. package/dist/executions/execution-list.service.js.map +1 -0
  118. package/dist/executions/execution-recovery.service.d.ts +1 -2
  119. package/dist/executions/execution-recovery.service.js +1 -2
  120. package/dist/executions/execution-recovery.service.js.map +1 -1
  121. package/dist/executions/execution.service.d.ts +1 -34
  122. package/dist/executions/execution.service.js +4 -73
  123. package/dist/executions/execution.service.js.map +1 -1
  124. package/dist/executions/execution.types.d.ts +4 -2
  125. package/dist/executions/executions.controller.d.ts +4 -1
  126. package/dist/executions/executions.controller.js +12 -23
  127. package/dist/executions/executions.controller.js.map +1 -1
  128. package/dist/executions/merge-execution-pages.d.ts +10 -0
  129. package/dist/executions/merge-execution-pages.js +30 -0
  130. package/dist/executions/merge-execution-pages.js.map +1 -0
  131. package/dist/executions/parse-range-query.middleware.d.ts +2 -3
  132. package/dist/executions/parse-range-query.middleware.js +27 -21
  133. package/dist/executions/parse-range-query.middleware.js.map +1 -1
  134. package/dist/external-hooks.d.ts +6 -2
  135. package/dist/load-nodes-and-credentials.d.ts +3 -0
  136. package/dist/load-nodes-and-credentials.js +37 -15
  137. package/dist/load-nodes-and-credentials.js.map +1 -1
  138. package/dist/metrics/prometheus/constant.d.ts +1 -0
  139. package/dist/metrics/prometheus/constant.js +4 -1
  140. package/dist/metrics/prometheus/constant.js.map +1 -1
  141. package/dist/metrics/prometheus/mcp-post-save-metrics.service.d.ts +10 -0
  142. package/dist/metrics/prometheus/mcp-post-save-metrics.service.js +44 -0
  143. package/dist/metrics/prometheus/mcp-post-save-metrics.service.js.map +1 -0
  144. package/dist/metrics/prometheus/prometheus.service.d.ts +3 -1
  145. package/dist/metrics/prometheus/prometheus.service.js +6 -2
  146. package/dist/metrics/prometheus/prometheus.service.js.map +1 -1
  147. package/dist/metrics/prometheus/system-task-metrics.service.d.ts +12 -0
  148. package/dist/metrics/prometheus/system-task-metrics.service.js +157 -0
  149. package/dist/metrics/prometheus/system-task-metrics.service.js.map +1 -0
  150. package/dist/middlewares/list-query/dtos/credentials.select.dto.js +1 -0
  151. package/dist/middlewares/list-query/dtos/credentials.select.dto.js.map +1 -1
  152. package/dist/modules/agents/adapters/agents-credential-provider.d.ts +2 -1
  153. package/dist/modules/agents/adapters/agents-credential-provider.js +3 -1
  154. package/dist/modules/agents/adapters/agents-credential-provider.js.map +1 -1
  155. package/dist/modules/agents/agent-chat.controller.js +32 -37
  156. package/dist/modules/agents/agent-chat.controller.js.map +1 -1
  157. package/dist/modules/agents/agent-config.service.js +1 -1
  158. package/dist/modules/agents/agent-config.service.js.map +1 -1
  159. package/dist/modules/agents/agent-conversation-state.service.d.ts +12 -0
  160. package/dist/modules/agents/agent-conversation-state.service.js +34 -0
  161. package/dist/modules/agents/agent-conversation-state.service.js.map +1 -0
  162. package/dist/modules/agents/agent-custom-tools.service.js +2 -2
  163. package/dist/modules/agents/agent-custom-tools.service.js.map +1 -1
  164. package/dist/modules/agents/agent-execution-orchestrator.service.d.ts +13 -6
  165. package/dist/modules/agents/agent-execution-orchestrator.service.js +284 -417
  166. package/dist/modules/agents/agent-execution-orchestrator.service.js.map +1 -1
  167. package/dist/modules/agents/agent-execution-recording.error.d.ts +21 -0
  168. package/dist/modules/agents/agent-execution-recording.error.js +17 -0
  169. package/dist/modules/agents/agent-execution-recording.error.js.map +1 -0
  170. package/dist/modules/agents/agent-execution.service.d.ts +1 -1
  171. package/dist/modules/agents/agent-execution.service.js +51 -20
  172. package/dist/modules/agents/agent-execution.service.js.map +1 -1
  173. package/dist/modules/agents/agent-integration-management.service.d.ts +5 -3
  174. package/dist/modules/agents/agent-integration-management.service.js +9 -6
  175. package/dist/modules/agents/agent-integration-management.service.js.map +1 -1
  176. package/dist/modules/agents/agent-integrations.controller.d.ts +1 -3
  177. package/dist/modules/agents/agent-integrations.controller.js +4 -6
  178. package/dist/modules/agents/agent-integrations.controller.js.map +1 -1
  179. package/dist/modules/agents/agent-message-mapper.d.ts +1 -1
  180. package/dist/modules/agents/agent-message-mapper.js +3 -0
  181. package/dist/modules/agents/agent-message-mapper.js.map +1 -1
  182. package/dist/modules/agents/agent-modification-telemetry.service.d.ts +2 -2
  183. package/dist/modules/agents/agent-modification-telemetry.service.js.map +1 -1
  184. package/dist/modules/agents/agent-publish.service.js +5 -5
  185. package/dist/modules/agents/agent-publish.service.js.map +1 -1
  186. package/dist/modules/agents/agent-runnable-state.service.js +1 -1
  187. package/dist/modules/agents/agent-runnable-state.service.js.map +1 -1
  188. package/dist/modules/agents/agent-runtime-cache.service.js +1 -1
  189. package/dist/modules/agents/agent-runtime-cache.service.js.map +1 -1
  190. package/dist/modules/agents/agent-runtime-reconstruction.service.js +1 -1
  191. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  192. package/dist/modules/agents/agent-skills.service.js +3 -3
  193. package/dist/modules/agents/agent-skills.service.js.map +1 -1
  194. package/dist/modules/agents/agent-sse-stream.d.ts +4 -1
  195. package/dist/modules/agents/agent-sse-stream.js +46 -33
  196. package/dist/modules/agents/agent-sse-stream.js.map +1 -1
  197. package/dist/modules/agents/agent-task.service.js +3 -3
  198. package/dist/modules/agents/agent-task.service.js.map +1 -1
  199. package/dist/modules/agents/agent-test-run.service.d.ts +24 -41
  200. package/dist/modules/agents/agent-test-run.service.js +83 -59
  201. package/dist/modules/agents/agent-test-run.service.js.map +1 -1
  202. package/dist/modules/agents/agent-turn-execution.service.d.ts +49 -0
  203. package/dist/modules/agents/agent-turn-execution.service.js +212 -0
  204. package/dist/modules/agents/agent-turn-execution.service.js.map +1 -0
  205. package/dist/modules/agents/agent-workflow-execution.service.d.ts +6 -3
  206. package/dist/modules/agents/agent-workflow-execution.service.js +77 -105
  207. package/dist/modules/agents/agent-workflow-execution.service.js.map +1 -1
  208. package/dist/modules/agents/agent-workflow-tool-resume.service.d.ts +0 -1
  209. package/dist/modules/agents/agent-workflow-tool-resume.service.js +46 -20
  210. package/dist/modules/agents/agent-workflow-tool-resume.service.js.map +1 -1
  211. package/dist/modules/agents/agents-config.controller.js +1 -1
  212. package/dist/modules/agents/agents-config.controller.js.map +1 -1
  213. package/dist/modules/agents/background/agent-wake.service.d.ts +3 -5
  214. package/dist/modules/agents/background/agent-wake.service.js +6 -10
  215. package/dist/modules/agents/background/agent-wake.service.js.map +1 -1
  216. package/dist/modules/agents/builder/agents-builder-prompts.d.ts +1 -1
  217. package/dist/modules/agents/builder/agents-builder-prompts.js +21 -0
  218. package/dist/modules/agents/builder/agents-builder-prompts.js.map +1 -1
  219. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
  220. package/dist/modules/agents/builder/skills/external-services.skill.js +4 -1
  221. package/dist/modules/agents/builder/skills/external-services.skill.js.map +1 -1
  222. package/dist/modules/agents/entities/agent-checkpoint.entity.d.ts +1 -0
  223. package/dist/modules/agents/entities/agent-checkpoint.entity.js +10 -1
  224. package/dist/modules/agents/entities/agent-checkpoint.entity.js.map +1 -1
  225. package/dist/modules/agents/instance-ai-builder-delegate.adapter.d.ts +1 -1
  226. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js +3 -3
  227. package/dist/modules/agents/instance-ai-builder-delegate.adapter.js.map +1 -1
  228. package/dist/modules/agents/integrations/agent-chat-bridge.d.ts +11 -24
  229. package/dist/modules/agents/integrations/agent-chat-bridge.js +58 -28
  230. package/dist/modules/agents/integrations/agent-chat-bridge.js.map +1 -1
  231. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.d.ts +5 -12
  232. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js +8 -3
  233. package/dist/modules/agents/integrations/agent-chat-hitl-resume-handler.js.map +1 -1
  234. package/dist/modules/agents/integrations/agent-chat-integration.d.ts +2 -1
  235. package/dist/modules/agents/integrations/agent-chat-integration.js.map +1 -1
  236. package/dist/modules/agents/integrations/agent-chat-message-context.d.ts +4 -4
  237. package/dist/modules/agents/integrations/agent-chat-message-context.js +4 -37
  238. package/dist/modules/agents/integrations/agent-chat-message-context.js.map +1 -1
  239. package/dist/modules/agents/integrations/integration-message-context.d.ts +7 -0
  240. package/dist/modules/agents/integrations/integration-message-context.js +115 -0
  241. package/dist/modules/agents/integrations/integration-message-context.js.map +1 -0
  242. package/dist/modules/agents/integrations/integration-message-context.service.d.ts +8 -3
  243. package/dist/modules/agents/integrations/integration-message-context.service.js +36 -58
  244. package/dist/modules/agents/integrations/integration-message-context.service.js.map +1 -1
  245. package/dist/modules/agents/integrations/integration-tool-definitions.js +1 -1
  246. package/dist/modules/agents/integrations/integration-tool-definitions.js.map +1 -1
  247. package/dist/modules/agents/integrations/integration-tool-execution.d.ts +0 -1
  248. package/dist/modules/agents/integrations/integration-tool-execution.js +19 -42
  249. package/dist/modules/agents/integrations/integration-tool-execution.js.map +1 -1
  250. package/dist/modules/agents/integrations/integration-tool-factory.d.ts +0 -1
  251. package/dist/modules/agents/integrations/integration-tool-factory.js +1 -3
  252. package/dist/modules/agents/integrations/integration-tool-factory.js.map +1 -1
  253. package/dist/modules/agents/integrations/integration-tool-types.d.ts +13 -0
  254. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js +4 -2
  255. package/dist/modules/agents/integrations/n8n-checkpoint-storage.js.map +1 -1
  256. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.d.ts +2 -0
  257. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js +40 -0
  258. package/dist/modules/agents/integrations/platforms/telegram-bridge-behavior.js.map +1 -1
  259. package/dist/modules/agents/integrations/platforms/telegram-integration.d.ts +1 -0
  260. package/dist/modules/agents/integrations/platforms/telegram-integration.js +4 -0
  261. package/dist/modules/agents/integrations/platforms/telegram-integration.js.map +1 -1
  262. package/dist/modules/agents/repositories/agent-checkpoint.repository.d.ts +1 -1
  263. package/dist/modules/agents/repositories/agent-checkpoint.repository.js +2 -2
  264. package/dist/modules/agents/repositories/agent-checkpoint.repository.js.map +1 -1
  265. package/dist/modules/agents/repositories/agent-execution.repository.d.ts +2 -1
  266. package/dist/modules/agents/repositories/agent-execution.repository.js +7 -4
  267. package/dist/modules/agents/repositories/agent-execution.repository.js.map +1 -1
  268. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js +3 -0
  269. package/dist/modules/agents/sub-agents/delegate-sub-agent-tool.js.map +1 -1
  270. package/dist/modules/agents/sub-agents/sub-agent-runner.d.ts +3 -4
  271. package/dist/modules/agents/sub-agents/sub-agent-runner.js +95 -151
  272. package/dist/modules/agents/sub-agents/sub-agent-runner.js.map +1 -1
  273. package/dist/modules/agents/tools/workflow-tool-factory.js +1 -1
  274. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  275. package/dist/modules/agents/utils/agent-credential-provider.d.ts +1 -1
  276. package/dist/modules/agents/utils/agent-credential-provider.js +2 -2
  277. package/dist/modules/agents/utils/agent-credential-provider.js.map +1 -1
  278. package/dist/modules/agents/utils/execution-to-message-mapper.d.ts +1 -1
  279. package/dist/modules/agents/utils/execution-to-message-mapper.js +3 -0
  280. package/dist/modules/agents/utils/execution-to-message-mapper.js.map +1 -1
  281. package/dist/modules/agents/utils/mcp-attribution.js +3 -1
  282. package/dist/modules/agents/utils/mcp-attribution.js.map +1 -1
  283. package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.d.ts +2 -2
  284. package/dist/modules/breaking-changes/breaking-changes.migration-registry.service.js.map +1 -1
  285. package/dist/modules/breaking-changes/breaking-changes.migration.service.d.ts +4 -11
  286. package/dist/modules/breaking-changes/breaking-changes.migration.service.js +52 -28
  287. package/dist/modules/breaking-changes/breaking-changes.migration.service.js.map +1 -1
  288. package/dist/modules/breaking-changes/detection-report.d.ts +5 -0
  289. package/dist/modules/breaking-changes/detection-report.js +18 -0
  290. package/dist/modules/breaking-changes/detection-report.js.map +1 -0
  291. package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.d.ts +2 -0
  292. package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.js +159 -0
  293. package/dist/modules/breaking-changes/migrations/execute-workflow-each-to-loop.migration.js.map +1 -0
  294. package/dist/modules/breaking-changes/migrations/index.d.ts +2 -2
  295. package/dist/modules/breaking-changes/migrations/index.js +2 -1
  296. package/dist/modules/breaking-changes/migrations/index.js.map +1 -1
  297. package/dist/modules/breaking-changes/migrations/node-migration.d.ts +30 -1
  298. package/dist/modules/breaking-changes/migrations/node-migration.js +12 -0
  299. package/dist/modules/breaking-changes/migrations/node-migration.js.map +1 -1
  300. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js +2 -1
  301. package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -1
  302. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js +6 -12
  303. package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -1
  304. package/dist/modules/breaking-changes/rules/v3/agent-node-version.rule.js +6 -12
  305. package/dist/modules/breaking-changes/rules/v3/agent-node-version.rule.js.map +1 -1
  306. package/dist/modules/breaking-changes/rules/v3/agent-removed-modes.rule.js +7 -13
  307. package/dist/modules/breaking-changes/rules/v3/agent-removed-modes.rule.js.map +1 -1
  308. package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js +6 -12
  309. package/dist/modules/breaking-changes/rules/v3/ai-transform-deprecated.rule.js.map +1 -1
  310. package/dist/modules/breaking-changes/rules/v3/always-output-data-multi-output.rule.js +6 -13
  311. package/dist/modules/breaking-changes/rules/v3/always-output-data-multi-output.rule.js.map +1 -1
  312. package/dist/modules/breaking-changes/rules/v3/caller-policy-default-any.rule.js +2 -1
  313. package/dist/modules/breaking-changes/rules/v3/caller-policy-default-any.rule.js.map +1 -1
  314. package/dist/modules/breaking-changes/rules/v3/chat-hub-deprecated.rule.js +2 -1
  315. package/dist/modules/breaking-changes/rules/v3/chat-hub-deprecated.rule.js.map +1 -1
  316. package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js +6 -12
  317. package/dist/modules/breaking-changes/rules/v3/chat-trigger-embedded-json.rule.js.map +1 -1
  318. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js +2 -1
  319. package/dist/modules/breaking-changes/rules/v3/compression-node-limits.rule.js.map +1 -1
  320. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js +2 -1
  321. package/dist/modules/breaking-changes/rules/v3/docker-only-deployment.rule.js.map +1 -1
  322. package/dist/modules/breaking-changes/rules/v3/execute-workflow-each-mode.rule.js +6 -12
  323. package/dist/modules/breaking-changes/rules/v3/execute-workflow-each-mode.rule.js.map +1 -1
  324. package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js +6 -12
  325. package/dist/modules/breaking-changes/rules/v3/execute-workflow-source-modes.rule.js.map +1 -1
  326. package/dist/modules/breaking-changes/rules/v3/external-secrets-project-roles-default.rule.js +3 -2
  327. package/dist/modules/breaking-changes/rules/v3/external-secrets-project-roles-default.rule.js.map +1 -1
  328. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js +6 -12
  329. package/dist/modules/breaking-changes/rules/v3/get-paired-item.rule.js.map +1 -1
  330. package/dist/modules/breaking-changes/rules/v3/gmail-trigger-version.rule.js +6 -12
  331. package/dist/modules/breaking-changes/rules/v3/gmail-trigger-version.rule.js.map +1 -1
  332. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js +2 -1
  333. package/dist/modules/breaking-changes/rules/v3/in-memory-binary-data.rule.js.map +1 -1
  334. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js +2 -1
  335. package/dist/modules/breaking-changes/rules/v3/offload-manual-executions.rule.js.map +1 -1
  336. package/dist/modules/breaking-changes/rules/v3/pre-execute-error-creates-execution.rule.js +2 -1
  337. package/dist/modules/breaking-changes/rules/v3/pre-execute-error-creates-execution.rule.js.map +1 -1
  338. package/dist/modules/breaking-changes/rules/v3/ssrf-default-blocked-ranges.rule.js +2 -1
  339. package/dist/modules/breaking-changes/rules/v3/ssrf-default-blocked-ranges.rule.js.map +1 -1
  340. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js +2 -1
  341. package/dist/modules/breaking-changes/rules/v3/task-runner-task-timeout.rule.js.map +1 -1
  342. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js +2 -1
  343. package/dist/modules/breaking-changes/rules/v3/unverified-packages.rule.js.map +1 -1
  344. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
  345. package/dist/modules/chat-hub/chat-hub-workflow.service.js +7 -2
  346. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  347. package/dist/modules/chat-hub/chat-hub.attachment.service.js +3 -1
  348. package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -1
  349. package/dist/modules/community-packages/community-node-types-utils.d.ts +2 -2
  350. package/dist/modules/community-packages/community-node-types-utils.js +4 -2
  351. package/dist/modules/community-packages/community-node-types-utils.js.map +1 -1
  352. package/dist/modules/community-packages/community-node-types.service.d.ts +1 -0
  353. package/dist/modules/community-packages/community-node-types.service.js +12 -6
  354. package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
  355. package/dist/modules/community-packages/community-packages.config.d.ts +1 -0
  356. package/dist/modules/community-packages/community-packages.config.js +2 -0
  357. package/dist/modules/community-packages/community-packages.config.js.map +1 -1
  358. package/dist/modules/community-packages/community-packages.lifecycle.service.d.ts +2 -1
  359. package/dist/modules/community-packages/community-packages.lifecycle.service.js +23 -18
  360. package/dist/modules/community-packages/community-packages.lifecycle.service.js.map +1 -1
  361. package/dist/modules/community-packages/community-packages.service.d.ts +1 -0
  362. package/dist/modules/community-packages/community-packages.service.js +33 -2
  363. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  364. package/dist/modules/engine-v2/engine-data-plane-client.d.ts +2 -1
  365. package/dist/modules/engine-v2/engine-data-plane-client.js +14 -0
  366. package/dist/modules/engine-v2/engine-data-plane-client.js.map +1 -1
  367. package/dist/modules/engine-v2/engine-v2.module.d.ts +1 -0
  368. package/dist/modules/engine-v2/engine-v2.module.js +11 -2
  369. package/dist/modules/engine-v2/engine-v2.module.js.map +1 -1
  370. package/dist/modules/engine-v2/engine-v2.runtime.d.ts +11 -2
  371. package/dist/modules/engine-v2/engine-v2.runtime.js +29 -11
  372. package/dist/modules/engine-v2/engine-v2.runtime.js.map +1 -1
  373. package/dist/modules/external-secrets.ee/constants.d.ts +0 -1
  374. package/dist/modules/external-secrets.ee/constants.js +1 -2
  375. package/dist/modules/external-secrets.ee/constants.js.map +1 -1
  376. package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.d.ts +1 -2
  377. package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js +28 -29
  378. package/dist/modules/external-secrets.ee/external-secrets-provider-connection-manager.ee.js.map +1 -1
  379. package/dist/modules/external-secrets.ee/external-secrets.config.d.ts +2 -0
  380. package/dist/modules/external-secrets.ee/external-secrets.config.js +12 -0
  381. package/dist/modules/external-secrets.ee/external-secrets.config.js.map +1 -1
  382. package/dist/modules/external-secrets.ee/provider-lifecycle.service.js +1 -1
  383. package/dist/modules/external-secrets.ee/provider-lifecycle.service.js.map +1 -1
  384. package/dist/modules/external-secrets.ee/providers/infisical.js +6 -2
  385. package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
  386. package/dist/modules/external-secrets.ee/providers/vault.d.ts +1 -0
  387. package/dist/modules/external-secrets.ee/providers/vault.js +43 -13
  388. package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
  389. package/dist/modules/external-secrets.ee/retry-manager.service.js +9 -1
  390. package/dist/modules/external-secrets.ee/retry-manager.service.js.map +1 -1
  391. package/dist/modules/external-secrets.ee/secrets-cache.service.d.ts +5 -2
  392. package/dist/modules/external-secrets.ee/secrets-cache.service.js +23 -20
  393. package/dist/modules/external-secrets.ee/secrets-cache.service.js.map +1 -1
  394. package/dist/modules/external-secrets.ee/types.d.ts +1 -0
  395. package/dist/modules/external-secrets.ee/types.js +7 -1
  396. package/dist/modules/external-secrets.ee/types.js.map +1 -1
  397. package/dist/modules/external-secrets.ee/with-timeout.d.ts +4 -0
  398. package/dist/modules/external-secrets.ee/with-timeout.js +21 -0
  399. package/dist/modules/external-secrets.ee/with-timeout.js.map +1 -0
  400. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +3 -2
  401. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +4 -3
  402. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  403. package/dist/modules/insights/insights-collection.service.js +10 -2
  404. package/dist/modules/insights/insights-collection.service.js.map +1 -1
  405. package/dist/modules/insights/insights.module.d.ts +1 -1
  406. package/dist/modules/instance-ai/computer-use-availability.d.ts +14 -0
  407. package/dist/modules/instance-ai/computer-use-availability.js +42 -0
  408. package/dist/modules/instance-ai/computer-use-availability.js.map +1 -0
  409. package/dist/modules/instance-ai/eval/agent-execution.service.js +1 -1
  410. package/dist/modules/instance-ai/eval/agent-execution.service.js.map +1 -1
  411. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.d.ts +4 -2
  412. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js +17 -3
  413. package/dist/modules/instance-ai/eval/eval-mocked-credentials-helper.js.map +1 -1
  414. package/dist/modules/instance-ai/eval/execution.service.js +14 -4
  415. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  416. package/dist/modules/instance-ai/eval/thread-restore.service.d.ts +9 -3
  417. package/dist/modules/instance-ai/eval/thread-restore.service.js +75 -7
  418. package/dist/modules/instance-ai/eval/thread-restore.service.js.map +1 -1
  419. package/dist/modules/instance-ai/eval/workflow-analysis.d.ts +3 -1
  420. package/dist/modules/instance-ai/eval/workflow-analysis.js +16 -2
  421. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
  422. package/dist/modules/instance-ai/instance-ai-conversation-history.service.js +1 -1
  423. package/dist/modules/instance-ai/instance-ai-conversation-history.service.js.map +1 -1
  424. package/dist/modules/instance-ai/instance-ai-execution-wait.d.ts +14 -0
  425. package/dist/modules/instance-ai/instance-ai-execution-wait.js +66 -0
  426. package/dist/modules/instance-ai/instance-ai-execution-wait.js.map +1 -0
  427. package/dist/modules/instance-ai/instance-ai-settings.service.js +1 -4
  428. package/dist/modules/instance-ai/instance-ai-settings.service.js.map +1 -1
  429. package/dist/modules/instance-ai/instance-ai-step-run.d.ts +32 -0
  430. package/dist/modules/instance-ai/instance-ai-step-run.js +135 -0
  431. package/dist/modules/instance-ai/instance-ai-step-run.js.map +1 -0
  432. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +9 -2
  433. package/dist/modules/instance-ai/instance-ai.adapter.service.js +305 -92
  434. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  435. package/dist/modules/instance-ai/instance-ai.controller.d.ts +1 -0
  436. package/dist/modules/instance-ai/instance-ai.controller.js +17 -4
  437. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  438. package/dist/modules/instance-ai/instance-ai.service.d.ts +4 -4
  439. package/dist/modules/instance-ai/instance-ai.service.js +85 -121
  440. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  441. package/dist/modules/instance-ai/instance-context.service.d.ts +39 -10
  442. package/dist/modules/instance-ai/instance-context.service.js +283 -69
  443. package/dist/modules/instance-ai/instance-context.service.js.map +1 -1
  444. package/dist/modules/instance-ai/internal-messages.d.ts +11 -2
  445. package/dist/modules/instance-ai/internal-messages.js +183 -16
  446. package/dist/modules/instance-ai/internal-messages.js.map +1 -1
  447. package/dist/modules/instance-ai/message-parser.js.map +1 -1
  448. package/dist/modules/instance-registry/instance-registry.module.d.ts +2 -2
  449. package/dist/modules/instance-registry/instance-registry.module.js +5 -1
  450. package/dist/modules/instance-registry/instance-registry.module.js.map +1 -1
  451. package/dist/modules/instance-registry/stale-member-cleanup.task.d.ts +1 -1
  452. package/dist/modules/instance-registry/stale-member-cleanup.task.js +1 -1
  453. package/dist/modules/instance-registry/stale-member-cleanup.task.js.map +1 -1
  454. package/dist/modules/instance-registry/storage/redis-instance-storage.js +2 -10
  455. package/dist/modules/instance-registry/storage/redis-instance-storage.js.map +1 -1
  456. package/dist/modules/mcp/mcp-post-save-metrics.service.d.ts +10 -0
  457. package/dist/modules/mcp/mcp-post-save-metrics.service.js +40 -0
  458. package/dist/modules/mcp/mcp-post-save-metrics.service.js.map +1 -0
  459. package/dist/modules/mcp/mcp-protected-resource.d.ts +5 -2
  460. package/dist/modules/mcp/mcp-protected-resource.js +25 -4
  461. package/dist/modules/mcp/mcp-protected-resource.js.map +1 -1
  462. package/dist/modules/mcp/mcp-scopes.d.ts +3 -0
  463. package/dist/modules/mcp/mcp-scopes.js +21 -1
  464. package/dist/modules/mcp/mcp-scopes.js.map +1 -1
  465. package/dist/modules/mcp/mcp-tool-availability.d.ts +7 -0
  466. package/dist/modules/mcp/mcp-tool-availability.js +11 -0
  467. package/dist/modules/mcp/mcp-tool-availability.js.map +1 -1
  468. package/dist/modules/mcp/mcp.config.d.ts +1 -0
  469. package/dist/modules/mcp/mcp.config.js +5 -0
  470. package/dist/modules/mcp/mcp.config.js.map +1 -1
  471. package/dist/modules/mcp/mcp.constants.d.ts +6 -0
  472. package/dist/modules/mcp/mcp.constants.js +7 -1
  473. package/dist/modules/mcp/mcp.constants.js.map +1 -1
  474. package/dist/modules/mcp/mcp.controller.js +3 -6
  475. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  476. package/dist/modules/mcp/mcp.service.d.ts +11 -7
  477. package/dist/modules/mcp/mcp.service.js +116 -43
  478. package/dist/modules/mcp/mcp.service.js.map +1 -1
  479. package/dist/modules/mcp/mcp.types.d.ts +0 -1
  480. package/dist/modules/mcp/tools/get-instance-context.tool.d.ts +29 -0
  481. package/dist/modules/mcp/tools/get-instance-context.tool.js +109 -0
  482. package/dist/modules/mcp/tools/get-instance-context.tool.js.map +1 -0
  483. package/dist/modules/mcp/tools/get-node-usage.tool.d.ts +13 -0
  484. package/dist/modules/mcp/tools/get-node-usage.tool.js +117 -0
  485. package/dist/modules/mcp/tools/get-node-usage.tool.js.map +1 -0
  486. package/dist/modules/mcp/tools/get-user-preferences.tool.d.ts +10 -0
  487. package/dist/modules/mcp/tools/get-user-preferences.tool.js +108 -0
  488. package/dist/modules/mcp/tools/get-user-preferences.tool.js.map +1 -0
  489. package/dist/modules/mcp/tools/instance-activity.tool.d.ts +27 -0
  490. package/dist/modules/mcp/tools/instance-activity.tool.js +205 -0
  491. package/dist/modules/mcp/tools/instance-activity.tool.js.map +1 -0
  492. package/dist/modules/mcp/tools/list-credentials.tool.d.ts +63 -13
  493. package/dist/modules/mcp/tools/list-credentials.tool.js +8 -1
  494. package/dist/modules/mcp/tools/list-credentials.tool.js.map +1 -1
  495. package/dist/modules/mcp/tools/search-executions.tool.d.ts +3 -3
  496. package/dist/modules/mcp/tools/search-executions.tool.js +22 -14
  497. package/dist/modules/mcp/tools/search-executions.tool.js.map +1 -1
  498. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.d.ts +8 -4
  499. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +128 -70
  500. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  501. package/dist/modules/mcp/tools/workflow-builder/error-code.utils.d.ts +1 -0
  502. package/dist/modules/mcp/tools/workflow-builder/error-code.utils.js +22 -0
  503. package/dist/modules/mcp/tools/workflow-builder/error-code.utils.js.map +1 -0
  504. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.d.ts +1 -3
  505. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js +5 -6
  506. package/dist/modules/mcp/tools/workflow-builder/get-workflow-best-practices.tool.js.map +1 -1
  507. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.d.ts +1 -1
  508. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js +2 -2
  509. package/dist/modules/mcp/tools/workflow-builder/get-workflow-node-types.tool.js.map +1 -1
  510. package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.d.ts +2 -5
  511. package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js +10 -16
  512. package/dist/modules/mcp/tools/workflow-builder/get-workflow-sdk-reference.tool.js.map +1 -1
  513. package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.d.ts +12 -0
  514. package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.js +140 -0
  515. package/dist/modules/mcp/tools/workflow-builder/install-community-node.tool.js.map +1 -0
  516. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.d.ts +2 -2
  517. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js +17 -9
  518. package/dist/modules/mcp/tools/workflow-builder/mcp-instructions.js.map +1 -1
  519. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.d.ts +1 -3
  520. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js +2 -6
  521. package/dist/modules/mcp/tools/workflow-builder/sdk-reference-content.js.map +1 -1
  522. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.d.ts +1 -1
  523. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js +9 -8
  524. package/dist/modules/mcp/tools/workflow-builder/search-workflow-nodes.tool.js.map +1 -1
  525. package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.d.ts +13 -0
  526. package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.js +23 -0
  527. package/dist/modules/mcp/tools/workflow-builder/uninstalled-node-warnings.js.map +1 -0
  528. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +18 -14
  529. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +200 -87
  530. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  531. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.d.ts +1 -4
  532. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +3 -5
  533. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
  534. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.d.ts +1 -3
  535. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js +2 -2
  536. package/dist/modules/mcp/tools/workflow-builder/workflow-operations.js.map +1 -1
  537. package/dist/modules/mcp-registry/node-description-transform.js +3 -0
  538. package/dist/modules/mcp-registry/node-description-transform.js.map +1 -1
  539. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js +1 -1
  540. package/dist/modules/mcp-registry/registry/mcp-registry-api.client.js.map +1 -1
  541. package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.d.ts +6 -0
  542. package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.js +34 -0
  543. package/dist/modules/mcp-registry/registry/mcp-registry-capabilities.js.map +1 -0
  544. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.d.ts +1 -0
  545. package/dist/modules/mcp-registry/registry/mcp-registry-server.entity.js.map +1 -1
  546. package/dist/modules/mcp-registry/registry/mcp-registry.service.d.ts +4 -1
  547. package/dist/modules/mcp-registry/registry/mcp-registry.service.js +20 -9
  548. package/dist/modules/mcp-registry/registry/mcp-registry.service.js.map +1 -1
  549. package/dist/modules/mcp-registry/registry/mcp-registry.types.d.ts +3 -0
  550. package/dist/modules/mcp-registry/registry/mcp-registry.types.js +1 -0
  551. package/dist/modules/mcp-registry/registry/mcp-registry.types.js.map +1 -1
  552. package/dist/modules/n8n-packages/engine/n8n-package-parser.js +1 -1
  553. package/dist/modules/n8n-packages/engine/n8n-package-parser.js.map +1 -1
  554. package/dist/modules/n8n-packages/entities/credential/credential.serializer.js.map +1 -1
  555. package/dist/modules/n8n-packages/entities/variable/variable-requirements.extractor.d.ts +8 -2
  556. package/dist/modules/n8n-packages/entities/variable/variable-requirements.extractor.js.map +1 -1
  557. package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.d.ts +1 -1
  558. package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.js +2 -2
  559. package/dist/modules/n8n-packages/entities/workflow/workflow-published-state.js.map +1 -1
  560. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.d.ts +1 -2
  561. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js +4 -2
  562. package/dist/modules/n8n-packages/entities/workflow/workflow.serializer.js.map +1 -1
  563. package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.d.ts +43 -0
  564. package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.js +177 -0
  565. package/dist/modules/n8n-packages/io/directory/package-directory-inventory-reader.js.map +1 -0
  566. package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.d.ts +3 -0
  567. package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.js +1 -0
  568. package/dist/modules/n8n-packages/spec/serialized/workflow-metadata.schema.js.map +1 -1
  569. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.d.ts +0 -3
  570. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js +0 -1
  571. package/dist/modules/n8n-packages/spec/serialized/workflow.schema.js.map +1 -1
  572. package/dist/modules/oauth-jwe/oauth-jwe-key.service.d.ts +1 -0
  573. package/dist/modules/oauth-jwe/oauth-jwe-key.service.js +10 -3
  574. package/dist/modules/oauth-jwe/oauth-jwe-key.service.js.map +1 -1
  575. package/dist/modules/oauth-server/oauth-clients.controller.js +1 -1
  576. package/dist/modules/oauth-server/oauth-clients.controller.js.map +1 -1
  577. package/dist/modules/oauth-server/oauth-consent.service.d.ts +1 -0
  578. package/dist/modules/oauth-server/oauth-consent.service.js +21 -10
  579. package/dist/modules/oauth-server/oauth-consent.service.js.map +1 -1
  580. package/dist/modules/oauth-server/oauth-server.service.d.ts +1 -1
  581. package/dist/modules/oauth-server/oauth-server.service.js +2 -2
  582. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  583. package/dist/modules/oauth-server/oauth-token.service.d.ts +3 -1
  584. package/dist/modules/oauth-server/oauth-token.service.js +10 -2
  585. package/dist/modules/oauth-server/oauth-token.service.js.map +1 -1
  586. package/dist/modules/policy-infrastructure/policy-decision-audit.d.ts +1 -1
  587. package/dist/modules/policy-infrastructure/policy-decision-audit.js +8 -1
  588. package/dist/modules/policy-infrastructure/policy-decision-audit.js.map +1 -1
  589. package/dist/modules/policy-infrastructure/policy-decision.service.js +1 -0
  590. package/dist/modules/policy-infrastructure/policy-decision.service.js.map +1 -1
  591. package/dist/modules/promotions.ee/base-branch-files.d.ts +2 -2
  592. package/dist/modules/promotions.ee/base-branch-files.js +2 -3
  593. package/dist/modules/promotions.ee/base-branch-files.js.map +1 -1
  594. package/dist/modules/promotions.ee/constants.d.ts +1 -0
  595. package/dist/modules/promotions.ee/constants.js +2 -1
  596. package/dist/modules/promotions.ee/constants.js.map +1 -1
  597. package/dist/modules/promotions.ee/database/repositories/promotion-provider.repository.js +1 -14
  598. package/dist/modules/promotions.ee/database/repositories/promotion-provider.repository.js.map +1 -1
  599. package/dist/modules/promotions.ee/promotion-binding-preflight.service.d.ts +22 -0
  600. package/dist/modules/promotions.ee/promotion-binding-preflight.service.js +264 -0
  601. package/dist/modules/promotions.ee/promotion-binding-preflight.service.js.map +1 -0
  602. package/dist/modules/promotions.ee/promotion-change.service.d.ts +8 -3
  603. package/dist/modules/promotions.ee/promotion-change.service.js +133 -24
  604. package/dist/modules/promotions.ee/promotion-change.service.js.map +1 -1
  605. package/dist/modules/promotions.ee/promotion-changes.controller.d.ts +2 -2
  606. package/dist/modules/promotions.ee/promotion-changes.controller.js +10 -12
  607. package/dist/modules/promotions.ee/promotion-changes.controller.js.map +1 -1
  608. package/dist/modules/promotions.ee/promotion-connections.service.d.ts +48 -2
  609. package/dist/modules/promotions.ee/promotion-connections.service.js +66 -14
  610. package/dist/modules/promotions.ee/promotion-connections.service.js.map +1 -1
  611. package/dist/modules/promotions.ee/promotions-git.service.d.ts +8 -1
  612. package/dist/modules/promotions.ee/promotions-git.service.js +27 -9
  613. package/dist/modules/promotions.ee/promotions-git.service.js.map +1 -1
  614. package/dist/modules/promotions.ee/promotions-git.utils.d.ts +8 -2
  615. package/dist/modules/promotions.ee/promotions-git.utils.js +10 -0
  616. package/dist/modules/promotions.ee/promotions-git.utils.js.map +1 -1
  617. package/dist/modules/promotions.ee/promotions.service.d.ts +9 -5
  618. package/dist/modules/promotions.ee/promotions.service.js +78 -21
  619. package/dist/modules/promotions.ee/promotions.service.js.map +1 -1
  620. package/dist/modules/promotions.ee/promotions.types.d.ts +6 -0
  621. package/dist/modules/promotions.ee/promotions.types.js.map +1 -1
  622. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js +1 -0
  623. package/dist/modules/token-exchange/database/repositories/token-exchange-jti.repository.js.map +1 -1
  624. package/dist/modules/token-exchange/services/jti-cleanup.task.d.ts +1 -1
  625. package/dist/modules/token-exchange/services/jti-cleanup.task.js +1 -1
  626. package/dist/modules/token-exchange/services/jti-cleanup.task.js.map +1 -1
  627. package/dist/modules/type-availability-policies/constants.d.ts +1 -0
  628. package/dist/modules/type-availability-policies/constants.js +2 -1
  629. package/dist/modules/type-availability-policies/constants.js.map +1 -1
  630. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js +2 -1
  631. package/dist/modules/type-availability-policies/database/entities/type-availability-policy.entity.js.map +1 -1
  632. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.d.ts +2 -1
  633. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js +12 -0
  634. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy-scope.repository.js.map +1 -1
  635. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.d.ts +5 -1
  636. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js +11 -2
  637. package/dist/modules/type-availability-policies/database/repositories/type-availability-policy.repository.js.map +1 -1
  638. package/dist/modules/type-availability-policies/node-type-policy.check.d.ts +17 -0
  639. package/dist/modules/type-availability-policies/node-type-policy.check.js +87 -0
  640. package/dist/modules/type-availability-policies/node-type-policy.check.js.map +1 -0
  641. package/dist/modules/type-availability-policies/package-resolver.d.ts +4 -0
  642. package/dist/modules/type-availability-policies/package-resolver.js +26 -0
  643. package/dist/modules/type-availability-policies/package-resolver.js.map +1 -0
  644. package/dist/modules/type-availability-policies/policy-evaluator.d.ts +6 -4
  645. package/dist/modules/type-availability-policies/policy-evaluator.js +16 -13
  646. package/dist/modules/type-availability-policies/policy-evaluator.js.map +1 -1
  647. package/dist/modules/type-availability-policies/policy-rule.types.d.ts +4 -0
  648. package/dist/modules/type-availability-policies/policy-shadow-lint.d.ts +2 -1
  649. package/dist/modules/type-availability-policies/policy-shadow-lint.js +7 -5
  650. package/dist/modules/type-availability-policies/policy-shadow-lint.js.map +1 -1
  651. package/dist/modules/type-availability-policies/type-availability-policies.module.d.ts +1 -1
  652. package/dist/modules/type-availability-policies/type-availability-policies.module.js +1 -0
  653. package/dist/modules/type-availability-policies/type-availability-policies.module.js.map +1 -1
  654. package/dist/modules/type-availability-policies/type-availability-policy-instance.controller.js +3 -3
  655. package/dist/modules/type-availability-policies/type-availability-policy-instance.controller.js.map +1 -1
  656. package/dist/modules/type-availability-policies/type-availability-policy.service.d.ts +33 -4
  657. package/dist/modules/type-availability-policies/type-availability-policy.service.js +189 -28
  658. package/dist/modules/type-availability-policies/type-availability-policy.service.js.map +1 -1
  659. package/dist/modules/workflow-index/workflow-index.service.js +5 -2
  660. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  661. package/dist/node-catalog/index.d.ts +1 -1
  662. package/dist/node-catalog/index.js.map +1 -1
  663. package/dist/node-catalog/node-catalog.service.d.ts +28 -4
  664. package/dist/node-catalog/node-catalog.service.js +202 -7
  665. package/dist/node-catalog/node-catalog.service.js.map +1 -1
  666. package/dist/node-catalog/registry-lookup.d.ts +12 -0
  667. package/dist/node-catalog/registry-lookup.js +68 -0
  668. package/dist/node-catalog/registry-lookup.js.map +1 -0
  669. package/dist/node-execution/execute-node.service.d.ts +72 -0
  670. package/dist/node-execution/execute-node.service.js +297 -0
  671. package/dist/node-execution/execute-node.service.js.map +1 -0
  672. package/dist/node-execution/index.d.ts +2 -0
  673. package/dist/node-execution/index.js +5 -1
  674. package/dist/node-execution/index.js.map +1 -1
  675. package/dist/oauth/dcr-managed-fields.d.ts +1 -1
  676. package/dist/oauth/dcr-managed-fields.js +4 -2
  677. package/dist/oauth/dcr-managed-fields.js.map +1 -1
  678. package/dist/policy/policy-enforcement-backend.d.ts +2 -1
  679. package/dist/policy/policy-enforcement.service.d.ts +3 -1
  680. package/dist/policy/policy-enforcement.service.js +9 -0
  681. package/dist/policy/policy-enforcement.service.js.map +1 -1
  682. package/dist/posthog/index.d.ts +1 -0
  683. package/dist/posthog/index.js +35 -14
  684. package/dist/posthog/index.js.map +1 -1
  685. package/dist/public-api/constants.d.ts +1 -0
  686. package/dist/public-api/constants.js +5 -0
  687. package/dist/public-api/constants.js.map +1 -0
  688. package/dist/public-api/public-api-controller.registry.d.ts +1 -0
  689. package/dist/public-api/public-api-controller.registry.js +15 -0
  690. package/dist/public-api/public-api-controller.registry.js.map +1 -1
  691. package/dist/public-api/types.d.ts +2 -27
  692. package/dist/public-api/v1/controllers/credentials.public.controller.d.ts +3 -1
  693. package/dist/public-api/v1/controllers/credentials.public.controller.js +52 -1
  694. package/dist/public-api/v1/controllers/credentials.public.controller.js.map +1 -1
  695. package/dist/public-api/v1/controllers/executions.public.controller.js +3 -3
  696. package/dist/public-api/v1/controllers/executions.public.controller.js.map +1 -1
  697. package/dist/public-api/v1/controllers/folders.public.controller.d.ts +10 -0
  698. package/dist/public-api/v1/controllers/folders.public.controller.js +121 -0
  699. package/dist/public-api/v1/controllers/folders.public.controller.js.map +1 -0
  700. package/dist/public-api/v1/controllers/index.d.ts +2 -0
  701. package/dist/public-api/v1/controllers/index.js +2 -0
  702. package/dist/public-api/v1/controllers/index.js.map +1 -1
  703. package/dist/public-api/v1/controllers/insights.public.controller.d.ts +9 -0
  704. package/dist/public-api/v1/controllers/insights.public.controller.js +69 -0
  705. package/dist/public-api/v1/controllers/insights.public.controller.js.map +1 -0
  706. package/dist/public-api/v1/controllers/node-type-policies.public.controller.d.ts +11 -5
  707. package/dist/public-api/v1/controllers/node-type-policies.public.controller.js +152 -4
  708. package/dist/public-api/v1/controllers/node-type-policies.public.controller.js.map +1 -1
  709. package/dist/public-api/v1/controllers/promotions.public.controller.d.ts +5 -2
  710. package/dist/public-api/v1/controllers/promotions.public.controller.js +60 -4
  711. package/dist/public-api/v1/controllers/promotions.public.controller.js.map +1 -1
  712. package/dist/public-api/v1/controllers/roles.public.controller.js +1 -0
  713. package/dist/public-api/v1/controllers/roles.public.controller.js.map +1 -1
  714. package/dist/public-api/v1/controllers/tags.public.controller.d.ts +3 -1
  715. package/dist/public-api/v1/controllers/tags.public.controller.js +61 -0
  716. package/dist/public-api/v1/controllers/tags.public.controller.js.map +1 -1
  717. package/dist/public-api/v1/handlers/credentials/credentials.utils.d.ts +3 -3
  718. package/dist/public-api/v1/handlers/credentials/credentials.utils.js +1 -6
  719. package/dist/public-api/v1/handlers/credentials/credentials.utils.js.map +1 -1
  720. package/dist/public-api/v1/handlers/folders/folders.handler.d.ts +0 -7
  721. package/dist/public-api/v1/handlers/folders/folders.handler.js +0 -29
  722. package/dist/public-api/v1/handlers/folders/folders.handler.js.map +1 -1
  723. package/dist/public-api/v1/openapi.yml +4051 -2008
  724. package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +1 -1
  725. package/dist/public-api/v1/shared/middlewares/global.middleware.js +4 -3
  726. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  727. package/dist/requests.d.ts +1 -0
  728. package/dist/scaling/constants.d.ts +2 -0
  729. package/dist/scaling/constants.js +4 -1
  730. package/dist/scaling/constants.js.map +1 -1
  731. package/dist/scaling/pubsub/subscriber.service.d.ts +5 -0
  732. package/dist/scaling/pubsub/subscriber.service.js +47 -0
  733. package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
  734. package/dist/scheduling/durable-job-provisioner.d.ts +10 -1
  735. package/dist/scheduling/durable-job-provisioner.js +26 -9
  736. package/dist/scheduling/durable-job-provisioner.js.map +1 -1
  737. package/dist/scheduling/durable-scheduler.d.ts +2 -1
  738. package/dist/scheduling/durable-scheduler.js +4 -3
  739. package/dist/scheduling/durable-scheduler.js.map +1 -1
  740. package/dist/scheduling/scheduled-job-owner-registry.d.ts +2 -1
  741. package/dist/scheduling/scheduled-job-owner-registry.js +2 -1
  742. package/dist/scheduling/scheduled-job-owner-registry.js.map +1 -1
  743. package/dist/scheduling/system-tasks/emit-system-task-metric.d.ts +3 -0
  744. package/dist/scheduling/system-tasks/emit-system-task-metric.js +11 -0
  745. package/dist/scheduling/system-tasks/emit-system-task-metric.js.map +1 -0
  746. package/dist/scheduling/system-tasks/system-task-handler.d.ts +5 -1
  747. package/dist/scheduling/system-tasks/system-task-handler.js +9 -8
  748. package/dist/scheduling/system-tasks/system-task-handler.js.map +1 -1
  749. package/dist/scheduling/system-tasks/system-task-job-registrar.d.ts +28 -0
  750. package/dist/scheduling/system-tasks/system-task-job-registrar.js +130 -0
  751. package/dist/scheduling/system-tasks/system-task-job-registrar.js.map +1 -0
  752. package/dist/scheduling/system-tasks/system-task-run-observer.d.ts +13 -0
  753. package/dist/scheduling/system-tasks/system-task-run-observer.js +54 -0
  754. package/dist/scheduling/system-tasks/system-task-run-observer.js.map +1 -0
  755. package/dist/scheduling/system-tasks/system-task-runner.d.ts +13 -3
  756. package/dist/scheduling/system-tasks/system-task-runner.js +85 -15
  757. package/dist/scheduling/system-tasks/system-task-runner.js.map +1 -1
  758. package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.d.ts +13 -0
  759. package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.js +51 -0
  760. package/dist/scheduling/system-tasks/system-task-scheduled-job-owner.js.map +1 -0
  761. package/dist/scheduling/system-tasks/system-task-timer.d.ts +3 -1
  762. package/dist/scheduling/system-tasks/system-task-timer.js +33 -9
  763. package/dist/scheduling/system-tasks/system-task-timer.js.map +1 -1
  764. package/dist/scheduling/system-tasks/system-task-version-stamp.d.ts +5 -0
  765. package/dist/scheduling/system-tasks/system-task-version-stamp.js +14 -0
  766. package/dist/scheduling/system-tasks/system-task-version-stamp.js.map +1 -0
  767. package/dist/server.d.ts +0 -1
  768. package/dist/server.js +4 -2
  769. package/dist/server.js.map +1 -1
  770. package/dist/services/ai-gateway.service.d.ts +2 -1
  771. package/dist/services/ai-gateway.service.js +7 -4
  772. package/dist/services/ai-gateway.service.js.map +1 -1
  773. package/dist/services/ai-preference.service.d.ts +29 -5
  774. package/dist/services/ai-preference.service.js +119 -20
  775. package/dist/services/ai-preference.service.js.map +1 -1
  776. package/dist/services/credentials-tester.service.js +12 -0
  777. package/dist/services/credentials-tester.service.js.map +1 -1
  778. package/dist/services/engine-data-plane-proxy.service.d.ts +3 -1
  779. package/dist/services/engine-data-plane-proxy.service.js +5 -0
  780. package/dist/services/engine-data-plane-proxy.service.js.map +1 -1
  781. package/dist/services/free-ai-credits.service.d.ts +1 -0
  782. package/dist/services/frontend.service.js +2 -1
  783. package/dist/services/frontend.service.js.map +1 -1
  784. package/dist/services/protected-resource.registry.d.ts +2 -1
  785. package/dist/services/protected-resource.registry.js.map +1 -1
  786. package/dist/services/role.service.js +5 -4
  787. package/dist/services/role.service.js.map +1 -1
  788. package/dist/utils/strapi-utils.d.ts +1 -0
  789. package/dist/utils/strapi-utils.js.map +1 -1
  790. package/dist/wait-tracker.d.ts +5 -0
  791. package/dist/wait-tracker.js +130 -20
  792. package/dist/wait-tracker.js.map +1 -1
  793. package/dist/webhooks/live-webhooks.js +2 -2
  794. package/dist/webhooks/live-webhooks.js.map +1 -1
  795. package/dist/webhooks/test-webhook-registrations.service.d.ts +3 -1
  796. package/dist/webhooks/test-webhook-registrations.service.js +24 -11
  797. package/dist/webhooks/test-webhook-registrations.service.js.map +1 -1
  798. package/dist/webhooks/test-webhooks.d.ts +1 -0
  799. package/dist/webhooks/test-webhooks.js +9 -4
  800. package/dist/webhooks/test-webhooks.js.map +1 -1
  801. package/dist/webhooks/webhook-helpers.d.ts +1 -1
  802. package/dist/webhooks/webhook-helpers.js +113 -92
  803. package/dist/webhooks/webhook-helpers.js.map +1 -1
  804. package/dist/workflow-helpers.d.ts +1 -1
  805. package/dist/workflow-helpers.js +10 -3
  806. package/dist/workflow-helpers.js.map +1 -1
  807. package/dist/workflow-runner.js +104 -7
  808. package/dist/workflow-runner.js.map +1 -1
  809. package/dist/workflows/workflow.service.d.ts +1 -1
  810. package/package.json +42 -36
  811. package/dist/controllers/instance-ai-examples.controller.d.ts +0 -31
  812. package/dist/controllers/instance-ai-examples.controller.js +0 -104
  813. package/dist/controllers/instance-ai-examples.controller.js.map +0 -1
  814. package/dist/instance-ai-examples.data.json +0 -277957
  815. package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +0 -8
  816. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +0 -45
  817. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +0 -1
  818. package/dist/public-api/v1/handlers/insights/insights.handler.d.ts +0 -7
  819. package/dist/public-api/v1/handlers/insights/insights.handler.js +0 -62
  820. package/dist/public-api/v1/handlers/insights/insights.handler.js.map +0 -1
  821. package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +0 -8
  822. package/dist/public-api/v1/handlers/tags/tags.handler.js +0 -46
  823. package/dist/public-api/v1/handlers/tags/tags.handler.js.map +0 -1
@@ -1,12 +1,29 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
- import { GlobalConfig } from '@n8n/config';
3
- import { ActivityEventRepository, ExecutionRepository, WorkflowRepository } from '@n8n/db';
4
- import type { User } from '@n8n/db';
2
+ import { ActivityEventRepository, ExecutionRepository, ProjectRepository, WorkflowRepository } from '@n8n/db';
3
+ import type { ActivityEventCategory, User } from '@n8n/db';
5
4
  import type { InstanceAiActivityEntry, InstanceAiActivityExpansion } from '@n8n/instance-ai';
5
+ import { ProjectService } from '../../services/project.service.ee';
6
+ export type InstanceContextScope = {
7
+ surface: 'conversation';
8
+ projectId?: string;
9
+ } | {
10
+ surface: 'mcp';
11
+ projectId?: string;
12
+ credentialGranted: boolean;
13
+ executionGranted: boolean;
14
+ };
15
+ export type ActivityPage = {
16
+ entries: InstanceAiActivityEntry[];
17
+ hasMore: boolean;
18
+ nextBeforeId?: number;
19
+ };
6
20
  export declare const INSTANCE_CONTEXT_CURSOR = "instanceContext";
7
21
  export type InstanceContextCursor = {
8
22
  activityMark: number;
23
+ activityFloor: number;
24
+ activityCategories: ActivityEventCategory[];
9
25
  activitySeen: number[];
26
+ activitySeenFloor?: number;
10
27
  runsThrough: string;
11
28
  };
12
29
  export declare function readInstanceContextCursor(metadata: Record<string, unknown> | undefined): InstanceContextCursor | null;
@@ -16,33 +33,45 @@ export type InstanceContextBlock = {
16
33
  };
17
34
  export declare class InstanceContextService {
18
35
  private readonly logger;
19
- private readonly globalConfig;
20
36
  private readonly activityEventRepository;
21
37
  private readonly executionRepository;
22
38
  private readonly workflowRepository;
23
- constructor(logger: Logger, globalConfig: GlobalConfig, activityEventRepository: ActivityEventRepository, executionRepository: ExecutionRepository, workflowRepository: WorkflowRepository);
24
- get enabled(): boolean;
39
+ private readonly projectRepository;
40
+ private readonly projectService;
41
+ constructor(logger: Logger, activityEventRepository: ActivityEventRepository, executionRepository: ExecutionRepository, workflowRepository: WorkflowRepository, projectRepository: ProjectRepository, projectService: ProjectService);
25
42
  buildBlock(input: {
26
43
  user: User;
27
- projectId?: string;
44
+ scope: InstanceContextScope;
28
45
  cursor: InstanceContextCursor | null;
29
46
  isMachineFollowUp?: boolean;
47
+ enabled: boolean;
30
48
  now?: Date;
31
49
  }): Promise<InstanceContextBlock | null>;
32
50
  list(input: {
33
51
  user: User;
34
- projectId?: string;
52
+ scope: InstanceContextScope;
35
53
  limit: number;
36
54
  category?: string;
37
55
  resourceId?: string;
38
56
  beforeId?: number;
39
57
  }): Promise<InstanceAiActivityEntry[]>;
58
+ listPage(input: {
59
+ user: User;
60
+ scope: InstanceContextScope;
61
+ limit: number;
62
+ category?: string;
63
+ resourceId?: string;
64
+ beforeId?: number;
65
+ }): Promise<ActivityPage>;
40
66
  expand(input: {
41
67
  id: number;
42
68
  user: User;
43
- projectId?: string;
69
+ scope: InstanceContextScope;
44
70
  }): Promise<InstanceAiActivityExpansion | null>;
45
71
  private readEntries;
46
72
  private readRuns;
47
- private readableProjectIds;
73
+ private resolveScope;
74
+ private credentialReadableProjectIds;
75
+ hasWithheldWorkflows(user: User, scope: InstanceContextScope): Promise<boolean>;
76
+ private withoutWithheldWorkflows;
48
77
  }
@@ -12,72 +12,91 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.InstanceContextService = exports.INSTANCE_CONTEXT_CURSOR = void 0;
13
13
  exports.readInstanceContextCursor = readInstanceContextCursor;
14
14
  const backend_common_1 = require("@n8n/backend-common");
15
- const config_1 = require("@n8n/config");
16
15
  const constants_1 = require("@n8n/constants");
17
16
  const db_1 = require("@n8n/db");
18
17
  const di_1 = require("@n8n/di");
18
+ const permissions_1 = require("@n8n/permissions");
19
19
  const is_record_1 = require("@n8n/utils/is-record");
20
20
  const check_access_1 = require("../../permissions.ee/check-access");
21
+ const project_service_ee_1 = require("../../services/project.service.ee");
21
22
  const internal_messages_1 = require("./internal-messages");
22
23
  const windowSize = 40;
23
24
  const fetchMultiplier = 4;
25
+ const withheldFetchMultiplier = 4;
24
26
  const maxAgeMs = 7 * constants_1.Time.days.toMilliseconds;
27
+ const mcpRunWindowMs = 24 * constants_1.Time.hours.toMilliseconds;
25
28
  const runWorkflowCap = 12;
26
29
  const inventorySize = 8;
27
30
  const resourceHistoryLimit = 20;
28
- const activityLagIds = 200;
29
- const seenIdsCap = activityLagIds;
31
+ const seenIdsCap = 200;
30
32
  const entryFetchLimit = windowSize * fetchMultiplier;
31
33
  exports.INSTANCE_CONTEXT_CURSOR = 'instanceContext';
32
34
  function readInstanceContextCursor(metadata) {
33
35
  const value = metadata?.[exports.INSTANCE_CONTEXT_CURSOR];
34
36
  if (!(0, is_record_1.isRecord)(value))
35
37
  return null;
36
- const { activityMark, activitySeen, runsThrough } = value;
38
+ const { activityMark, activityFloor, activityCategories, activitySeen, runsThrough } = value;
37
39
  if (typeof activityMark !== 'number' || !Number.isFinite(activityMark))
38
40
  return null;
41
+ if (typeof activityFloor !== 'number' || !Number.isFinite(activityFloor))
42
+ return null;
43
+ if (!Array.isArray(activityCategories))
44
+ return null;
39
45
  if (typeof runsThrough !== 'string' || Number.isNaN(Date.parse(runsThrough)))
40
46
  return null;
41
47
  return {
42
48
  activityMark,
49
+ activityFloor,
50
+ activityCategories: activityCategories.filter(isKnownCategory),
43
51
  activitySeen: Array.isArray(activitySeen)
44
52
  ? activitySeen.filter((id) => typeof id === 'number' && Number.isFinite(id))
45
53
  : [],
54
+ ...(typeof value.activitySeenFloor === 'number' && Number.isFinite(value.activitySeenFloor)
55
+ ? { activitySeenFloor: value.activitySeenFloor }
56
+ : {}),
46
57
  runsThrough,
47
58
  };
48
59
  }
49
60
  let InstanceContextService = class InstanceContextService {
50
- constructor(logger, globalConfig, activityEventRepository, executionRepository, workflowRepository) {
61
+ constructor(logger, activityEventRepository, executionRepository, workflowRepository, projectRepository, projectService) {
51
62
  this.logger = logger;
52
- this.globalConfig = globalConfig;
53
63
  this.activityEventRepository = activityEventRepository;
54
64
  this.executionRepository = executionRepository;
55
65
  this.workflowRepository = workflowRepository;
66
+ this.projectRepository = projectRepository;
67
+ this.projectService = projectService;
56
68
  this.logger = this.logger.scoped('instance-ai');
57
69
  }
58
- get enabled() {
59
- return this.globalConfig.instanceAi.instanceContextEnabled;
60
- }
61
70
  async buildBlock(input) {
62
- if (!this.enabled || input.isMachineFollowUp)
71
+ if (!input.enabled)
72
+ return null;
73
+ if (input.isMachineFollowUp)
63
74
  return null;
64
75
  try {
65
76
  const now = input.now ?? new Date();
66
- const isUpdate = input.cursor !== null;
67
- const projectIds = await this.readableProjectIds(input.user, input.projectId);
68
- if (projectIds.length === 0)
77
+ const resolved = await this.resolveScope(input.user, input.scope);
78
+ if (resolved === null)
69
79
  return null;
80
+ const projectIds = resolved.projectIds;
81
+ const mcpVisibleOnly = resolved.surface === 'mcp';
82
+ const cursor = input.cursor;
83
+ const isUpdate = cursor !== null;
70
84
  const [entries, runs, inventory] = await Promise.all([
71
- this.readEntries({ projectIds, cursor: input.cursor, now }),
72
- this.readRuns({ projectIds, cursor: input.cursor, now }),
85
+ this.readEntries({ cursor, now, scope: resolved }),
86
+ resolved.surface === 'mcp' && !resolved.runsVisible
87
+ ? Promise.resolve([])
88
+ : this.readRuns({ projectIds, cursor, now, mcpVisibleOnly }),
73
89
  isUpdate
74
90
  ? Promise.resolve(undefined)
75
- : this.workflowRepository.findRecentForProjects(projectIds, inventorySize),
91
+ : this.workflowRepository.findRecentForProjects(projectIds, inventorySize, {
92
+ mcpVisibleOnly,
93
+ }),
76
94
  ]);
77
95
  if (entries.rows.length === 0 && runs.length === 0 && !inventory?.total)
78
96
  return null;
79
97
  return {
80
98
  block: renderBlock({
99
+ surface: resolved.surface,
81
100
  entries: entries.rows.map((row) => toFeedEntry(row, input.user.id, now)),
82
101
  entriesTruncated: entries.truncated,
83
102
  runs,
@@ -87,38 +106,77 @@ let InstanceContextService = class InstanceContextService {
87
106
  }),
88
107
  cursor: {
89
108
  activityMark: entries.mark,
109
+ activityFloor: entries.floor,
110
+ activityCategories: resolved.allowedCategories,
90
111
  activitySeen: entries.seen,
112
+ activitySeenFloor: entries.seenFloor,
91
113
  runsThrough: now.toISOString(),
92
114
  },
93
115
  };
94
116
  }
95
117
  catch (error) {
96
118
  this.logger.warn('Failed to build the instance-context block', { error });
119
+ if (input.scope.surface === 'mcp')
120
+ throw error;
97
121
  return null;
98
122
  }
99
123
  }
100
124
  async list(input) {
125
+ return (await this.listPage(input)).entries;
126
+ }
127
+ async listPage(input) {
128
+ const empty = { entries: [], hasMore: false };
101
129
  if (input.category !== undefined && !isKnownCategory(input.category))
102
- return [];
103
- const projectIds = await this.readableProjectIds(input.user, input.projectId);
104
- if (projectIds.length === 0)
105
- return [];
130
+ return empty;
131
+ const resolved = await this.resolveScope(input.user, input.scope);
132
+ if (resolved === null)
133
+ return empty;
134
+ const category = resolveCategory(input.category, resolved);
135
+ if (category === null)
136
+ return empty;
137
+ const filtersWithheld = resolved.surface === 'mcp';
138
+ const fetchLimit = filtersWithheld ? input.limit * withheldFetchMultiplier : input.limit;
106
139
  const rows = await this.activityEventRepository.findFeed({
107
- limit: input.limit,
108
- projectIds,
109
- ...(input.category !== undefined ? { category: input.category } : {}),
140
+ limit: fetchLimit,
141
+ projectIds: resolved.projectIds,
142
+ allowedCategories: resolved.allowedCategories,
143
+ ...(category !== undefined ? { filterCategory: category } : {}),
110
144
  ...(input.resourceId !== undefined ? { resourceId: input.resourceId } : {}),
111
145
  ...(input.beforeId !== undefined ? { beforeId: input.beforeId } : {}),
112
146
  });
113
- return rows.map((row) => toActivityEntry(row, input.user.id));
147
+ const visible = filtersWithheld ? await this.withoutWithheldWorkflows(rows, resolved) : rows;
148
+ if (input.resourceId !== undefined && rows.length > 0 && visible.length === 0) {
149
+ return empty;
150
+ }
151
+ const hasMore = visible.length > input.limit || rows.length === fetchLimit;
152
+ const shown = visible.slice(0, input.limit);
153
+ const resumeFrom = shown.length === input.limit ? shown.at(-1)?.id : rows.at(-1)?.id;
154
+ return {
155
+ entries: shown.map((row) => toActivityEntry(row, input.user.id)),
156
+ hasMore,
157
+ ...(hasMore && resumeFrom !== undefined ? { nextBeforeId: resumeFrom } : {}),
158
+ };
114
159
  }
115
160
  async expand(input) {
116
- const projectIds = await this.readableProjectIds(input.user, input.projectId);
117
- if (projectIds.length === 0)
161
+ const resolved = await this.resolveScope(input.user, input.scope);
162
+ if (resolved === null)
118
163
  return null;
119
- const row = await this.activityEventRepository.findEntry({ id: input.id, projectIds });
164
+ const projectIds = resolved.projectIds;
165
+ const row = await this.activityEventRepository.findEntry({
166
+ id: input.id,
167
+ projectIds,
168
+ allowedCategories: resolved.allowedCategories,
169
+ });
120
170
  if (!row)
121
171
  return null;
172
+ if (resolved.surface === 'mcp') {
173
+ const touchesCredential = row.category === 'credential' || row.resourceType === 'credential';
174
+ if (touchesCredential && !isCredentialVisible(row, resolved))
175
+ return null;
176
+ const [visible] = await this.withoutWithheldWorkflows([row], resolved);
177
+ if (!visible)
178
+ return null;
179
+ }
122
180
  const history = row.resourceType && row.resourceId
123
181
  ? await this.activityEventRepository.findByResource({
124
182
  resourceType: row.resourceType,
@@ -127,7 +185,7 @@ let InstanceContextService = class InstanceContextService {
127
185
  limit: resourceHistoryLimit,
128
186
  })
129
187
  : [];
130
- const hint = liveRecordHint(row);
188
+ const hint = liveRecordHint(row, input.scope.surface);
131
189
  return {
132
190
  entry: toActivityEntry(row, input.user.id),
133
191
  resourceHistory: history
@@ -137,85 +195,232 @@ let InstanceContextService = class InstanceContextService {
137
195
  };
138
196
  }
139
197
  async readEntries(input) {
140
- const cursor = input.cursor;
198
+ const fetchLimit = input.scope.surface === 'mcp' ? entryFetchLimit * withheldFetchMultiplier : entryFetchLimit;
141
199
  const arrivals = await this.activityEventRepository.findFeed({
142
- limit: entryFetchLimit,
143
- projectIds: input.projectIds,
144
- ...(cursor ? { afterId: cursor.activityMark } : {}),
200
+ limit: fetchLimit,
201
+ projectIds: input.scope.projectIds,
202
+ allowedCategories: input.scope.allowedCategories,
203
+ ...(input.cursor ? { afterId: input.cursor.activityMark } : {}),
145
204
  });
205
+ const cursor = input.cursor;
146
206
  const band = cursor
147
207
  ? await this.activityEventRepository.findFeed({
148
- limit: activityLagIds,
149
- projectIds: input.projectIds,
150
- afterId: Math.max(0, cursor.activityMark - activityLagIds),
208
+ limit: seenIdsCap,
209
+ projectIds: input.scope.projectIds,
210
+ allowedCategories: input.scope.allowedCategories,
211
+ afterId: Math.max(cursor.activityFloor, cursor.activitySeenFloor ?? 0),
151
212
  beforeId: cursor.activityMark,
152
213
  })
153
214
  : [];
154
- const rows = [...arrivals, ...band];
215
+ const addedCategories = input.scope.allowedCategories.filter((category) => cursor && !cursor.activityCategories.includes(category));
216
+ const reopened = cursor && addedCategories.length > 0
217
+ ? await this.activityEventRepository.findFeed({
218
+ limit: seenIdsCap,
219
+ projectIds: input.scope.projectIds,
220
+ allowedCategories: addedCategories,
221
+ afterId: cursor.activitySeenFloor ?? 0,
222
+ beforeId: cursor.activityFloor + 1,
223
+ })
224
+ : [];
225
+ const read = [...arrivals, ...band, ...reopened];
226
+ const rows = input.scope.surface === 'mcp' ? await this.withoutWithheldWorkflows(read, input.scope) : read;
155
227
  const alreadyShown = new Set(cursor?.activitySeen ?? []);
156
228
  const fresh = rows.filter((row) => !alreadyShown.has(row.id) && input.now.getTime() - row.createdAt.getTime() <= maxAgeMs);
157
229
  const shown = fresh.slice(0, windowSize);
158
- const mark = rows.reduce((highest, row) => Math.max(highest, row.id), cursor?.activityMark ?? 0);
159
- const seen = [...alreadyShown, ...shown.map((row) => row.id)]
160
- .filter((id) => id > mark - activityLagIds)
161
- .sort((a, b) => b - a)
162
- .slice(0, seenIdsCap);
230
+ const mark = read.reduce((highest, row) => Math.max(highest, row.id), cursor?.activityMark ?? 0);
231
+ const cut = fresh[windowSize];
232
+ const floor = Math.max(cursor?.activityFloor ?? 0, cut?.id ?? 0);
233
+ const seen = [...alreadyShown, ...shown.map((row) => row.id)].sort((a, b) => b - a);
234
+ const seenFloor = Math.max(cursor?.activitySeenFloor ?? 0, seen[seenIdsCap] ?? 0);
163
235
  return {
164
236
  rows: shown,
165
237
  mark,
166
- seen,
167
- truncated: fresh.length > windowSize || arrivals.length === entryFetchLimit,
238
+ floor,
239
+ seen: seen.filter((id) => id > seenFloor).slice(0, seenIdsCap),
240
+ seenFloor,
241
+ truncated: fresh.length > windowSize || arrivals.length === fetchLimit,
168
242
  };
169
243
  }
170
244
  async readRuns(input) {
245
+ const windowMs = input.mcpVisibleOnly ? mcpRunWindowMs : maxAgeMs;
171
246
  const stoppedAfter = input.cursor
172
247
  ? new Date(Date.parse(input.cursor.runsThrough))
173
- : new Date(input.now.getTime() - maxAgeMs);
248
+ : new Date(input.now.getTime() - windowMs);
174
249
  return await this.executionRepository.summariseRunsForProjects({
175
250
  projectIds: input.projectIds,
176
251
  stoppedAfter,
177
252
  stoppedBefore: input.now,
178
253
  workflowLimit: runWorkflowCap,
254
+ ...(input.mcpVisibleOnly ? { mcpVisibleOnly: true } : {}),
179
255
  });
180
256
  }
181
- async readableProjectIds(user, projectId) {
182
- if (projectId === undefined)
257
+ async resolveScope(user, scope) {
258
+ if (scope.projectId !== undefined) {
259
+ const projectId = scope.projectId;
260
+ const allowed = await (0, check_access_1.userHasScopes)(user, ['workflow:read'], false, { projectId });
261
+ if (!allowed)
262
+ return null;
263
+ if (scope.surface === 'conversation') {
264
+ const credentials = await (0, check_access_1.userHasScopes)(user, ['credential:read'], false, { projectId });
265
+ return {
266
+ surface: 'conversation',
267
+ projectIds: [projectId],
268
+ allowedCategories: credentials ? ['workflow', 'credential'] : ['workflow'],
269
+ };
270
+ }
271
+ const credentialProjectIds = scope.credentialGranted
272
+ ? await this.credentialReadableProjectIds(user, [projectId], (await this.projectRepository.getPersonalProjectForUser(user.id))?.id)
273
+ : [];
274
+ return {
275
+ surface: 'mcp',
276
+ projectIds: [projectId],
277
+ credentialProjectIds,
278
+ allowedCategories: credentialProjectIds.length > 0 ? ['workflow', 'credential'] : ['workflow'],
279
+ runsVisible: scope.executionGranted,
280
+ };
281
+ }
282
+ if (scope.surface === 'conversation')
283
+ return null;
284
+ if ((0, permissions_1.hasGlobalScope)(user, ['workflow:read'], { mode: 'allOf' })) {
285
+ const credentialProjectIds = !scope.credentialGranted
286
+ ? []
287
+ : (0, permissions_1.hasGlobalScope)(user, ['credential:read'], { mode: 'allOf' })
288
+ ? 'all-projects'
289
+ : await this.credentialReadableProjectIds(user, null, undefined);
290
+ return {
291
+ surface: 'mcp',
292
+ projectIds: 'all-projects',
293
+ credentialProjectIds,
294
+ allowedCategories: credentialProjectIds.length > 0 ? ['workflow', 'credential'] : ['workflow'],
295
+ runsVisible: scope.executionGranted,
296
+ };
297
+ }
298
+ const [scopedIds, personalProject] = await Promise.all([
299
+ this.projectService.getProjectIdsWithScope(user, ['workflow:read']),
300
+ this.projectRepository.getPersonalProjectForUser(user.id),
301
+ ]);
302
+ const projectIds = personalProject
303
+ ? [...new Set([...scopedIds, personalProject.id])]
304
+ : scopedIds;
305
+ if (projectIds.length === 0)
306
+ return null;
307
+ const credentialProjectIds = scope.credentialGranted
308
+ ? await this.credentialReadableProjectIds(user, projectIds, personalProject?.id)
309
+ : [];
310
+ return {
311
+ surface: 'mcp',
312
+ projectIds,
313
+ credentialProjectIds,
314
+ allowedCategories: credentialProjectIds.length > 0 ? ['workflow', 'credential'] : ['workflow'],
315
+ runsVisible: scope.executionGranted,
316
+ };
317
+ }
318
+ async credentialReadableProjectIds(user, projectIds, personalProjectId) {
319
+ if (projectIds !== null && projectIds.length === 0)
183
320
  return [];
184
- const allowed = await (0, check_access_1.userHasScopes)(user, ['workflow:read'], false, { projectId });
185
- return allowed ? [projectId] : [];
321
+ const readable = await this.projectService.getProjectIdsWithScope(user, ['credential:read'], projectIds ?? undefined);
322
+ const readableSet = new Set(readable);
323
+ if (personalProjectId)
324
+ readableSet.add(personalProjectId);
325
+ if (projectIds === null)
326
+ return [...readableSet];
327
+ return projectIds.filter((projectId) => readableSet.has(projectId));
328
+ }
329
+ async hasWithheldWorkflows(user, scope) {
330
+ const resolved = await this.resolveScope(user, scope);
331
+ if (resolved === null)
332
+ return false;
333
+ const { total } = await this.workflowRepository.findRecentForProjects(resolved.projectIds, 1, {
334
+ mcpVisibleOnly: false,
335
+ });
336
+ return total > 0;
337
+ }
338
+ async withoutWithheldWorkflows(rows, scope) {
339
+ rows = rows.filter((row) => isCredentialVisible(row, scope));
340
+ const workflowIds = [
341
+ ...new Set(rows.flatMap((row) => row.resourceType === 'workflow' && row.resourceId ? [row.resourceId] : [])),
342
+ ];
343
+ if (workflowIds.length === 0)
344
+ return rows;
345
+ const availability = await this.workflowRepository.findMcpAvailabilityByIds(workflowIds);
346
+ return rows.filter((row) => {
347
+ if (row.resourceType !== 'workflow' || !row.resourceId)
348
+ return true;
349
+ const available = availability.get(row.resourceId);
350
+ if (available === undefined)
351
+ return row.action === 'deleted';
352
+ return available;
353
+ });
186
354
  }
187
355
  };
188
356
  exports.InstanceContextService = InstanceContextService;
189
357
  exports.InstanceContextService = InstanceContextService = __decorate([
190
358
  (0, di_1.Service)(),
191
- __metadata("design:paramtypes", [backend_common_1.Logger, config_1.GlobalConfig, db_1.ActivityEventRepository, db_1.ExecutionRepository, db_1.WorkflowRepository])
359
+ __metadata("design:paramtypes", [backend_common_1.Logger, db_1.ActivityEventRepository, db_1.ExecutionRepository, db_1.WorkflowRepository, db_1.ProjectRepository, project_service_ee_1.ProjectService])
192
360
  ], InstanceContextService);
193
- const initialPreamble = [
361
+ function resolveCategory(requested, scope) {
362
+ const category = isKnownCategory(requested) ? requested : undefined;
363
+ if (category !== undefined && !scope.allowedCategories.includes(category))
364
+ return null;
365
+ if (scope.surface !== 'mcp')
366
+ return category;
367
+ const seesSomeCredentials = scope.credentialProjectIds === 'all-projects' || scope.credentialProjectIds.length > 0;
368
+ if (seesSomeCredentials)
369
+ return category;
370
+ if (category === 'credential')
371
+ return null;
372
+ return category ?? 'workflow';
373
+ }
374
+ function isCredentialVisible(row, scope) {
375
+ if (scope.surface !== 'mcp')
376
+ return true;
377
+ if (row.category !== 'credential' && row.resourceType !== 'credential')
378
+ return true;
379
+ if (scope.credentialProjectIds === 'all-projects')
380
+ return true;
381
+ return scope.credentialProjectIds.includes(row.projectId);
382
+ }
383
+ const toolNames = {
384
+ conversation: {
385
+ expand: '`activity(action="expand", id=N)`',
386
+ list: '`activity(action="list")`',
387
+ workflows: '`workflows(action="list")`',
388
+ },
389
+ mcp: {
390
+ expand: '`expand_instance_activity(id=N)`',
391
+ list: '`get_instance_activity`',
392
+ workflows: '`search_workflows`',
393
+ },
394
+ };
395
+ const initialPreamble = (tools) => [
194
396
  'What is going on in this instance. This is work that already exists and that you can pick up:',
195
397
  'when the user is vague ("fix it", "carry on", "what should I look at"), the answer is usually',
196
398
  'the most recent thing here, and often the most recent failure. Name what you think they mean',
197
399
  'and act on it rather than asking them to choose from a list they can already see.',
198
400
  'Do not narrate this back to them — unless they asked what has been happening, let it change',
199
401
  'what you do rather than what you say.',
200
- 'Call `activity(action="expand", id=N)` on a bracketed id to see that entry in full along with',
201
- 'everything else that happened to the same resource, or `activity(action="list")` to look',
402
+ `Call ${tools.expand} on a bracketed id to see that entry in full along with`,
403
+ `everything else that happened to the same resource, or ${tools.list} to look`,
202
404
  'further back than this window. An entry may name a resource that no longer exists.',
203
405
  ];
204
- const updatePreamble = [
406
+ const updatePreamble = (tools) => [
205
407
  'What has happened since the list earlier in this conversation. Those earlier entries still',
206
408
  'stand — these are additions, not a replacement. Read them the same way: context on what the',
207
409
  'user has been doing, not a task list or something to comment on unprompted.',
208
- '`activity(action="expand", id=N)` and `activity(action="list")` work on these ids too.',
410
+ `${tools.expand} and ${tools.list} work on these ids too.`,
209
411
  ];
210
- function renderInventory(inventory) {
211
- if (inventory.total === 0)
212
- return ['Nothing has been built here yet.', ''];
412
+ function renderInventory(inventory, tools, surface) {
413
+ if (inventory.total === 0) {
414
+ return surface === 'mcp'
415
+ ? ['No workflows here are exposed to MCP, so none can be named.', '']
416
+ : ['Nothing has been built here yet.', ''];
417
+ }
213
418
  const named = inventory.workflows.map((workflow) => ` - "${sanitiseForBlock(workflow.name)}" (workflow:${workflow.id})${workflow.active ? ' [published]' : ''}`);
214
419
  const more = inventory.total - inventory.workflows.length;
215
420
  return [
216
421
  `Workflows that already exist here: ${inventory.total}. Most recently worked on:`,
217
422
  ...named,
218
- ...(more > 0 ? [` ... and ${more} more — \`workflows(action="list")\` for the rest.`] : []),
423
+ ...(more > 0 ? [` ... and ${more} more — ${tools.workflows} for the rest.`] : []),
219
424
  '',
220
425
  ];
221
426
  }
@@ -241,22 +446,25 @@ function renderRuns(runs, isUpdate, now) {
241
446
  return [isUpdate ? 'Runs since then:' : 'Recent runs:', ...lines, ''];
242
447
  }
243
448
  function renderBlock(input) {
449
+ const tools = toolNames[input.surface];
244
450
  const prose = [
245
- ...(input.isUpdate ? updatePreamble : initialPreamble),
451
+ ...(input.isUpdate ? updatePreamble(tools) : initialPreamble(tools)),
246
452
  '',
247
- ...(input.inventory ? renderInventory(input.inventory) : []),
453
+ ...(input.inventory ? renderInventory(input.inventory, tools, input.surface) : []),
248
454
  ...renderRuns(input.runs, input.isUpdate, input.now),
249
455
  ...(input.entries.length > 0
250
456
  ? [
251
457
  input.isUpdate ? 'Changes since then:' : 'What changed recently:',
252
458
  ...input.entries,
253
459
  ...(input.entriesTruncated
254
- ? [' ... and more than these — `activity(action="list")` for the rest.']
460
+ ? [` ... and more than these — ${tools.list} for the rest.`]
255
461
  : []),
256
462
  ]
257
463
  : []),
258
464
  ].join('\n');
259
- return `${internal_messages_1.INSTANCE_CONTEXT_OPEN_TAG}\n${prose}\n${internal_messages_1.INSTANCE_CONTEXT_CLOSE_TAG}`;
465
+ return input.surface === 'mcp'
466
+ ? prose
467
+ : `${internal_messages_1.INSTANCE_CONTEXT_OPEN_TAG}\n${prose}\n${internal_messages_1.INSTANCE_CONTEXT_CLOSE_TAG}`;
260
468
  }
261
469
  const knownCategories = new Set(db_1.activityEventCategories);
262
470
  function isKnownCategory(category) {
@@ -275,14 +483,20 @@ function toActivityEntry(row, currentUserId) {
275
483
  ...(row.data ? { detail: row.data } : {}),
276
484
  };
277
485
  }
278
- function liveRecordHint(row) {
279
- const resourceTypeHints = {
280
- workflow: row.resourceId
281
- ? `workflows(action="get", workflowId="${row.resourceId}")`
282
- : undefined,
283
- credential: 'credentials(action="list")',
486
+ function liveRecordHint(row, surface) {
487
+ const hints = {
488
+ conversation: {
489
+ workflow: row.resourceId
490
+ ? `workflows(action="get", workflowId="${row.resourceId}")`
491
+ : undefined,
492
+ credential: 'credentials(action="list")',
493
+ },
494
+ mcp: {
495
+ workflow: row.resourceId ? `get_workflow_details(workflowId="${row.resourceId}")` : undefined,
496
+ credential: 'list_credentials()',
497
+ },
284
498
  };
285
- return row.resourceType ? resourceTypeHints[row.resourceType] : undefined;
499
+ return row.resourceType ? hints[surface][row.resourceType] : undefined;
286
500
  }
287
501
  function toFeedEntry(row, currentUserId, now) {
288
502
  return [