n8n 2.18.4 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/abstract-server.d.ts +0 -1
  2. package/dist/abstract-server.js +11 -10
  3. package/dist/abstract-server.js.map +1 -1
  4. package/dist/active-executions.js +1 -0
  5. package/dist/active-executions.js.map +1 -1
  6. package/dist/build.tsbuildinfo +1 -1
  7. package/dist/collaboration/collaboration.service.d.ts +3 -1
  8. package/dist/collaboration/collaboration.service.js +19 -0
  9. package/dist/collaboration/collaboration.service.js.map +1 -1
  10. package/dist/commands/base-command.js +7 -1
  11. package/dist/commands/base-command.js.map +1 -1
  12. package/dist/commands/export/credentials.d.ts +5 -0
  13. package/dist/commands/export/credentials.js +21 -5
  14. package/dist/commands/export/credentials.js.map +1 -1
  15. package/dist/commands/export/workflow.d.ts +4 -0
  16. package/dist/commands/export/workflow.js +17 -5
  17. package/dist/commands/export/workflow.js.map +1 -1
  18. package/dist/controller.registry.js +3 -0
  19. package/dist/controller.registry.js.map +1 -1
  20. package/dist/controllers/e2e.controller.d.ts +35 -2
  21. package/dist/controllers/e2e.controller.js +129 -2
  22. package/dist/controllers/e2e.controller.js.map +1 -1
  23. package/dist/controllers/folder.controller.js +1 -1
  24. package/dist/controllers/folder.controller.js.map +1 -1
  25. package/dist/controllers/me.controller.js +3 -2
  26. package/dist/controllers/me.controller.js.map +1 -1
  27. package/dist/controllers/mfa.controller.js +1 -1
  28. package/dist/controllers/mfa.controller.js.map +1 -1
  29. package/dist/controllers/security-settings.controller.js +1 -1
  30. package/dist/controllers/security-settings.controller.js.map +1 -1
  31. package/dist/controllers/users.controller.d.ts +1 -3
  32. package/dist/controllers/users.controller.js +2 -16
  33. package/dist/controllers/users.controller.js.map +1 -1
  34. package/dist/credentials/credentials.service.js +4 -1
  35. package/dist/credentials/credentials.service.js.map +1 -1
  36. package/dist/credentials/external-secrets.utils.js +3 -3
  37. package/dist/credentials/external-secrets.utils.js.map +1 -1
  38. package/dist/credentials-helper.js +2 -1
  39. package/dist/credentials-helper.js.map +1 -1
  40. package/dist/deprecation/deprecation.service.js.map +1 -1
  41. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  42. package/dist/eventbus/event-message-classes/index.js +3 -0
  43. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  44. package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.d.ts +1 -0
  45. package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.js +78 -38
  46. package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.js.map +1 -1
  47. package/dist/events/maps/ai.event-map.d.ts +1 -0
  48. package/dist/events/maps/relay.event-map.d.ts +15 -0
  49. package/dist/events/relays/log-streaming.event-relay.d.ts +3 -0
  50. package/dist/events/relays/log-streaming.event-relay.js +35 -0
  51. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  52. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +18 -2
  53. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  54. package/dist/execution-lifecycle/restore-binary-data-id.js +39 -21
  55. package/dist/execution-lifecycle/restore-binary-data-id.js.map +1 -1
  56. package/dist/executions/parse-range-query.middleware.js +6 -4
  57. package/dist/executions/parse-range-query.middleware.js.map +1 -1
  58. package/dist/expression-observability/expression-observability.constants.d.ts +8 -0
  59. package/dist/expression-observability/expression-observability.constants.js +14 -0
  60. package/dist/expression-observability/expression-observability.constants.js.map +1 -0
  61. package/dist/expression-observability/expression-observability.formatters.d.ts +4 -0
  62. package/dist/expression-observability/expression-observability.formatters.js +36 -0
  63. package/dist/expression-observability/expression-observability.formatters.js.map +1 -0
  64. package/dist/expression-observability/expression-observability.provider.d.ts +22 -0
  65. package/dist/expression-observability/expression-observability.provider.js +193 -0
  66. package/dist/expression-observability/expression-observability.provider.js.map +1 -0
  67. package/dist/external-hooks.js.map +1 -1
  68. package/dist/instance-settings-loader/instance-settings-loader.service.d.ts +5 -3
  69. package/dist/instance-settings-loader/instance-settings-loader.service.js +10 -6
  70. package/dist/instance-settings-loader/instance-settings-loader.service.js.map +1 -1
  71. package/dist/instance-settings-loader/loaders/log-streaming.instance-settings-loader.d.ts +12 -0
  72. package/dist/instance-settings-loader/loaders/log-streaming.instance-settings-loader.js +136 -0
  73. package/dist/instance-settings-loader/loaders/log-streaming.instance-settings-loader.js.map +1 -0
  74. package/dist/instance-settings-loader/loaders/sso.instance-settings-loader.d.ts +20 -0
  75. package/dist/instance-settings-loader/loaders/sso.instance-settings-loader.js +198 -0
  76. package/dist/instance-settings-loader/loaders/sso.instance-settings-loader.js.map +1 -0
  77. package/dist/middlewares/list-query/filter.d.ts +2 -3
  78. package/dist/middlewares/list-query/filter.js +3 -2
  79. package/dist/middlewares/list-query/filter.js.map +1 -1
  80. package/dist/middlewares/list-query/index.d.ts +2 -2
  81. package/dist/middlewares/list-query/index.js.map +1 -1
  82. package/dist/middlewares/list-query/pagination.js +8 -3
  83. package/dist/middlewares/list-query/pagination.js.map +1 -1
  84. package/dist/middlewares/list-query/select.js +3 -2
  85. package/dist/middlewares/list-query/select.js.map +1 -1
  86. package/dist/middlewares/list-query/sort-by.js +3 -2
  87. package/dist/middlewares/list-query/sort-by.js.map +1 -1
  88. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  89. package/dist/modules/chat-hub/chat-hub.types.d.ts +1 -1
  90. package/dist/modules/chat-hub/stream-capturer.js.map +1 -1
  91. package/dist/modules/community-packages/npm-utils.js +79 -3
  92. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  93. package/dist/modules/data-table/data-table-column.repository.d.ts +2 -0
  94. package/dist/modules/data-table/data-table-column.repository.js +21 -5
  95. package/dist/modules/data-table/data-table-column.repository.js.map +1 -1
  96. package/dist/modules/data-table/data-table.service.d.ts +8 -2
  97. package/dist/modules/data-table/data-table.service.js +16 -2
  98. package/dist/modules/data-table/data-table.service.js.map +1 -1
  99. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.d.ts +2 -2
  100. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
  101. package/dist/modules/dynamic-credentials.ee/utils.d.ts +2 -1
  102. package/dist/modules/dynamic-credentials.ee/utils.js.map +1 -1
  103. package/dist/modules/encryption-key-manager/encryption-bootstrap.service.d.ts +6 -0
  104. package/dist/modules/encryption-key-manager/encryption-bootstrap.service.js +28 -0
  105. package/dist/modules/encryption-key-manager/encryption-bootstrap.service.js.map +1 -0
  106. package/dist/modules/encryption-key-manager/encryption-key-manager.module.js +10 -1
  107. package/dist/modules/encryption-key-manager/encryption-key-manager.module.js.map +1 -1
  108. package/dist/modules/encryption-key-manager/encryption-key.controller.d.ts +8 -0
  109. package/dist/modules/encryption-key-manager/encryption-key.controller.js +62 -0
  110. package/dist/modules/encryption-key-manager/encryption-key.controller.js.map +1 -0
  111. package/dist/modules/encryption-key-manager/key-manager.service.d.ts +8 -5
  112. package/dist/modules/encryption-key-manager/key-manager.service.js +37 -10
  113. package/dist/modules/encryption-key-manager/key-manager.service.js.map +1 -1
  114. package/dist/modules/insights/database/entities/insights-by-period.js +8 -6
  115. package/dist/modules/insights/database/entities/insights-by-period.js.map +1 -1
  116. package/dist/modules/insights/database/entities/insights-raw.js +4 -3
  117. package/dist/modules/insights/database/entities/insights-raw.js.map +1 -1
  118. package/dist/modules/insights/database/entities/insights-shared.d.ts +6 -6
  119. package/dist/modules/insights/database/entities/insights-shared.js +3 -8
  120. package/dist/modules/insights/database/entities/insights-shared.js.map +1 -1
  121. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.d.ts +2 -0
  122. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js +8 -0
  123. package/dist/modules/instance-ai/entities/instance-ai-run-snapshot.entity.js.map +1 -1
  124. package/dist/modules/instance-ai/eval/execution.service.js +4 -5
  125. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  126. package/dist/modules/instance-ai/eval/sub-agent-eval.service.d.ts +13 -0
  127. package/dist/modules/instance-ai/eval/sub-agent-eval.service.js +132 -0
  128. package/dist/modules/instance-ai/eval/sub-agent-eval.service.js.map +1 -0
  129. package/dist/modules/instance-ai/eval/sub-agent-roles.d.ts +7 -0
  130. package/dist/modules/instance-ai/eval/sub-agent-roles.js +21 -0
  131. package/dist/modules/instance-ai/eval/sub-agent-roles.js.map +1 -0
  132. package/dist/modules/instance-ai/eval/workflow-analysis.js +59 -51
  133. package/dist/modules/instance-ai/eval/workflow-analysis.js.map +1 -1
  134. package/dist/modules/instance-ai/instance-ai.adapter.service.d.ts +3 -2
  135. package/dist/modules/instance-ai/instance-ai.adapter.service.js +92 -9
  136. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  137. package/dist/modules/instance-ai/instance-ai.controller.d.ts +8 -2
  138. package/dist/modules/instance-ai/instance-ai.controller.js +36 -1
  139. package/dist/modules/instance-ai/instance-ai.controller.js.map +1 -1
  140. package/dist/modules/instance-ai/instance-ai.module.js +1 -1
  141. package/dist/modules/instance-ai/instance-ai.module.js.map +1 -1
  142. package/dist/modules/instance-ai/instance-ai.service.d.ts +14 -3
  143. package/dist/modules/instance-ai/instance-ai.service.js +266 -42
  144. package/dist/modules/instance-ai/instance-ai.service.js.map +1 -1
  145. package/dist/modules/instance-ai/storage/db-snapshot-storage.d.ts +12 -2
  146. package/dist/modules/instance-ai/storage/db-snapshot-storage.js +25 -3
  147. package/dist/modules/instance-ai/storage/db-snapshot-storage.js.map +1 -1
  148. package/dist/modules/instance-ai/web-research/cache.js.map +1 -1
  149. package/dist/modules/instance-registry/instance-registry.module.js +4 -1
  150. package/dist/modules/instance-registry/instance-registry.module.js.map +1 -1
  151. package/dist/modules/ldap.ee/helpers.ee.js +13 -0
  152. package/dist/modules/ldap.ee/helpers.ee.js.map +1 -1
  153. package/dist/modules/ldap.ee/ldap.service.ee.d.ts +1 -0
  154. package/dist/modules/ldap.ee/ldap.service.ee.js +33 -8
  155. package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
  156. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
  157. package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +4 -1
  158. package/dist/modules/log-streaming.ee/log-streaming.controller.js +13 -2
  159. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  160. package/dist/modules/mcp/mcp-api-key.service.d.ts +4 -3
  161. package/dist/modules/mcp/mcp-api-key.service.js +17 -24
  162. package/dist/modules/mcp/mcp-api-key.service.js.map +1 -1
  163. package/dist/modules/mcp/mcp-oauth-consent.service.js +2 -2
  164. package/dist/modules/mcp/mcp-oauth-consent.service.js.map +1 -1
  165. package/dist/modules/mcp/mcp-server-middleware.service.d.ts +2 -2
  166. package/dist/modules/mcp/mcp-server-middleware.service.js +3 -3
  167. package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
  168. package/dist/modules/mcp/mcp.service.d.ts +3 -1
  169. package/dist/modules/mcp/mcp.service.js +9 -6
  170. package/dist/modules/mcp/mcp.service.js.map +1 -1
  171. package/dist/modules/mcp/mcp.settings.controller.d.ts +3 -1
  172. package/dist/modules/mcp/mcp.settings.controller.js +15 -2
  173. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  174. package/dist/modules/mcp/mcp.types.d.ts +1 -0
  175. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +6 -6
  176. package/dist/modules/mcp/tools/publish-workflow.tool.d.ts +2 -1
  177. package/dist/modules/mcp/tools/publish-workflow.tool.js +3 -1
  178. package/dist/modules/mcp/tools/publish-workflow.tool.js.map +1 -1
  179. package/dist/modules/mcp/tools/unpublish-workflow.tool.d.ts +2 -1
  180. package/dist/modules/mcp/tools/unpublish-workflow.tool.js +3 -1
  181. package/dist/modules/mcp/tools/unpublish-workflow.tool.js.map +1 -1
  182. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +1 -0
  183. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  184. package/dist/modules/mcp/tools/workflow-builder/delete-workflow.tool.d.ts +3 -1
  185. package/dist/modules/mcp/tools/workflow-builder/delete-workflow.tool.js +5 -1
  186. package/dist/modules/mcp/tools/workflow-builder/delete-workflow.tool.js.map +1 -1
  187. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.d.ts +2 -1
  188. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +4 -1
  189. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  190. package/dist/modules/otel/execution-level-tracer.d.ts +22 -0
  191. package/dist/modules/otel/execution-level-tracer.js +241 -0
  192. package/dist/modules/otel/execution-level-tracer.js.map +1 -0
  193. package/dist/modules/otel/execution-level-tracer.types.d.ts +41 -0
  194. package/dist/modules/otel/execution-level-tracer.types.js +3 -0
  195. package/dist/modules/otel/execution-level-tracer.types.js.map +1 -0
  196. package/dist/modules/otel/otel-lifecycle-handler.d.ts +17 -0
  197. package/dist/modules/otel/otel-lifecycle-handler.js +157 -0
  198. package/dist/modules/otel/otel-lifecycle-handler.js.map +1 -0
  199. package/dist/modules/otel/otel.config.d.ts +1 -0
  200. package/dist/modules/otel/otel.config.js +5 -0
  201. package/dist/modules/otel/otel.config.js.map +1 -1
  202. package/dist/modules/otel/otel.constants.d.ts +1 -0
  203. package/dist/modules/otel/otel.constants.js +1 -0
  204. package/dist/modules/otel/otel.constants.js.map +1 -1
  205. package/dist/modules/otel/otel.module.d.ts +2 -1
  206. package/dist/modules/otel/otel.module.js +12 -1
  207. package/dist/modules/otel/otel.module.js.map +1 -1
  208. package/dist/modules/otel/tracing-context.d.ts +13 -0
  209. package/dist/modules/otel/tracing-context.js +55 -0
  210. package/dist/modules/otel/tracing-context.js.map +1 -0
  211. package/dist/modules/provisioning.ee/provisioning.controller.ee.d.ts +5 -5
  212. package/dist/modules/provisioning.ee/provisioning.controller.ee.js +8 -8
  213. package/dist/modules/provisioning.ee/provisioning.controller.ee.js.map +1 -1
  214. package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +3 -2
  215. package/dist/modules/provisioning.ee/provisioning.service.ee.js +30 -15
  216. package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
  217. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.d.ts +2 -0
  218. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js +18 -3
  219. package/dist/modules/provisioning.ee/role-mapping-rule.service.ee.js.map +1 -1
  220. package/dist/modules/quick-connect/quick-connect.config.js.map +1 -1
  221. package/dist/modules/sso-oidc/oidc.controller.ee.d.ts +3 -4
  222. package/dist/modules/sso-oidc/oidc.controller.ee.js +6 -6
  223. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  224. package/dist/modules/sso-saml/saml-helpers.d.ts +1 -0
  225. package/dist/modules/sso-saml/saml-helpers.js +15 -1
  226. package/dist/modules/sso-saml/saml-helpers.js.map +1 -1
  227. package/dist/modules/sso-saml/saml.controller.ee.d.ts +3 -1
  228. package/dist/modules/sso-saml/saml.controller.ee.js +45 -14
  229. package/dist/modules/sso-saml/saml.controller.ee.js.map +1 -1
  230. package/dist/modules/sso-saml/saml.service.ee.d.ts +8 -3
  231. package/dist/modules/sso-saml/saml.service.ee.js +43 -18
  232. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  233. package/dist/modules/token-exchange/services/scoped-jwt.strategy.d.ts +3 -2
  234. package/dist/modules/token-exchange/services/scoped-jwt.strategy.js +17 -6
  235. package/dist/modules/token-exchange/services/scoped-jwt.strategy.js.map +1 -1
  236. package/dist/modules/token-exchange/services/trusted-key.service.d.ts +0 -1
  237. package/dist/modules/token-exchange/services/trusted-key.service.js +8 -9
  238. package/dist/modules/token-exchange/services/trusted-key.service.js.map +1 -1
  239. package/dist/oauth/oauth.service.d.ts +1 -0
  240. package/dist/oauth/oauth.service.js +12 -1
  241. package/dist/oauth/oauth.service.js.map +1 -1
  242. package/dist/public-api/index.js +0 -3
  243. package/dist/public-api/index.js.map +1 -1
  244. package/dist/public-api/types.d.ts +15 -1
  245. package/dist/public-api/v1/handlers/credentials/credentials.service.js +10 -2
  246. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  247. package/dist/public-api/v1/handlers/data-tables/data-tables.columns.handler.d.ts +21 -0
  248. package/dist/public-api/v1/handlers/data-tables/data-tables.columns.handler.js +85 -0
  249. package/dist/public-api/v1/handlers/data-tables/data-tables.columns.handler.js.map +1 -0
  250. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +10 -10
  251. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -1
  252. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js +7 -18
  253. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js.map +1 -1
  254. package/dist/public-api/v1/handlers/data-tables/data-tables.service.d.ts +0 -1
  255. package/dist/public-api/v1/handlers/data-tables/data-tables.service.js +0 -13
  256. package/dist/public-api/v1/handlers/data-tables/data-tables.service.js.map +1 -1
  257. package/dist/public-api/v1/handlers/folders/folders.handler.d.ts +29 -0
  258. package/dist/public-api/v1/handlers/folders/folders.handler.js +112 -0
  259. package/dist/public-api/v1/handlers/folders/folders.handler.js.map +1 -0
  260. package/dist/public-api/v1/handlers/users/users.handler.ee.js +2 -12
  261. package/dist/public-api/v1/handlers/users/users.handler.ee.js.map +1 -1
  262. package/dist/public-api/v1/openapi.yml +494 -0
  263. package/dist/public-api/v1/shared/handler.types.d.ts +3 -0
  264. package/dist/{modules/otel/handlers/interfaces.js → public-api/v1/shared/handler.types.js} +1 -1
  265. package/dist/public-api/v1/shared/handler.types.js.map +1 -0
  266. package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +3 -1
  267. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  268. package/dist/public-api/v1/shared/services/utils.service.d.ts +3 -0
  269. package/dist/public-api/v1/shared/services/utils.service.js +18 -0
  270. package/dist/public-api/v1/shared/services/utils.service.js.map +1 -0
  271. package/dist/push/index.d.ts +1 -1
  272. package/dist/push/index.js +11 -1
  273. package/dist/push/index.js.map +1 -1
  274. package/dist/push/push-helpers.d.ts +6 -0
  275. package/dist/push/push-helpers.js +20 -0
  276. package/dist/push/push-helpers.js.map +1 -0
  277. package/dist/requests.d.ts +2 -0
  278. package/dist/requests.js +5 -0
  279. package/dist/requests.js.map +1 -1
  280. package/dist/scaling/job-processor.js +7 -2
  281. package/dist/scaling/job-processor.js.map +1 -1
  282. package/dist/scaling/multi-main-setup.ee.js +1 -1
  283. package/dist/scaling/multi-main-setup.ee.js.map +1 -1
  284. package/dist/server.js +4 -0
  285. package/dist/server.js.map +1 -1
  286. package/dist/services/ai-gateway.service.d.ts +4 -1
  287. package/dist/services/ai-gateway.service.js +17 -2
  288. package/dist/services/ai-gateway.service.js.map +1 -1
  289. package/dist/services/api-key-auth.strategy.d.ts +3 -2
  290. package/dist/services/api-key-auth.strategy.js +24 -13
  291. package/dist/services/api-key-auth.strategy.js.map +1 -1
  292. package/dist/services/auth-strategy.registry.d.ts +3 -2
  293. package/dist/services/auth-strategy.registry.js +12 -0
  294. package/dist/services/auth-strategy.registry.js.map +1 -1
  295. package/dist/services/auth-strategy.types.d.ts +7 -1
  296. package/dist/services/dynamic-node-parameters.service.js +23 -8
  297. package/dist/services/dynamic-node-parameters.service.js.map +1 -1
  298. package/dist/services/folder.service.d.ts +3 -2
  299. package/dist/services/folder.service.js +4 -2
  300. package/dist/services/folder.service.js.map +1 -1
  301. package/dist/services/frontend.service.d.ts +1 -0
  302. package/dist/services/frontend.service.js +9 -1
  303. package/dist/services/frontend.service.js.map +1 -1
  304. package/dist/services/instance-registry-proxy.service.d.ts +11 -0
  305. package/dist/services/instance-registry-proxy.service.js +33 -0
  306. package/dist/services/instance-registry-proxy.service.js.map +1 -0
  307. package/dist/services/last-active-at.service.d.ts +1 -2
  308. package/dist/services/last-active-at.service.js.map +1 -1
  309. package/dist/services/rate-limit.service.js.map +1 -1
  310. package/dist/services/redis-client.service.js +1 -1
  311. package/dist/services/redis-client.service.js.map +1 -1
  312. package/dist/services/user.service.d.ts +4 -1
  313. package/dist/services/user.service.js +26 -2
  314. package/dist/services/user.service.js.map +1 -1
  315. package/dist/task-runners/task-managers/task-requester.js +1 -1
  316. package/dist/task-runners/task-managers/task-requester.js.map +1 -1
  317. package/dist/task-runners/task-runner-module.js.map +1 -1
  318. package/dist/utils/inverter.d.ts +1 -0
  319. package/dist/utils/inverter.js +11 -0
  320. package/dist/utils/inverter.js.map +1 -0
  321. package/dist/webhooks/live-webhooks.d.ts +3 -2
  322. package/dist/webhooks/live-webhooks.js +8 -3
  323. package/dist/webhooks/live-webhooks.js.map +1 -1
  324. package/dist/webhooks/node-type-matcher.d.ts +3 -0
  325. package/dist/webhooks/node-type-matcher.js +7 -0
  326. package/dist/webhooks/node-type-matcher.js.map +1 -0
  327. package/dist/webhooks/test-webhooks.d.ts +5 -3
  328. package/dist/webhooks/test-webhooks.js +14 -5
  329. package/dist/webhooks/test-webhooks.js.map +1 -1
  330. package/dist/webhooks/waiting-webhooks.d.ts +4 -1
  331. package/dist/webhooks/waiting-webhooks.js +17 -2
  332. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  333. package/dist/webhooks/webhook-helpers.js +10 -0
  334. package/dist/webhooks/webhook-helpers.js.map +1 -1
  335. package/dist/webhooks/webhook-request-handler.d.ts +3 -2
  336. package/dist/webhooks/webhook-request-handler.js +8 -6
  337. package/dist/webhooks/webhook-request-handler.js.map +1 -1
  338. package/dist/webhooks/webhook.service.js +2 -2
  339. package/dist/webhooks/webhook.service.js.map +1 -1
  340. package/dist/webhooks/webhook.types.d.ts +3 -1
  341. package/dist/workflow-execute-additional-data.d.ts +6 -2
  342. package/dist/workflow-execute-additional-data.js +3 -1
  343. package/dist/workflow-execute-additional-data.js.map +1 -1
  344. package/dist/workflow-runner.js.map +1 -1
  345. package/dist/workflows/workflow-validation.service.js +3 -0
  346. package/dist/workflows/workflow-validation.service.js.map +1 -1
  347. package/dist/workflows/workflow.service.d.ts +1 -0
  348. package/dist/workflows/workflow.service.js +6 -1
  349. package/dist/workflows/workflow.service.js.map +1 -1
  350. package/dist/workflows/workflows.controller.d.ts +2 -2
  351. package/package.json +34 -33
  352. package/dist/instance-settings-loader/loaders/oidc.instance-settings-loader.d.ts +0 -13
  353. package/dist/instance-settings-loader/loaders/oidc.instance-settings-loader.js +0 -116
  354. package/dist/instance-settings-loader/loaders/oidc.instance-settings-loader.js.map +0 -1
  355. package/dist/modules/otel/handlers/interfaces.d.ts +0 -5
  356. package/dist/modules/otel/handlers/interfaces.js.map +0 -1
  357. package/dist/modules/otel/handlers/node-end.handler.d.ts +0 -8
  358. package/dist/modules/otel/handlers/node-end.handler.js +0 -71
  359. package/dist/modules/otel/handlers/node-end.handler.js.map +0 -1
  360. package/dist/modules/otel/handlers/node-start.handler.d.ts +0 -7
  361. package/dist/modules/otel/handlers/node-start.handler.js +0 -37
  362. package/dist/modules/otel/handlers/node-start.handler.js.map +0 -1
  363. package/dist/modules/otel/handlers/workflow-end.handler.d.ts +0 -8
  364. package/dist/modules/otel/handlers/workflow-end.handler.js +0 -73
  365. package/dist/modules/otel/handlers/workflow-end.handler.js.map +0 -1
  366. package/dist/modules/otel/handlers/workflow-start.handler.d.ts +0 -7
  367. package/dist/modules/otel/handlers/workflow-start.handler.js +0 -30
  368. package/dist/modules/otel/handlers/workflow-start.handler.js.map +0 -1
  369. package/dist/modules/otel/n8n-instrumentation.d.ts +0 -21
  370. package/dist/modules/otel/n8n-instrumentation.js +0 -103
  371. package/dist/modules/otel/n8n-instrumentation.js.map +0 -1
  372. package/dist/modules/otel/span-registry.d.ts +0 -14
  373. package/dist/modules/otel/span-registry.js +0 -58
  374. package/dist/modules/otel/span-registry.js.map +0 -1
@@ -94,6 +94,7 @@ RULES:
94
94
  - For service-specific triggers (Gmail Trigger, Slack Trigger, etc.): match the service's real event/message output format
95
95
  - For schedule triggers: include timestamp fields
96
96
  - For manual triggers: include the fields that downstream nodes reference
97
+ - CRITICAL: triggerContent must NEVER be an empty object ({}). Even for scenarios that test empty payloads ("empty submission", "no data", "missing fields"), emit the trigger envelope with empty *nested* fields — an empty webhook is { headers: {}, query: {}, body: {} }, a schedule with no context is { timestamp: "..." }. The workflow cannot execute without trigger output.
97
98
  - CRITICAL: check what downstream nodes reference (e.g., $json.body.email, $json.subject, $json.text) and ensure those paths exist in triggerContent
98
99
  3. Create a "nodeHints" object with one entry per node. Each hint describes what data that specific node's API response should contain, referencing entities from the global context.
99
100
  4. Hints should describe the DATA CONTENT, not the API response format. The mock server already knows the API schema.
@@ -146,6 +147,7 @@ function buildUserPrompt(workflow, nodeNames, scenarioHints) {
146
147
  sections.push(' }', '}', '```');
147
148
  return sections.join('\n');
148
149
  }
150
+ const MAX_HINT_ATTEMPTS = 2;
149
151
  async function generateMockHints(options) {
150
152
  const { workflow, nodeNames, scenarioHints } = options;
151
153
  const emptyResult = {
@@ -158,60 +160,66 @@ async function generateMockHints(options) {
158
160
  if (nodeNames.length === 0)
159
161
  return emptyResult;
160
162
  const userPrompt = buildUserPrompt(workflow, nodeNames, scenarioHints);
161
- try {
162
- const agent = (0, instance_ai_1.createEvalAgent)('eval-hint-generator', {
163
- instructions: SYSTEM_PROMPT,
164
- });
165
- const result = await agent.generate(userPrompt, {
166
- providerOptions: { anthropic: { maxTokens: 4096 } },
167
- });
168
- let text = (0, instance_ai_1.extractText)(result);
169
- text = text
170
- .replace(/^```(?:json)?\s*\n?/i, '')
171
- .replace(/\n?\s*```\s*$/i, '')
172
- .trim();
173
- const parsed = (0, n8n_workflow_1.jsonParse)(text);
174
- let globalContext = '';
175
- if (typeof parsed.globalContext === 'string') {
176
- globalContext = parsed.globalContext;
177
- }
178
- else if (typeof parsed.globalContext === 'object' && parsed.globalContext !== null) {
179
- globalContext = JSON.stringify(parsed.globalContext);
180
- }
181
- if (typeof parsed.nodeHints !== 'object' ||
182
- parsed.nodeHints === null ||
183
- Array.isArray(parsed.nodeHints)) {
184
- const preview = text.slice(0, 300);
185
- return {
186
- ...emptyResult,
187
- warnings: [`Phase 1: LLM returned invalid structure. Raw: ${preview}`],
188
- };
163
+ const warnings = [];
164
+ for (let attempt = 1; attempt <= MAX_HINT_ATTEMPTS; attempt++) {
165
+ let reason = '';
166
+ try {
167
+ const agent = (0, instance_ai_1.createEvalAgent)('eval-hint-generator', {
168
+ instructions: SYSTEM_PROMPT,
169
+ });
170
+ const result = await agent.generate(userPrompt, {
171
+ providerOptions: { anthropic: { maxTokens: 4096 } },
172
+ });
173
+ const text = (0, instance_ai_1.extractText)(result)
174
+ .replace(/^```(?:json)?\s*\n?/i, '')
175
+ .replace(/\n?\s*```\s*$/i, '')
176
+ .trim();
177
+ const parsed = (0, n8n_workflow_1.jsonParse)(text);
178
+ let globalContext = '';
179
+ if (typeof parsed.globalContext === 'string') {
180
+ globalContext = parsed.globalContext;
181
+ }
182
+ else if (typeof parsed.globalContext === 'object' && parsed.globalContext !== null) {
183
+ globalContext = JSON.stringify(parsed.globalContext);
184
+ }
185
+ if (typeof parsed.nodeHints !== 'object' ||
186
+ parsed.nodeHints === null ||
187
+ Array.isArray(parsed.nodeHints)) {
188
+ reason = `invalid nodeHints structure (raw: ${text.slice(0, 200)})`;
189
+ }
190
+ else {
191
+ const triggerContent = typeof parsed.triggerContent === 'object' &&
192
+ parsed.triggerContent !== null &&
193
+ !Array.isArray(parsed.triggerContent)
194
+ ? parsed.triggerContent
195
+ : {};
196
+ if (Object.keys(triggerContent).length === 0) {
197
+ reason = 'empty triggerContent';
198
+ }
199
+ else {
200
+ const nodeHints = {};
201
+ for (const [key, value] of Object.entries(parsed.nodeHints)) {
202
+ nodeHints[key] = typeof value === 'string' ? value : JSON.stringify(value);
203
+ }
204
+ return {
205
+ globalContext,
206
+ nodeHints,
207
+ triggerContent: triggerContent,
208
+ warnings,
209
+ bypassPinData: {},
210
+ };
211
+ }
212
+ }
189
213
  }
190
- const warnings = [];
191
- const triggerContent = typeof parsed.triggerContent === 'object' &&
192
- parsed.triggerContent !== null &&
193
- !Array.isArray(parsed.triggerContent)
194
- ? parsed.triggerContent
195
- : {};
196
- if (Object.keys(triggerContent).length === 0) {
197
- warnings.push('Phase 1: LLM returned empty triggerContent — trigger node will have no data');
214
+ catch (error) {
215
+ reason = error instanceof Error ? error.message : String(error);
198
216
  }
199
- const nodeHints = {};
200
- for (const [key, value] of Object.entries(parsed.nodeHints)) {
201
- nodeHints[key] = typeof value === 'string' ? value : JSON.stringify(value);
217
+ warnings.push(`Phase 1 attempt ${attempt}/${MAX_HINT_ATTEMPTS}: ${reason}`);
218
+ if (attempt < MAX_HINT_ATTEMPTS) {
219
+ di_1.Container.get(backend_common_1.Logger).warn(`[EvalMock] Phase 1 attempt ${attempt}/${MAX_HINT_ATTEMPTS} unusable (${reason}) retrying`);
202
220
  }
203
- return {
204
- globalContext,
205
- nodeHints,
206
- triggerContent: triggerContent,
207
- warnings,
208
- bypassPinData: {},
209
- };
210
- }
211
- catch (error) {
212
- const errorMsg = error instanceof Error ? error.message : String(error);
213
- di_1.Container.get(backend_common_1.Logger).error(`[EvalMock] Phase 1 hint generation failed: ${errorMsg}`);
214
- return { ...emptyResult, warnings: [`Phase 1 error: ${errorMsg}`] };
215
221
  }
222
+ di_1.Container.get(backend_common_1.Logger).error(`[EvalMock] Phase 1 exhausted ${MAX_HINT_ATTEMPTS} attempts — ${warnings.join('; ')}`);
223
+ return { ...emptyResult, warnings };
216
224
  }
217
225
  //# sourceMappingURL=workflow-analysis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-analysis.js","sourceRoot":"","sources":["../../../../src/modules/instance-ai/eval/workflow-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-analysis.js","sourceRoot":"","sources":["../../../../src/modules/instance-ai/eval/workflow-analysis.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { InstanceAiContext, ExecutionResult, ExecutionDebugInfo, NodeOutput
2
2
  import { GlobalConfig } from '@n8n/config';
3
3
  import type { User } from '@n8n/db';
4
4
  import { InstanceAiSettingsService } from './instance-ai-settings.service';
5
- import { ExecutionRepository, ProjectRepository, SharedWorkflowRepository, WorkflowRepository } from '@n8n/db';
5
+ import { AiBuilderTemporaryWorkflowRepository, ExecutionRepository, ProjectRepository, SharedWorkflowRepository, WorkflowRepository } from '@n8n/db';
6
6
  import { Logger } from '@n8n/backend-common';
7
7
  import { InstanceSettings } from 'n8n-core';
8
8
  import { ActiveExecutions } from '../../active-executions';
@@ -54,12 +54,13 @@ export declare class InstanceAiAdapterService {
54
54
  private readonly eventService;
55
55
  private readonly roleService;
56
56
  private readonly telemetry;
57
+ private readonly aiBuilderTemporaryWorkflowRepository;
57
58
  private readonly logger;
58
59
  private readonly allowSendingParameterValues;
59
60
  private nodesCache;
60
61
  private readonly NODES_CACHE_TTL_MS;
61
62
  private getNodesFromCache;
62
- constructor(logger: Logger, globalConfig: GlobalConfig, workflowService: WorkflowService, workflowFinderService: WorkflowFinderService, workflowRepository: WorkflowRepository, sharedWorkflowRepository: SharedWorkflowRepository, projectRepository: ProjectRepository, executionRepository: ExecutionRepository, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService, activeExecutions: ActiveExecutions, workflowRunner: WorkflowRunner, loadNodesAndCredentials: LoadNodesAndCredentials, instanceSettings: InstanceSettings, dataTableService: DataTableService, dataTableRepository: DataTableRepository, dynamicNodeParametersService: DynamicNodeParametersService, folderService: FolderService, projectService: ProjectService, tagService: TagService, sourceControlPreferencesService: SourceControlPreferencesService, settingsService: InstanceAiSettingsService, workflowHistoryService: WorkflowHistoryService, enterpriseWorkflowService: EnterpriseWorkflowService, license: License, executionPersistence: ExecutionPersistence, eventService: EventService, roleService: RoleService, telemetry: Telemetry);
63
+ constructor(logger: Logger, globalConfig: GlobalConfig, workflowService: WorkflowService, workflowFinderService: WorkflowFinderService, workflowRepository: WorkflowRepository, sharedWorkflowRepository: SharedWorkflowRepository, projectRepository: ProjectRepository, executionRepository: ExecutionRepository, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService, activeExecutions: ActiveExecutions, workflowRunner: WorkflowRunner, loadNodesAndCredentials: LoadNodesAndCredentials, instanceSettings: InstanceSettings, dataTableService: DataTableService, dataTableRepository: DataTableRepository, dynamicNodeParametersService: DynamicNodeParametersService, folderService: FolderService, projectService: ProjectService, tagService: TagService, sourceControlPreferencesService: SourceControlPreferencesService, settingsService: InstanceAiSettingsService, workflowHistoryService: WorkflowHistoryService, enterpriseWorkflowService: EnterpriseWorkflowService, license: License, executionPersistence: ExecutionPersistence, eventService: EventService, roleService: RoleService, telemetry: Telemetry, aiBuilderTemporaryWorkflowRepository: AiBuilderTemporaryWorkflowRepository);
63
64
  createContext(user: User, options?: {
64
65
  searchProxyConfig?: ServiceProxyConfig;
65
66
  pushRef?: string;
@@ -103,7 +103,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
103
103
  });
104
104
  return await promise;
105
105
  }
106
- constructor(logger, globalConfig, workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, projectRepository, executionRepository, credentialsService, credentialsFinderService, activeExecutions, workflowRunner, loadNodesAndCredentials, instanceSettings, dataTableService, dataTableRepository, dynamicNodeParametersService, folderService, projectService, tagService, sourceControlPreferencesService, settingsService, workflowHistoryService, enterpriseWorkflowService, license, executionPersistence, eventService, roleService, telemetry) {
106
+ constructor(logger, globalConfig, workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, projectRepository, executionRepository, credentialsService, credentialsFinderService, activeExecutions, workflowRunner, loadNodesAndCredentials, instanceSettings, dataTableService, dataTableRepository, dynamicNodeParametersService, folderService, projectService, tagService, sourceControlPreferencesService, settingsService, workflowHistoryService, enterpriseWorkflowService, license, executionPersistence, eventService, roleService, telemetry, aiBuilderTemporaryWorkflowRepository) {
107
107
  this.workflowService = workflowService;
108
108
  this.workflowFinderService = workflowFinderService;
109
109
  this.workflowRepository = workflowRepository;
@@ -131,6 +131,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
131
131
  this.eventService = eventService;
132
132
  this.roleService = roleService;
133
133
  this.telemetry = telemetry;
134
+ this.aiBuilderTemporaryWorkflowRepository = aiBuilderTemporaryWorkflowRepository;
134
135
  this.nodesCache = null;
135
136
  this.NODES_CACHE_TTL_MS = 5 * 60 * 1000;
136
137
  this.webResearchCache = new web_research_1.LRUCache({
@@ -197,7 +198,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
197
198
  return { getPersonalProjectId, assertProjectScope, resolveProjectId };
198
199
  }
199
200
  createWorkflowAdapter(user, threadId) {
200
- const { workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, workflowHistoryService, enterpriseWorkflowService, license, allowSendingParameterValues, telemetry, } = this;
201
+ const { workflowService, workflowFinderService, workflowRepository, sharedWorkflowRepository, aiBuilderTemporaryWorkflowRepository, workflowHistoryService, enterpriseWorkflowService, license, allowSendingParameterValues, telemetry, } = this;
201
202
  const assertNotReadOnly = () => this.assertInstanceNotReadOnly('workflows');
202
203
  const { resolveProjectId } = this.createProjectScopeHelpers(user);
203
204
  const redactParameters = !allowSendingParameterValues;
@@ -238,6 +239,35 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
238
239
  assertNotReadOnly();
239
240
  await workflowService.delete(user, workflowId);
240
241
  },
242
+ async clearAiTemporary(workflowId) {
243
+ assertNotReadOnly();
244
+ const workflow = await workflowFinderService.findWorkflowForUser(workflowId, user, [
245
+ 'workflow:update',
246
+ ]);
247
+ if (!workflow)
248
+ return;
249
+ if (!(await aiBuilderTemporaryWorkflowRepository.existsForWorkflow(workflowId)))
250
+ return;
251
+ await aiBuilderTemporaryWorkflowRepository.unmark(workflowId);
252
+ },
253
+ async archiveIfAiTemporary(workflowId) {
254
+ assertNotReadOnly();
255
+ const workflow = await workflowFinderService.findWorkflowForUser(workflowId, user, [
256
+ 'workflow:update',
257
+ ]);
258
+ if (!workflow)
259
+ return false;
260
+ if (!(await aiBuilderTemporaryWorkflowRepository.existsForWorkflow(workflowId))) {
261
+ return false;
262
+ }
263
+ if (workflow.isArchived) {
264
+ await aiBuilderTemporaryWorkflowRepository.unmark(workflowId);
265
+ return false;
266
+ }
267
+ await workflowService.archive(user, workflowId, { skipArchived: true });
268
+ await aiBuilderTemporaryWorkflowRepository.unmark(workflowId);
269
+ return true;
270
+ },
241
271
  async publish(workflowId, options) {
242
272
  const wf = await workflowService.activateWorkflow(user, workflowId, {
243
273
  versionId: options?.versionId,
@@ -287,12 +317,17 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
287
317
  active: false,
288
318
  versionId: (0, node_crypto_1.randomUUID)(),
289
319
  });
290
- const saved = await workflowRepository.save(newWorkflow);
291
- await sharedWorkflowRepository.save(sharedWorkflowRepository.create({
292
- role: 'workflow:owner',
293
- projectId,
294
- workflow: saved,
295
- }));
320
+ const saved = await workflowRepository.manager.transaction(async (transactionManager) => {
321
+ const workflow = await transactionManager.save(db_1.WorkflowEntity, newWorkflow);
322
+ await sharedWorkflowRepository.makeOwner([workflow.id], projectId, transactionManager);
323
+ if (options?.markAsAiTemporary) {
324
+ if (!threadId) {
325
+ throw new n8n_workflow_1.UnexpectedError('Cannot mark AI-builder temporary workflow without a thread ID');
326
+ }
327
+ await aiBuilderTemporaryWorkflowRepository.mark(workflow.id, threadId, transactionManager);
328
+ }
329
+ return workflow;
330
+ });
296
331
  let updateData = workflowRepository.create({
297
332
  name: json.name,
298
333
  nodes: json.nodes,
@@ -1154,6 +1189,9 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1154
1189
  credentials: desc.credentials?.map((c) => ({
1155
1190
  name: c.name,
1156
1191
  required: c.required,
1192
+ ...(c.displayOptions
1193
+ ? { displayOptions: c.displayOptions }
1194
+ : {}),
1157
1195
  })),
1158
1196
  inputs: Array.isArray(desc.inputs) ? desc.inputs.map(String) : [],
1159
1197
  outputs: Array.isArray(desc.outputs) ? desc.outputs.map(String) : [],
@@ -1323,6 +1361,14 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1323
1361
  projectId: personalProject.id,
1324
1362
  currentNodeParameters,
1325
1363
  });
1364
+ let builderHint;
1365
+ {
1366
+ const nodes = await getNodes();
1367
+ const nodeDesc = nodes.find((n) => n.name === params.nodeType);
1368
+ if (nodeDesc) {
1369
+ builderHint = findBuilderHintForMethod(nodeDesc, params.methodName, params.methodType);
1370
+ }
1371
+ }
1326
1372
  try {
1327
1373
  if (params.methodType === 'listSearch') {
1328
1374
  const result = await dynamicNodeParametersService.getResourceLocatorResults(params.methodName, '', additionalData, nodeTypeAndVersion, currentNodeParameters, credentials, params.filter, params.paginationToken);
@@ -1333,6 +1379,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1333
1379
  url: r.url,
1334
1380
  })),
1335
1381
  paginationToken: result.paginationToken,
1382
+ ...(builderHint ? { builderHint } : {}),
1336
1383
  };
1337
1384
  }
1338
1385
  const options = await dynamicNodeParametersService.getOptionsViaMethodName(params.methodName, '', additionalData, nodeTypeAndVersion, currentNodeParameters, credentials);
@@ -1342,6 +1389,7 @@ let InstanceAiAdapterService = class InstanceAiAdapterService {
1342
1389
  value: o.value,
1343
1390
  description: o.description,
1344
1391
  })),
1392
+ ...(builderHint ? { builderHint } : {}),
1345
1393
  };
1346
1394
  }
1347
1395
  catch (error) {
@@ -1536,10 +1584,45 @@ exports.InstanceAiAdapterService = InstanceAiAdapterService = __decorate([
1536
1584
  execution_persistence_1.ExecutionPersistence,
1537
1585
  event_service_1.EventService,
1538
1586
  role_service_1.RoleService,
1539
- telemetry_1.Telemetry])
1587
+ telemetry_1.Telemetry,
1588
+ db_1.AiBuilderTemporaryWorkflowRepository])
1540
1589
  ], InstanceAiAdapterService);
1541
1590
  const MAX_RESULT_CHARS = 20_000;
1542
1591
  const MAX_NODE_OUTPUT_CHARS = 1_000;
1592
+ function findBuilderHintForMethod(nodeDesc, methodName, methodType) {
1593
+ const referencesMethod = (prop) => {
1594
+ switch (methodType) {
1595
+ case 'loadOptions':
1596
+ return prop.typeOptions?.loadOptionsMethod === methodName;
1597
+ case 'listSearch': {
1598
+ const modes = prop.modes ?? [];
1599
+ return modes.some((mode) => mode.typeOptions?.searchListMethod === methodName);
1600
+ }
1601
+ }
1602
+ };
1603
+ const isCollection = (item) => 'values' in item;
1604
+ const isProperty = (item) => 'type' in item;
1605
+ const searchProps = (items) => {
1606
+ for (const item of items ?? []) {
1607
+ if (isCollection(item)) {
1608
+ const nested = searchProps(item.values);
1609
+ if (nested)
1610
+ return nested;
1611
+ continue;
1612
+ }
1613
+ if (!isProperty(item))
1614
+ continue;
1615
+ if (referencesMethod(item) && item.builderHint?.message) {
1616
+ return item.builderHint.message;
1617
+ }
1618
+ const nested = searchProps(item.options);
1619
+ if (nested)
1620
+ return nested;
1621
+ }
1622
+ return undefined;
1623
+ };
1624
+ return searchProps(nodeDesc.properties);
1625
+ }
1543
1626
  function truncateResultData(resultData) {
1544
1627
  const serialized = JSON.stringify(resultData);
1545
1628
  if (serialized.length <= MAX_RESULT_CHARS)