@oomol-lab/open-flow 0.1.0-beta.72 → 0.1.0-beta.74

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 (432) hide show
  1. package/LICENSE +36 -0
  2. package/NOTICE +7 -0
  3. package/README.md +40 -0
  4. package/dist/browser/{createResourceDialog-BWJkjiOO.js → createResourceDialog-DI9pL-Yr.js} +2 -2
  5. package/dist/browser/{dialog-CUy_fwx9.js → dialog-BYJGvItc.js} +54 -19
  6. package/dist/browser/{flowChanges-CgSnSqqP.js → flowChanges-RL-H4CjD.js} +306 -48
  7. package/dist/browser/{flowWorkspace-Bf7H-r0t.js → flowWorkspace-BkDsETj0.js} +20745 -20186
  8. package/dist/browser/preview.css +73 -3
  9. package/dist/browser/preview.js +21410 -20607
  10. package/dist/browser/{typeScriptSession-B0hC-C8y.js → typeScriptSession-CSRwWmZm.js} +1 -1
  11. package/dist/browser/ui.css +72 -2
  12. package/dist/browser/workbench.css +73 -3
  13. package/dist/browser/workbench.js +14 -76
  14. package/dist/browser/{workbenchSelect-C3e4J93X.js → workbenchSelect-BcWPWGzw.js} +1 -1
  15. package/dist/command/index.js +34 -34
  16. package/dist/common/authoring.d.ts +1 -1
  17. package/dist/common/authoringFields.d.ts +1 -1
  18. package/dist/common/authoringSchema.d.ts +28 -4
  19. package/dist/common/connector-proxy.d.ts +1 -1
  20. package/dist/common/control-api-conformance.d.ts +1 -1
  21. package/dist/common/control-api-conformance.js +61 -24
  22. package/dist/common/control-api.d.ts +4 -3
  23. package/dist/common/control-api.js +90 -42
  24. package/dist/common/control-requests.d.ts +2 -1
  25. package/dist/common/control-requests.js +204 -42
  26. package/dist/common/cron-trigger.d.ts +1 -1
  27. package/dist/common/decision.d.ts +1 -1
  28. package/dist/common/draftOperations.d.ts +1 -1
  29. package/dist/common/engine-contract.d.ts +3 -2
  30. package/dist/common/event-source-definition.d.ts +1 -1
  31. package/dist/common/flow-agent.d.ts +1 -1
  32. package/dist/{browser → common}/flow-authoring-node.d.ts +3 -3
  33. package/dist/{browser → common}/flow-authoring.js +75 -23
  34. package/dist/{browser → common}/flow-change-schema.d.ts +177 -6
  35. package/dist/{browser → common}/flow-change.d.ts +35 -15
  36. package/dist/{browser → common}/flow-change.js +77 -25
  37. package/dist/common/flow-connectionUsage.d.ts +1 -1
  38. package/dist/common/flow-encoding.d.ts +1 -1
  39. package/dist/common/flow-encoding.js +34 -16
  40. package/dist/common/flow-errorHandling.d.ts +1 -1
  41. package/dist/common/flow-graph.d.ts +1 -1
  42. package/dist/common/flow-modules.d.ts +1 -1
  43. package/dist/common/flow-promptTemplate.d.ts +1 -1
  44. package/dist/common/flow-retry.d.ts +1 -1
  45. package/dist/common/flow-semantics.d.ts +1 -1
  46. package/dist/common/flow-semantics.js +151 -32
  47. package/dist/common/flow-workflowFile.d.ts +1 -1
  48. package/dist/common/flowInspection.d.ts +3 -3
  49. package/dist/common/integration-trigger.d.ts +1 -1
  50. package/dist/common/licenses.md +118 -1
  51. package/dist/common/liveDetails.d.ts +1 -1
  52. package/dist/common/mcp.d.ts +2 -1
  53. package/dist/common/mcp.js +59 -22
  54. package/dist/common/openapi.d.ts +1 -1
  55. package/dist/common/poll-trigger.d.ts +1 -1
  56. package/dist/common/run-results.d.ts +8 -1
  57. package/dist/common/runtime-contract.d.ts +8 -2
  58. package/dist/common/runtime-contract.js +22 -5
  59. package/dist/common/scheduler-checkpoint.d.ts +1 -1
  60. package/dist/common/scheduler-dependencies.d.ts +1 -1
  61. package/dist/common/scheduler-node-execution.d.ts +1 -1
  62. package/dist/common/scheduler.d.ts +2 -2
  63. package/dist/common/scheduler.js +31 -12
  64. package/dist/common/trigger-catalog.d.ts +1 -1
  65. package/dist/common/trigger-config-options.d.ts +1 -1
  66. package/dist/common/trigger-config.d.ts +1 -1
  67. package/dist/common/trigger-contract.d.ts +2 -2
  68. package/dist/common/trigger-localization.d.ts +1 -1
  69. package/dist/common/webhook-response.d.ts +1 -1
  70. package/dist/common/webhook-trigger.d.ts +1 -1
  71. package/dist/common/workflow.d.ts +17 -1
  72. package/dist/common/workflow.js +68 -22
  73. package/dist/index.d.ts +6 -3
  74. package/package.json +7 -6
  75. package/src/base/common/json.ts +90 -0
  76. package/src/canvas/common/commands.ts +15 -0
  77. package/src/connector/common/actionSchema.ts +168 -0
  78. package/src/connector/common/proxy.ts +44 -0
  79. package/src/control/common/api.ts +1505 -0
  80. package/src/control/common/authoring.ts +912 -0
  81. package/src/control/common/authoringCondition.ts +110 -0
  82. package/src/control/common/authoringDiagnosticFields.ts +136 -0
  83. package/src/control/common/authoringExamples.ts +192 -0
  84. package/src/control/common/authoringFields.ts +53 -0
  85. package/src/control/common/authoringLlm.ts +70 -0
  86. package/src/control/common/authoringOpenApi.ts +129 -0
  87. package/src/control/common/authoringSchema.ts +404 -0
  88. package/src/control/common/authoringTools.ts +123 -0
  89. package/src/control/common/authoringTriggers.ts +26 -0
  90. package/src/control/common/checkDecoders.ts +65 -0
  91. package/src/control/common/conformance.ts +1989 -0
  92. package/src/control/common/connectorDecoders.ts +370 -0
  93. package/src/control/common/connectorQueries.ts +61 -0
  94. package/src/control/common/decoding.ts +60 -0
  95. package/src/control/common/draftOperations.ts +61 -0
  96. package/src/control/common/errors.ts +114 -0
  97. package/src/control/common/eventSourceSchemas.ts +13 -0
  98. package/src/control/common/eventSources.ts +186 -0
  99. package/src/control/common/flowDecoders.ts +153 -0
  100. package/src/control/common/flowInspection.ts +181 -0
  101. package/src/control/common/flowNotifications.ts +37 -0
  102. package/src/control/common/liveDetails.ts +124 -0
  103. package/src/control/common/mcp.ts +241 -0
  104. package/src/control/common/mcpConformance.ts +142 -0
  105. package/src/control/common/providerAccess.ts +28 -0
  106. package/src/control/common/providerIconSprite.ts +42 -0
  107. package/src/control/common/publicationDecoders.ts +98 -0
  108. package/src/control/common/random.ts +16 -0
  109. package/src/control/common/requests.ts +112 -0
  110. package/src/control/common/resultQuery.ts +8 -0
  111. package/src/control/common/results.ts +176 -0
  112. package/src/control/common/revisionDecoders.ts +52 -0
  113. package/src/control/common/runDecoders.ts +240 -0
  114. package/src/control/common/triggerCatalog.ts +89 -0
  115. package/src/control/common/triggerDecoders.ts +175 -0
  116. package/src/decision/common/decision.ts +168 -0
  117. package/src/event-source/common/catalog.generated.json +65 -0
  118. package/src/event-source/common/definition.ts +66 -0
  119. package/src/event-source/common/index.ts +99 -0
  120. package/src/execution/common/checkpoint.ts +311 -0
  121. package/src/execution/common/dependencies.ts +440 -0
  122. package/src/execution/common/engineContract.ts +80 -0
  123. package/src/execution/common/events.ts +328 -0
  124. package/src/execution/common/node-execution.ts +467 -0
  125. package/src/execution/common/runLifecycle.ts +250 -0
  126. package/src/execution/common/runtime.ts +563 -0
  127. package/src/execution/common/scheduler.ts +696 -0
  128. package/src/execution/common/wait.ts +36 -0
  129. package/src/flow/common/agent.ts +305 -0
  130. package/src/flow/common/authoring.ts +30 -0
  131. package/src/flow/common/change.ts +1036 -0
  132. package/src/flow/common/changeSchema.ts +783 -0
  133. package/src/flow/common/codePermissions.ts +2 -0
  134. package/src/flow/common/condition.ts +265 -0
  135. package/src/flow/common/connectionUsage.ts +131 -0
  136. package/src/flow/common/edgeChanges.ts +35 -0
  137. package/src/flow/common/encoding.ts +437 -0
  138. package/src/flow/common/errorHandling.ts +34 -0
  139. package/src/flow/common/graph.ts +892 -0
  140. package/src/flow/common/inputValue.ts +16 -0
  141. package/src/flow/common/json.ts +8 -0
  142. package/src/flow/common/moduleChanges.ts +31 -0
  143. package/src/flow/common/modules.ts +292 -0
  144. package/src/flow/common/nodeChanges.ts +762 -0
  145. package/src/flow/common/portChanges.ts +36 -0
  146. package/src/flow/common/promptTemplate.ts +15 -0
  147. package/src/flow/common/retry.ts +20 -0
  148. package/src/flow/common/schema.ts +162 -0
  149. package/src/flow/common/schemaCompare.ts +176 -0
  150. package/src/flow/common/schemaComparer.ts +178 -0
  151. package/src/flow/common/schemaKeywords.ts +53 -0
  152. package/src/flow/common/semantics.ts +474 -0
  153. package/src/flow/common/sourceField.ts +35 -0
  154. package/src/flow/common/triggerScheduleSchema.ts +8 -0
  155. package/src/flow/common/wait.ts +30 -0
  156. package/src/flow/common/webhookMethod.ts +7 -0
  157. package/src/flow/common/webhookResponse.ts +75 -0
  158. package/src/flow/common/workflowFile.ts +97 -0
  159. package/src/json-schema-subset/checker/array.ts +142 -0
  160. package/src/json-schema-subset/checker/cache.ts +57 -0
  161. package/src/json-schema-subset/checker/checker.ts +230 -0
  162. package/src/json-schema-subset/checker/enumAndConst.ts +113 -0
  163. package/src/json-schema-subset/checker/equals.ts +93 -0
  164. package/src/json-schema-subset/checker/numeric/checker.ts +50 -0
  165. package/src/json-schema-subset/checker/numeric/float.ts +121 -0
  166. package/src/json-schema-subset/checker/numeric/index.ts +1 -0
  167. package/src/json-schema-subset/checker/numeric/integer.ts +119 -0
  168. package/src/json-schema-subset/checker/numeric/integerNormalizer.ts +72 -0
  169. package/src/json-schema-subset/checker/object.ts +354 -0
  170. package/src/json-schema-subset/checker/range.ts +91 -0
  171. package/src/json-schema-subset/checker/string.ts +60 -0
  172. package/src/json-schema-subset/checker/tools/index.ts +3 -0
  173. package/src/json-schema-subset/checker/tools/mark.ts +82 -0
  174. package/src/json-schema-subset/checker/tools/quantum.ts +106 -0
  175. package/src/json-schema-subset/checker/tools/range.ts +210 -0
  176. package/src/json-schema-subset/checker/validator.ts +23 -0
  177. package/src/json-schema-subset/compiler/array.ts +163 -0
  178. package/src/json-schema-subset/compiler/combination.ts +109 -0
  179. package/src/json-schema-subset/compiler/common.ts +99 -0
  180. package/src/json-schema-subset/compiler/compiler.ts +188 -0
  181. package/src/json-schema-subset/compiler/enumAndConst.ts +75 -0
  182. package/src/json-schema-subset/compiler/index.ts +11 -0
  183. package/src/json-schema-subset/compiler/object.ts +411 -0
  184. package/src/json-schema-subset/compiler/primitive.ts +144 -0
  185. package/src/json-schema-subset/compiler/utils.ts +24 -0
  186. package/src/json-schema-subset/compiler/wrapper.ts +192 -0
  187. package/src/json-schema-subset/error.ts +55 -0
  188. package/src/json-schema-subset/expression/calculator.ts +442 -0
  189. package/src/json-schema-subset/expression/combination.ts +49 -0
  190. package/src/json-schema-subset/expression/expression.ts +191 -0
  191. package/src/json-schema-subset/expression/index.ts +25 -0
  192. package/src/json-schema-subset/expression/result.ts +88 -0
  193. package/src/json-schema-subset/expression/types.ts +36 -0
  194. package/src/json-schema-subset/extends/extendsContext.ts +89 -0
  195. package/src/json-schema-subset/extends/index.ts +2 -0
  196. package/src/json-schema-subset/extends/types.ts +12 -0
  197. package/src/json-schema-subset/global.ts +60 -0
  198. package/src/json-schema-subset/index.ts +8 -0
  199. package/src/json-schema-subset/preprocessing.ts +74 -0
  200. package/src/json-schema-subset/types.ts +8 -0
  201. package/src/json-schema-subset/utils.ts +95 -0
  202. package/src/localization/common/languages.ts +118 -0
  203. package/src/localization/common/timeZone.ts +25 -0
  204. package/src/openapi/common/authBindings.ts +12 -0
  205. package/src/openapi/common/openapi.ts +459 -0
  206. package/src/trigger/common/config.ts +56 -0
  207. package/src/trigger/common/configOptions.ts +15 -0
  208. package/src/trigger/common/configSchema.ts +8 -0
  209. package/src/trigger/common/contract.ts +132 -0
  210. package/src/trigger/common/cron.ts +151 -0
  211. package/src/trigger/common/integration.ts +498 -0
  212. package/src/trigger/common/poll.ts +187 -0
  213. package/src/trigger/common/webhook.ts +412 -0
  214. package/src/trigger/providers/airtable/locales/fr.json +18 -0
  215. package/src/trigger/providers/airtable/locales/ja.json +18 -0
  216. package/src/trigger/providers/airtable/locales/ko.json +18 -0
  217. package/src/trigger/providers/airtable/locales/ru.json +18 -0
  218. package/src/trigger/providers/airtable/locales/zh-CN.json +18 -0
  219. package/src/trigger/providers/airtable/locales/zh-TW.json +18 -0
  220. package/src/trigger/providers/asana/locales/fr.json +15 -0
  221. package/src/trigger/providers/asana/locales/ja.json +15 -0
  222. package/src/trigger/providers/asana/locales/ko.json +15 -0
  223. package/src/trigger/providers/asana/locales/ru.json +15 -0
  224. package/src/trigger/providers/asana/locales/zh-CN.json +15 -0
  225. package/src/trigger/providers/asana/locales/zh-TW.json +15 -0
  226. package/src/trigger/providers/calendly/locales/fr.json +16 -0
  227. package/src/trigger/providers/calendly/locales/ja.json +16 -0
  228. package/src/trigger/providers/calendly/locales/ko.json +16 -0
  229. package/src/trigger/providers/calendly/locales/ru.json +16 -0
  230. package/src/trigger/providers/calendly/locales/zh-CN.json +16 -0
  231. package/src/trigger/providers/calendly/locales/zh-TW.json +16 -0
  232. package/src/trigger/providers/catalog.generated.json +4996 -0
  233. package/src/trigger/providers/clickup/locales/fr.json +16 -0
  234. package/src/trigger/providers/clickup/locales/ja.json +16 -0
  235. package/src/trigger/providers/clickup/locales/ko.json +16 -0
  236. package/src/trigger/providers/clickup/locales/ru.json +16 -0
  237. package/src/trigger/providers/clickup/locales/zh-CN.json +16 -0
  238. package/src/trigger/providers/clickup/locales/zh-TW.json +16 -0
  239. package/src/trigger/providers/definitions.ts +19 -0
  240. package/src/trigger/providers/feishu/locales/fr.json +20 -0
  241. package/src/trigger/providers/feishu/locales/ja.json +20 -0
  242. package/src/trigger/providers/feishu/locales/ko.json +20 -0
  243. package/src/trigger/providers/feishu/locales/ru.json +20 -0
  244. package/src/trigger/providers/feishu/locales/zh-CN.json +20 -0
  245. package/src/trigger/providers/feishu/locales/zh-TW.json +20 -0
  246. package/src/trigger/providers/fieldDescriptions.ts +392 -0
  247. package/src/trigger/providers/fieldLabels.ts +256 -0
  248. package/src/trigger/providers/fireflies/locales/fr.json +17 -0
  249. package/src/trigger/providers/fireflies/locales/ja.json +17 -0
  250. package/src/trigger/providers/fireflies/locales/ko.json +17 -0
  251. package/src/trigger/providers/fireflies/locales/ru.json +17 -0
  252. package/src/trigger/providers/fireflies/locales/zh-CN.json +17 -0
  253. package/src/trigger/providers/fireflies/locales/zh-TW.json +17 -0
  254. package/src/trigger/providers/github/locales/fr.json +30 -0
  255. package/src/trigger/providers/github/locales/ja.json +30 -0
  256. package/src/trigger/providers/github/locales/ko.json +30 -0
  257. package/src/trigger/providers/github/locales/ru.json +30 -0
  258. package/src/trigger/providers/github/locales/zh-CN.json +30 -0
  259. package/src/trigger/providers/github/locales/zh-TW.json +30 -0
  260. package/src/trigger/providers/gitlab/locales/fr.json +18 -0
  261. package/src/trigger/providers/gitlab/locales/ja.json +18 -0
  262. package/src/trigger/providers/gitlab/locales/ko.json +18 -0
  263. package/src/trigger/providers/gitlab/locales/ru.json +18 -0
  264. package/src/trigger/providers/gitlab/locales/zh-CN.json +18 -0
  265. package/src/trigger/providers/gitlab/locales/zh-TW.json +18 -0
  266. package/src/trigger/providers/gmail/locales/fr.json +18 -0
  267. package/src/trigger/providers/gmail/locales/ja.json +18 -0
  268. package/src/trigger/providers/gmail/locales/ko.json +18 -0
  269. package/src/trigger/providers/gmail/locales/ru.json +18 -0
  270. package/src/trigger/providers/gmail/locales/zh-CN.json +18 -0
  271. package/src/trigger/providers/gmail/locales/zh-TW.json +18 -0
  272. package/src/trigger/providers/google-calendar/locales/fr.json +15 -0
  273. package/src/trigger/providers/google-calendar/locales/ja.json +15 -0
  274. package/src/trigger/providers/google-calendar/locales/ko.json +15 -0
  275. package/src/trigger/providers/google-calendar/locales/ru.json +15 -0
  276. package/src/trigger/providers/google-calendar/locales/zh-CN.json +15 -0
  277. package/src/trigger/providers/google-calendar/locales/zh-TW.json +15 -0
  278. package/src/trigger/providers/google-drive/locales/fr.json +48 -0
  279. package/src/trigger/providers/google-drive/locales/ja.json +48 -0
  280. package/src/trigger/providers/google-drive/locales/ko.json +48 -0
  281. package/src/trigger/providers/google-drive/locales/ru.json +48 -0
  282. package/src/trigger/providers/google-drive/locales/zh-CN.json +48 -0
  283. package/src/trigger/providers/google-drive/locales/zh-TW.json +48 -0
  284. package/src/trigger/providers/google-sheets/locales/fr.json +19 -0
  285. package/src/trigger/providers/google-sheets/locales/ja.json +19 -0
  286. package/src/trigger/providers/google-sheets/locales/ko.json +19 -0
  287. package/src/trigger/providers/google-sheets/locales/ru.json +19 -0
  288. package/src/trigger/providers/google-sheets/locales/zh-CN.json +19 -0
  289. package/src/trigger/providers/google-sheets/locales/zh-TW.json +19 -0
  290. package/src/trigger/providers/intercom/locales/fr.json +17 -0
  291. package/src/trigger/providers/intercom/locales/ja.json +17 -0
  292. package/src/trigger/providers/intercom/locales/ko.json +17 -0
  293. package/src/trigger/providers/intercom/locales/ru.json +17 -0
  294. package/src/trigger/providers/intercom/locales/zh-CN.json +17 -0
  295. package/src/trigger/providers/intercom/locales/zh-TW.json +17 -0
  296. package/src/trigger/providers/jira/locales/fr.json +17 -0
  297. package/src/trigger/providers/jira/locales/ja.json +17 -0
  298. package/src/trigger/providers/jira/locales/ko.json +17 -0
  299. package/src/trigger/providers/jira/locales/ru.json +17 -0
  300. package/src/trigger/providers/jira/locales/zh-CN.json +17 -0
  301. package/src/trigger/providers/jira/locales/zh-TW.json +17 -0
  302. package/src/trigger/providers/linear/locales/fr.json +13 -0
  303. package/src/trigger/providers/linear/locales/ja.json +13 -0
  304. package/src/trigger/providers/linear/locales/ko.json +13 -0
  305. package/src/trigger/providers/linear/locales/ru.json +13 -0
  306. package/src/trigger/providers/linear/locales/zh-CN.json +13 -0
  307. package/src/trigger/providers/linear/locales/zh-TW.json +13 -0
  308. package/src/trigger/providers/locales/fr.ts +71 -0
  309. package/src/trigger/providers/locales/ja.ts +71 -0
  310. package/src/trigger/providers/locales/ko.ts +71 -0
  311. package/src/trigger/providers/locales/ru.ts +71 -0
  312. package/src/trigger/providers/locales/zh-CN.ts +71 -0
  313. package/src/trigger/providers/locales/zh-TW.ts +71 -0
  314. package/src/trigger/providers/localization.ts +59 -0
  315. package/src/trigger/providers/notion/locales/fr.json +16 -0
  316. package/src/trigger/providers/notion/locales/ja.json +16 -0
  317. package/src/trigger/providers/notion/locales/ko.json +16 -0
  318. package/src/trigger/providers/notion/locales/ru.json +16 -0
  319. package/src/trigger/providers/notion/locales/zh-CN.json +16 -0
  320. package/src/trigger/providers/notion/locales/zh-TW.json +16 -0
  321. package/src/trigger/providers/one-drive/locales/fr.json +16 -0
  322. package/src/trigger/providers/one-drive/locales/ja.json +16 -0
  323. package/src/trigger/providers/one-drive/locales/ko.json +16 -0
  324. package/src/trigger/providers/one-drive/locales/ru.json +16 -0
  325. package/src/trigger/providers/one-drive/locales/zh-CN.json +16 -0
  326. package/src/trigger/providers/one-drive/locales/zh-TW.json +16 -0
  327. package/src/trigger/providers/outlook/locales/fr.json +18 -0
  328. package/src/trigger/providers/outlook/locales/ja.json +18 -0
  329. package/src/trigger/providers/outlook/locales/ko.json +18 -0
  330. package/src/trigger/providers/outlook/locales/ru.json +18 -0
  331. package/src/trigger/providers/outlook/locales/zh-CN.json +18 -0
  332. package/src/trigger/providers/outlook/locales/zh-TW.json +18 -0
  333. package/src/trigger/providers/pandadoc/locales/fr.json +12 -0
  334. package/src/trigger/providers/pandadoc/locales/ja.json +12 -0
  335. package/src/trigger/providers/pandadoc/locales/ko.json +12 -0
  336. package/src/trigger/providers/pandadoc/locales/ru.json +12 -0
  337. package/src/trigger/providers/pandadoc/locales/zh-CN.json +12 -0
  338. package/src/trigger/providers/pandadoc/locales/zh-TW.json +12 -0
  339. package/src/trigger/providers/pipedrive/locales/fr.json +15 -0
  340. package/src/trigger/providers/pipedrive/locales/ja.json +15 -0
  341. package/src/trigger/providers/pipedrive/locales/ko.json +15 -0
  342. package/src/trigger/providers/pipedrive/locales/ru.json +15 -0
  343. package/src/trigger/providers/pipedrive/locales/zh-CN.json +15 -0
  344. package/src/trigger/providers/pipedrive/locales/zh-TW.json +15 -0
  345. package/src/trigger/providers/remote.ts +163 -0
  346. package/src/trigger/providers/resend/locales/fr.json +16 -0
  347. package/src/trigger/providers/resend/locales/ja.json +16 -0
  348. package/src/trigger/providers/resend/locales/ko.json +16 -0
  349. package/src/trigger/providers/resend/locales/ru.json +16 -0
  350. package/src/trigger/providers/resend/locales/zh-CN.json +16 -0
  351. package/src/trigger/providers/resend/locales/zh-TW.json +16 -0
  352. package/src/trigger/providers/sentry/locales/fr.json +19 -0
  353. package/src/trigger/providers/sentry/locales/ja.json +19 -0
  354. package/src/trigger/providers/sentry/locales/ko.json +19 -0
  355. package/src/trigger/providers/sentry/locales/ru.json +19 -0
  356. package/src/trigger/providers/sentry/locales/zh-CN.json +19 -0
  357. package/src/trigger/providers/sentry/locales/zh-TW.json +19 -0
  358. package/src/trigger/providers/shopify/locales/fr.json +18 -0
  359. package/src/trigger/providers/shopify/locales/ja.json +18 -0
  360. package/src/trigger/providers/shopify/locales/ko.json +18 -0
  361. package/src/trigger/providers/shopify/locales/ru.json +18 -0
  362. package/src/trigger/providers/shopify/locales/zh-CN.json +18 -0
  363. package/src/trigger/providers/shopify/locales/zh-TW.json +18 -0
  364. package/src/trigger/providers/slack/locales/fr.json +18 -0
  365. package/src/trigger/providers/slack/locales/ja.json +18 -0
  366. package/src/trigger/providers/slack/locales/ko.json +18 -0
  367. package/src/trigger/providers/slack/locales/ru.json +18 -0
  368. package/src/trigger/providers/slack/locales/zh-CN.json +18 -0
  369. package/src/trigger/providers/slack/locales/zh-TW.json +18 -0
  370. package/src/trigger/providers/slackbot/locales/fr.json +23 -0
  371. package/src/trigger/providers/slackbot/locales/ja.json +23 -0
  372. package/src/trigger/providers/slackbot/locales/ko.json +23 -0
  373. package/src/trigger/providers/slackbot/locales/ru.json +23 -0
  374. package/src/trigger/providers/slackbot/locales/zh-CN.json +23 -0
  375. package/src/trigger/providers/slackbot/locales/zh-TW.json +23 -0
  376. package/src/trigger/providers/source-events.ts +25 -0
  377. package/src/trigger/providers/stripe/locales/fr.json +17 -0
  378. package/src/trigger/providers/stripe/locales/ja.json +17 -0
  379. package/src/trigger/providers/stripe/locales/ko.json +17 -0
  380. package/src/trigger/providers/stripe/locales/ru.json +17 -0
  381. package/src/trigger/providers/stripe/locales/zh-CN.json +17 -0
  382. package/src/trigger/providers/stripe/locales/zh-TW.json +17 -0
  383. package/src/trigger/providers/tally/locales/fr.json +12 -0
  384. package/src/trigger/providers/tally/locales/ja.json +12 -0
  385. package/src/trigger/providers/tally/locales/ko.json +12 -0
  386. package/src/trigger/providers/tally/locales/ru.json +12 -0
  387. package/src/trigger/providers/tally/locales/zh-CN.json +12 -0
  388. package/src/trigger/providers/tally/locales/zh-TW.json +12 -0
  389. package/src/trigger/providers/telegram/locales/fr.json +17 -0
  390. package/src/trigger/providers/telegram/locales/ja.json +17 -0
  391. package/src/trigger/providers/telegram/locales/ko.json +17 -0
  392. package/src/trigger/providers/telegram/locales/ru.json +17 -0
  393. package/src/trigger/providers/telegram/locales/zh-CN.json +17 -0
  394. package/src/trigger/providers/telegram/locales/zh-TW.json +17 -0
  395. package/src/trigger/providers/typeform/locales/fr.json +12 -0
  396. package/src/trigger/providers/typeform/locales/ja.json +12 -0
  397. package/src/trigger/providers/typeform/locales/ko.json +12 -0
  398. package/src/trigger/providers/typeform/locales/ru.json +12 -0
  399. package/src/trigger/providers/typeform/locales/zh-CN.json +12 -0
  400. package/src/trigger/providers/typeform/locales/zh-TW.json +12 -0
  401. package/src/trigger/providers/vercel/locales/fr.json +18 -0
  402. package/src/trigger/providers/vercel/locales/ja.json +18 -0
  403. package/src/trigger/providers/vercel/locales/ko.json +18 -0
  404. package/src/trigger/providers/vercel/locales/ru.json +18 -0
  405. package/src/trigger/providers/vercel/locales/zh-CN.json +18 -0
  406. package/src/trigger/providers/vercel/locales/zh-TW.json +18 -0
  407. package/src/trigger/providers/woocommerce/locales/fr.json +19 -0
  408. package/src/trigger/providers/woocommerce/locales/ja.json +19 -0
  409. package/src/trigger/providers/woocommerce/locales/ko.json +19 -0
  410. package/src/trigger/providers/woocommerce/locales/ru.json +19 -0
  411. package/src/trigger/providers/woocommerce/locales/zh-CN.json +19 -0
  412. package/src/trigger/providers/woocommerce/locales/zh-TW.json +19 -0
  413. package/src/trigger/providers/zendesk/locales/fr.json +15 -0
  414. package/src/trigger/providers/zendesk/locales/ja.json +15 -0
  415. package/src/trigger/providers/zendesk/locales/ko.json +15 -0
  416. package/src/trigger/providers/zendesk/locales/ru.json +15 -0
  417. package/src/trigger/providers/zendesk/locales/zh-CN.json +15 -0
  418. package/src/trigger/providers/zendesk/locales/zh-TW.json +15 -0
  419. package/src/trigger/providers/zoom/locales/fr.json +17 -0
  420. package/src/trigger/providers/zoom/locales/ja.json +17 -0
  421. package/src/trigger/providers/zoom/locales/ko.json +17 -0
  422. package/src/trigger/providers/zoom/locales/ru.json +17 -0
  423. package/src/trigger/providers/zoom/locales/zh-CN.json +17 -0
  424. package/src/trigger/providers/zoom/locales/zh-TW.json +17 -0
  425. package/src/types/index.ts +112 -0
  426. package/src/workflow/common/workflow.ts +273 -0
  427. package/dist/browser/lib-DrKav3HG.js +0 -11403
  428. /package/dist/{browser → common}/flow-authoring-edge.d.ts +0 -0
  429. /package/dist/{browser → common}/flow-authoring-module.d.ts +0 -0
  430. /package/dist/{browser → common}/flow-authoring.d.ts +0 -0
  431. /package/dist/{browser → common}/flow-input-value.d.ts +0 -0
  432. /package/dist/{browser → common}/webhook-method.d.ts +0 -0
@@ -3,7 +3,7 @@ import { $ as ko_default$2, Q as ru_default$2, T as DropdownMenuItem, X as zh_TW
3
3
  import { a as derive, i as compute, l as val, t as arrayShallowEqual } from "./dist-bO8nvHFH.js";
4
4
  import { a as toPlainObject, l as useTranslate, o as I18nProvider } from "./dist-BFmpkX4P.js";
5
5
  import { A as string$1, C as literal, Cr as useRenderElement, E as object$1, M as unknown, Nr as mergeProps, O as record$2, S as lazy$1, T as number, _ as array, b as int, br as cn, g as _enum, i as TooltipTrigger, j as union, k as strictObject, n as TooltipContent, p as timeZoneOffsetMinutes, t as Tooltip, v as boolean, vr as Button, x as json$2, xr as cva, y as discriminatedUnion, yr as buttonVariants } from "./tooltip-wZJRB9oP.js";
6
- import { B as decodeRevisionContent, Ct as SelectTrigger, D as nodeSystemOutputPorts, Ft as Label, G as webhookResponseInputs, H as webhookHeaderValuePort, I as otherwiseOutput, It as Input, J as workflowOutputsPort, N as nodeInputMappings, Q as retryConfigurationSchema, S as portsByHandle, U as webhookHeadersPort, V as webhookHeaderNameIssue, W as webhookResponseAllowsBody, _ as applyFlowChanges$1, _t as Select, bt as SelectGroup, ct as webhookSupportsBody, dt as portsAssignable, et as checkJsonDepth, ft as schemaObject, gt as dequal, ht as format, it as decisionTask, j as conditionInputPorts, k as clearConditionBindings, lt as comparePorts, mt as isSchemaKeyword, q as webhookStatusCodePort, ut as matchesSchema, v as isTriggerNode, wt as SelectValue, x as normalizeNodeName, xt as SelectItem, y as nextNodeName, yt as SelectContent, z as authoringDefinitionSchemas } from "./dialog-CUy_fwx9.js";
6
+ import { $ as workflowOutputsPort, A as clearConditionBindings, B as agentToolFields, Bt as Label, Et as SelectItem, G as workflowAgentToolSchema, H as connectorAgentToolSchema, J as webhookHeadersPort, K as webhookHeaderNameIssue, L as otherwiseOutput, M as conditionInputPorts, O as nodeSystemOutputPorts, Ot as SelectTrigger, P as nodeInputMappings, Q as webhookStatusCodePort, S as portsByHandle, St as Select, Tt as SelectGroup, U as connectorCapabilitySchema, V as authoringDefinitionSchemas, Vt as Input, W as decodeRevisionContent, X as webhookResponseInputs, Y as webhookResponseAllowsBody, _ as applyFlowChanges$1, _t as schemaObject, at as checkJsonDepth, bt as format, gt as portsAssignable, ht as matchesSchema, kt as SelectValue, lt as decisionTask, mt as comparePorts, pt as webhookSupportsBody, q as webhookHeaderValuePort, rt as retryConfigurationSchema, v as isTriggerNode, wt as SelectContent, x as normalizeNodeName, xt as dequal$1, y as nextNodeName, yt as isSchemaKeyword } from "./dialog-BYJGvItc.js";
7
7
  import { a as uiLanguages, n as isUiLanguage, r as resolveUiLanguage } from "./languages-gYzoQqCi.js";
8
8
  import "./lib-Dws05GHj.js";
9
9
  import { i as objectValue, s as valueType, t as initialValue } from "./value-BbFQZZ_V.js";
@@ -240,7 +240,7 @@ function optionalString(value) {
240
240
  }
241
241
  //#endregion
242
242
  //#region src/execution/common/engineContract.ts
243
- var currentEngineContract = "open-flow-engine/v7";
243
+ var currentEngineContract = "open-flow-engine/v8";
244
244
  `${JSON.stringify(currentEngineContract)}`, new Set([
245
245
  "assert",
246
246
  "assert/strict",
@@ -266,7 +266,7 @@ var currentEngineContract = "open-flow-engine/v7";
266
266
  "url",
267
267
  "util",
268
268
  "zlib"
269
- ].flatMap((name) => [name, `node:${name}`])), `${JSON.stringify("open-flow-engine/v7/nodejs-compat-v1")}`;
269
+ ].flatMap((name) => [name, `node:${name}`])), `${JSON.stringify("open-flow-engine/v8/nodejs-compat-v1")}`;
270
270
  //#endregion
271
271
  //#region src/workflow/common/workflow.ts
272
272
  var portSchema = object$1({
@@ -279,6 +279,16 @@ strictObject({
279
279
  inputs: array(portSchema).nullable(),
280
280
  outputs: array(portSchema).nullable()
281
281
  });
282
+ function comparablePorts(value) {
283
+ return value == null ? null : value.map(({ handle, jsonSchema, nullable }) => ({
284
+ handle,
285
+ jsonSchema,
286
+ nullable
287
+ })).toSorted((a, b) => a.handle < b.handle ? -1 : a.handle > b.handle ? 1 : 0);
288
+ }
289
+ function sameWorkflowInterface(left, right) {
290
+ return dequal$1(comparablePorts(left.inputs), comparablePorts(right.inputs)) && dequal$1(comparablePorts(left.outputs), comparablePorts(right.outputs));
291
+ }
282
292
  var workflowContractSchema = object$1({
283
293
  version: literal(1),
284
294
  flowId: string$1().min(1),
@@ -351,6 +361,49 @@ var workflowReferencesSchema = object$1({
351
361
  }).nullable()
352
362
  }))
353
363
  });
364
+ /** Workflow declarations share discovery across authoring, admission and resource indexing. */
365
+ function nodeWorkflowReferences(node) {
366
+ if (node.kind != "task") return [];
367
+ if ("moduleId" in node.task) return (node.task.capabilities ?? []).flatMap((item, index) => item.kind == "workflow" ? [{
368
+ target: item,
369
+ path: `task/capabilities/${index}`,
370
+ tool: item.name
371
+ }] : []);
372
+ if (node.task.executor.kind == "workflow") return [{
373
+ target: {
374
+ ...node.task.executor,
375
+ inputs: node.task.inputs.filter((port) => "handle" in port),
376
+ outputs: node.task.outputs.filter((port) => "handle" in port)
377
+ },
378
+ path: "task/executor"
379
+ }];
380
+ if (node.task.executor.kind == "agent") return node.task.executor.tools.flatMap((item, index) => item.kind == "workflow" ? [{
381
+ target: item,
382
+ path: `task/executor/tools/${index}`,
383
+ tool: item.name
384
+ }] : []);
385
+ return [];
386
+ }
387
+ function workflowCapability(name, target) {
388
+ return {
389
+ kind: "workflow",
390
+ name,
391
+ flowId: target.flowId,
392
+ revisionId: "inputs" in target ? target.revisionId : "",
393
+ inputs: "inputs" in target ? target.inputs : [],
394
+ outputs: "inputs" in target ? target.outputs : null
395
+ };
396
+ }
397
+ function workflowAgentTool(id, name, target, previous) {
398
+ const capability = workflowCapability(name, target);
399
+ return {
400
+ ...capability,
401
+ id,
402
+ description: previous?.description ?? target.name,
403
+ approval: previous?.approval ?? false,
404
+ inputs: capability.inputs.map((port) => Object.assign({}, port, { source: previous?.inputs.find((old) => old.handle == port.handle)?.source ?? { kind: "model" } }))
405
+ };
406
+ }
354
407
  //#endregion
355
408
  //#region src/control/common/authoringLlm.ts
356
409
  var authoringLlmConfiguration = strictObject({
@@ -761,12 +814,12 @@ function openApiFieldIssues(task) {
761
814
  httpUrl(config.serverUrl);
762
815
  if (new URL(config.serverUrl).search) throw new Error("Server URLs must not contain a query string.");
763
816
  field = "operation";
764
- if (!dequal(config.document, snapshot$7(config.document, config.path, config.method))) return [{
817
+ if (!dequal$1(config.document, snapshot$7(config.document, config.path, config.method))) return [{
765
818
  field,
766
819
  message: "Save only the selected operation and its dependencies."
767
820
  }];
768
821
  const expected = openApiTask(config, task.name);
769
- if (!dequal(expected.inputs, task.inputs) || !dequal(expected.outputs, task.outputs)) return [{
822
+ if (!dequal$1(expected.inputs, task.inputs) || !dequal$1(expected.outputs, task.outputs)) return [{
770
823
  field,
771
824
  message: "OpenAPI ports must match the saved operation."
772
825
  }];
@@ -885,10 +938,21 @@ var operand = union([
885
938
  system,
886
939
  variable$1
887
940
  ]);
888
- var agentTool$1 = authoringDefinitionSchemas.agent.shape.tools.element.omit({
941
+ var toolSources = record$2(id$1, agentToolFields.inputs.element.shape.source).optional().describe("Tool input sources by name. The platform resolves types from the selected Action or workflow. New inputs default to model-provided; omitted existing sources are preserved.");
942
+ var agentTool$1 = union([workflowAgentToolSchema.omit({
943
+ id: true,
944
+ inputs: true,
945
+ outputs: true,
946
+ revisionId: true
947
+ }).extend({ inputs: toolSources }).strict(), connectorAgentToolSchema.omit({
889
948
  id: true,
890
949
  inputs: true
891
- }).extend({ inputs: record$2(id$1, authoringDefinitionSchemas.agent.shape.tools.element.shape.inputs.element.shape.source).optional().describe("Action input sources by name. The tool resolves types from the Action. New inputs default to model-provided; existing sources are preserved when omitted.") }).strict();
950
+ }).extend({ inputs: toolSources }).strict()]);
951
+ var authoringCapabilities = array(union([connectorCapabilitySchema, strictObject({
952
+ kind: literal("workflow"),
953
+ name: id$1,
954
+ flowId: id$1
955
+ })]));
892
956
  var notification = strictObject({
893
957
  ...authoringDefinitionSchemas.connector.shape,
894
958
  messageHandle: id$1,
@@ -944,7 +1008,7 @@ var authoringConfigurations = {
944
1008
  "code": strictObject({
945
1009
  inputs: inputFields,
946
1010
  outputs: outputFields,
947
- capabilities: authoringDefinitionSchemas.capabilities.optional()
1011
+ capabilities: authoringCapabilities.optional()
948
1012
  }),
949
1013
  "connector": authoringDefinitionSchemas.connector.omit({ outputMode: true }).strict(),
950
1014
  "openapi": authoringOpenApiSchema,
@@ -1011,7 +1075,8 @@ var authoringEditSchema = discriminatedUnion("op", [
1011
1075
  }),
1012
1076
  strictObject({
1013
1077
  op: literal("node.refresh"),
1014
- node: referenceSchema
1078
+ node: referenceSchema,
1079
+ tool: id$1.optional().describe("Name of a workflow tool on an Agent or Code node. Omit for a Call Workflow node.")
1015
1080
  }),
1016
1081
  strictObject({
1017
1082
  op: literal("node.remove"),
@@ -1631,7 +1696,7 @@ function connectionUsage$7(document) {
1631
1696
  for (const capability of node.task.capabilities ?? []) if ("mode" in capability && capability.mode == "independent") for (const action of capability.actions) add("code", action.action, action.connectionId);
1632
1697
  }
1633
1698
  if (task?.executor.kind == "agent") {
1634
- for (const tool of task.executor.tools) add("agent", tool.action, tool.connectionId);
1699
+ for (const tool of task.executor.tools) if (tool.kind != "workflow") add("agent", tool.action, tool.connectionId);
1635
1700
  const notification = task.executor.notification;
1636
1701
  if (notification != null) add("notification", notification.action, notification.connectionId);
1637
1702
  }
@@ -1676,6 +1741,7 @@ function clearNodeConnections(graph, connectionId) {
1676
1741
  return [id, node];
1677
1742
  }
1678
1743
  const capabilities = node.task.capabilities?.map((capability) => {
1744
+ if (capability.kind == "workflow") return capability;
1679
1745
  if (!("mode" in capability)) {
1680
1746
  if ("action" in capability) {
1681
1747
  const { connectionId: selected, ...rest } = capability;
@@ -1783,7 +1849,7 @@ function cleanWorkflowFile(value) {
1783
1849
  }
1784
1850
  },
1785
1851
  summary: {
1786
- changedNodeIds: Object.keys(nodes).filter((id) => !dequal(nodes[id], original.nodes[id])),
1852
+ changedNodeIds: Object.keys(nodes).filter((id) => !dequal$1(nodes[id], original.nodes[id])),
1787
1853
  removedBindings: Object.keys(file.content.document.bindings).length
1788
1854
  }
1789
1855
  };
@@ -2959,10 +3025,17 @@ var result = object$1({
2959
3025
  resultId: string$1().min(1),
2960
3026
  callId: string$1().min(1),
2961
3027
  toolId: string$1().min(1),
2962
- source: discriminatedUnion("kind", [object$1({
2963
- kind: literal("connector"),
2964
- action: string$1().min(1)
2965
- }), object$1({ kind: literal("code") })]),
3028
+ source: discriminatedUnion("kind", [
3029
+ object$1({
3030
+ kind: literal("connector"),
3031
+ action: string$1().min(1)
3032
+ }),
3033
+ object$1({ kind: literal("code") }),
3034
+ object$1({
3035
+ kind: literal("workflow"),
3036
+ flowId: string$1().min(1)
3037
+ })
3038
+ ]),
2966
3039
  bytes: number().int().nonnegative(),
2967
3040
  digest: string$1().regex(/^[a-f0-9]{64}$/),
2968
3041
  createdAt: string$1().datetime()
@@ -3383,7 +3456,8 @@ function workflowIdentity(value) {
3383
3456
  flowId: string(ref.flowId),
3384
3457
  runId: string(ref.runId),
3385
3458
  nodeId: string(ref.nodeId),
3386
- executionId: string(ref.executionId)
3459
+ executionId: string(ref.executionId),
3460
+ ...ref.callId == null ? {} : { callId: string(ref.callId) }
3387
3461
  };
3388
3462
  }
3389
3463
  function runInitiator(value) {
@@ -4614,6 +4688,7 @@ function errorNotice(error, t) {
4614
4688
  if (error instanceof ApiError) {
4615
4689
  if (error.code == controlErrorCode.flowInvalid && typeof error.details?.reason == "string" && [
4616
4690
  "workflow.unpublished",
4691
+ "workflow.missing-start",
4617
4692
  "workflow.disabled",
4618
4693
  "workflow.retiring",
4619
4694
  "workflow.recursive"
@@ -6552,6 +6627,10 @@ var resources = {
6552
6627
  "defaultOutputDescription": "The final result produced by the Agent."
6553
6628
  },
6554
6629
  actionPicker: {
6630
+ "discardTitle": "Discard tool changes?",
6631
+ "discardDescription": "Your tool changes have not been saved.",
6632
+ "continueEditing": "Continue editing",
6633
+ "discardChanges": "Discard changes",
6555
6634
  "saveFailed": "Could not save tools. Try again.",
6556
6635
  "selectionSummary": "Actions: {{actions}} · Services: {{providers}}",
6557
6636
  "preparing": "Preparing action…",
@@ -6967,6 +7046,18 @@ var resources = {
6967
7046
  "unavailable": "This form is no longer accessible. Choose another form.",
6968
7047
  "failed": "Could not load forms.",
6969
7048
  "retry": "Retry"
7049
+ },
7050
+ toolPicker: {
7051
+ "type": "Tool type",
7052
+ "connectors": "Connectors",
7053
+ "workflows": "Workflows",
7054
+ "alias": "Call name",
7055
+ "approval": "Require approval",
7056
+ "current": "Interface up to date",
7057
+ "summary": "{tools} tools · {workflows} workflows",
7058
+ "aliasInvalid": "Use a unique call name of 1–64 characters, starting with a letter and containing only letters, numbers, underscores or hyphens.",
7059
+ "connector": "Connector",
7060
+ "workflow": "Workflow"
6970
7061
  }
6971
7062
  },
6972
7063
  "zh-CN": {
@@ -8027,6 +8118,10 @@ var resources = {
8027
8118
  "defaultOutputDescription": "Agent 完成任务后生成的最终结果。"
8028
8119
  },
8029
8120
  actionPicker: {
8121
+ "discardTitle": "放弃工具修改?",
8122
+ "discardDescription": "你对工具的修改尚未保存。",
8123
+ "continueEditing": "继续编辑",
8124
+ "discardChanges": "放弃修改",
8030
8125
  "saveFailed": "工具保存失败,请重试。",
8031
8126
  "selectionSummary": "{{actions}} 个工具 · {{providers}} 个服务",
8032
8127
  "preparing": "正在准备工具…",
@@ -8442,6 +8537,18 @@ var resources = {
8442
8537
  "unavailable": "此表单已无法访问,请选择其他表单。",
8443
8538
  "failed": "无法加载表单。",
8444
8539
  "retry": "重试"
8540
+ },
8541
+ toolPicker: {
8542
+ "type": "工具类型",
8543
+ "connectors": "连接器",
8544
+ "workflows": "工作流",
8545
+ "alias": "调用名称",
8546
+ "approval": "需要审批",
8547
+ "current": "接口已同步",
8548
+ "summary": "{tools} 个工具 · 含 {workflows} 个工作流",
8549
+ "aliasInvalid": "调用名称不能重复,长度为 1–64 个字符,以英文字母开头,仅包含英文字母、数字、下划线或连字符。",
8550
+ "connector": "连接器",
8551
+ "workflow": "工作流"
8445
8552
  }
8446
8553
  },
8447
8554
  "zh-TW": {
@@ -9502,6 +9609,10 @@ var resources = {
9502
9609
  "defaultOutputDescription": "Agent 完成任務後產生的最終結果。"
9503
9610
  },
9504
9611
  actionPicker: {
9612
+ "discardTitle": "放棄工具變更?",
9613
+ "discardDescription": "你對工具的變更尚未儲存。",
9614
+ "continueEditing": "繼續編輯",
9615
+ "discardChanges": "放棄變更",
9505
9616
  "saveFailed": "工具儲存失敗,請重試。",
9506
9617
  "selectionSummary": "{{actions}} 個工具 · {{providers}} 個服務",
9507
9618
  "preparing": "正在準備工具…",
@@ -9917,6 +10028,18 @@ var resources = {
9917
10028
  "unavailable": "此表單已無法存取,請選擇其他表單。",
9918
10029
  "failed": "無法載入表單。",
9919
10030
  "retry": "重試"
10031
+ },
10032
+ toolPicker: {
10033
+ "type": "工具類型",
10034
+ "connectors": "連接器",
10035
+ "workflows": "工作流程",
10036
+ "alias": "呼叫名稱",
10037
+ "approval": "需要審批",
10038
+ "current": "介面已同步",
10039
+ "summary": "{tools} 個工具 · 含 {workflows} 個工作流程",
10040
+ "aliasInvalid": "呼叫名稱不能重複,長度為 1–64 個字元,以英文字母開頭,僅包含英文字母、數字、底線或連字號。",
10041
+ "connector": "連接器",
10042
+ "workflow": "工作流程"
9920
10043
  }
9921
10044
  },
9922
10045
  "ja": {
@@ -10734,6 +10857,10 @@ var resources = {
10734
10857
  "defaultOutputDescription": "Agent がタスクを完了して生成した最終結果。"
10735
10858
  },
10736
10859
  actionPicker: {
10860
+ "discardTitle": "ツールの変更を破棄しますか?",
10861
+ "discardDescription": "ツールの変更はまだ保存されていません。",
10862
+ "continueEditing": "編集を続ける",
10863
+ "discardChanges": "変更を破棄",
10737
10864
  "saveFailed": "ツールを保存できませんでした。もう一度お試しください。",
10738
10865
  "selectionSummary": "ツール: {{actions}} · サービス: {{providers}}",
10739
10866
  "preparing": "ツールを準備中…",
@@ -11149,6 +11276,18 @@ var resources = {
11149
11276
  "unavailable": "このフォームにはアクセスできません。別のフォームを選択してください。",
11150
11277
  "failed": "フォームを読み込めませんでした。",
11151
11278
  "retry": "再試行"
11279
+ },
11280
+ toolPicker: {
11281
+ "type": "ツールの種類",
11282
+ "connectors": "コネクター",
11283
+ "workflows": "ワークフロー",
11284
+ "alias": "呼び出し名",
11285
+ "approval": "承認を必須にする",
11286
+ "current": "インターフェースは最新です",
11287
+ "summary": "ツール {tools} 個 · ワークフロー {workflows} 個",
11288
+ "aliasInvalid": "呼び出し名は重複しない1~64文字で、英字で始まり、英数字、アンダースコア、ハイフンのみを使用してください。",
11289
+ "connector": "コネクター",
11290
+ "workflow": "ワークフロー"
11152
11291
  }
11153
11292
  },
11154
11293
  "ko": {
@@ -11966,6 +12105,10 @@ var resources = {
11966
12105
  "defaultOutputDescription": "Agent가 작업을 완료한 후 생성한 최종 결과."
11967
12106
  },
11968
12107
  actionPicker: {
12108
+ "discardTitle": "도구 변경 사항을 버릴까요?",
12109
+ "discardDescription": "도구 변경 사항이 아직 저장되지 않았습니다.",
12110
+ "continueEditing": "계속 편집",
12111
+ "discardChanges": "변경 사항 버리기",
11969
12112
  "saveFailed": "도구를 저장하지 못했습니다. 다시 시도하세요.",
11970
12113
  "selectionSummary": "도구: {{actions}} · 서비스: {{providers}}",
11971
12114
  "preparing": "도구 준비 중…",
@@ -12381,6 +12524,18 @@ var resources = {
12381
12524
  "unavailable": "이 양식에 더 이상 접근할 수 없습니다. 다른 양식을 선택하세요.",
12382
12525
  "failed": "양식을 불러올 수 없습니다.",
12383
12526
  "retry": "다시 시도"
12527
+ },
12528
+ toolPicker: {
12529
+ "type": "도구 유형",
12530
+ "connectors": "커넥터",
12531
+ "workflows": "워크플로",
12532
+ "alias": "호출 이름",
12533
+ "approval": "승인 필요",
12534
+ "current": "인터페이스가 최신입니다",
12535
+ "summary": "도구 {tools}개 · 워크플로 {workflows}개",
12536
+ "aliasInvalid": "호출 이름은 중복 없이 1–64자로 지정하고, 영문자로 시작하여 영문자, 숫자, 밑줄 또는 하이픈만 사용하세요.",
12537
+ "connector": "커넥터",
12538
+ "workflow": "워크플로"
12384
12539
  }
12385
12540
  },
12386
12541
  "ru": {
@@ -13198,6 +13353,10 @@ var resources = {
13198
13353
  "defaultOutputDescription": "Итоговый результат выполнения задачи агентом."
13199
13354
  },
13200
13355
  actionPicker: {
13356
+ "discardTitle": "Отменить изменения инструментов?",
13357
+ "discardDescription": "Изменения инструментов ещё не сохранены.",
13358
+ "continueEditing": "Продолжить редактирование",
13359
+ "discardChanges": "Отменить изменения",
13201
13360
  "saveFailed": "Не удалось сохранить инструменты. Повторите попытку.",
13202
13361
  "selectionSummary": "Действия: {{actions}} · Сервисы: {{providers}}",
13203
13362
  "preparing": "Подготовка действия…",
@@ -13613,6 +13772,18 @@ var resources = {
13613
13772
  "unavailable": "Эта форма больше недоступна. Выберите другую.",
13614
13773
  "failed": "Не удалось загрузить формы.",
13615
13774
  "retry": "Повторить"
13775
+ },
13776
+ toolPicker: {
13777
+ "type": "Тип инструмента",
13778
+ "connectors": "Коннекторы",
13779
+ "workflows": "Рабочие процессы",
13780
+ "alias": "Имя вызова",
13781
+ "approval": "Требуется одобрение",
13782
+ "current": "Интерфейс актуален",
13783
+ "summary": "Инструментов: {tools} · Процессов: {workflows}",
13784
+ "aliasInvalid": "Укажите уникальное имя вызова длиной 1–64 символа, начинающееся с латинской буквы и содержащее только латинские буквы, цифры, подчёркивания или дефисы.",
13785
+ "connector": "Коннектор",
13786
+ "workflow": "Рабочий процесс"
13616
13787
  }
13617
13788
  },
13618
13789
  "fr": {
@@ -14430,6 +14601,10 @@ var resources = {
14430
14601
  "defaultOutputDescription": "Le résultat final produit par l’Agent."
14431
14602
  },
14432
14603
  actionPicker: {
14604
+ "discardTitle": "Ignorer les modifications des outils ?",
14605
+ "discardDescription": "Vos modifications des outils n’ont pas été enregistrées.",
14606
+ "continueEditing": "Continuer à modifier",
14607
+ "discardChanges": "Ignorer les modifications",
14433
14608
  "saveFailed": "Impossible d’enregistrer les outils. Réessayez.",
14434
14609
  "selectionSummary": "Actions : {{actions}} · Services : {{providers}}",
14435
14610
  "preparing": "Préparation de l’action…",
@@ -14845,6 +15020,18 @@ var resources = {
14845
15020
  "unavailable": "Ce formulaire n’est plus accessible. Choisissez-en un autre.",
14846
15021
  "failed": "Impossible de charger les formulaires.",
14847
15022
  "retry": "Réessayer"
15023
+ },
15024
+ toolPicker: {
15025
+ "type": "Type d’outil",
15026
+ "connectors": "Connecteurs",
15027
+ "workflows": "Workflows",
15028
+ "alias": "Nom d’appel",
15029
+ "approval": "Approbation requise",
15030
+ "current": "Interface à jour",
15031
+ "summary": "{tools} outils · {workflows} workflows",
15032
+ "aliasInvalid": "Utilisez un nom d’appel unique de 1 à 64 caractères, commençant par une lettre et contenant uniquement des lettres ASCII, chiffres, tirets ou traits de soulignement.",
15033
+ "connector": "Connecteur",
15034
+ "workflow": "Workflow"
14848
15035
  }
14849
15036
  }
14850
15037
  };
@@ -15813,6 +16000,68 @@ function WorkflowExportMenuItem({ disabled, onClick, className }) {
15813
16000
  });
15814
16001
  }
15815
16002
  //#endregion
16003
+ //#region ../../node_modules/.bun/dequal@2.0.3/node_modules/dequal/dist/index.mjs
16004
+ var has = Object.prototype.hasOwnProperty;
16005
+ function find(iter, tar, key) {
16006
+ for (key of iter.keys()) if (dequal(key, tar)) return key;
16007
+ }
16008
+ function dequal(foo, bar) {
16009
+ var ctor, len, tmp;
16010
+ if (foo === bar) return true;
16011
+ if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
16012
+ if (ctor === Date) return foo.getTime() === bar.getTime();
16013
+ if (ctor === RegExp) return foo.toString() === bar.toString();
16014
+ if (ctor === Array) {
16015
+ if ((len = foo.length) === bar.length) while (len-- && dequal(foo[len], bar[len]));
16016
+ return len === -1;
16017
+ }
16018
+ if (ctor === Set) {
16019
+ if (foo.size !== bar.size) return false;
16020
+ for (len of foo) {
16021
+ tmp = len;
16022
+ if (tmp && typeof tmp === "object") {
16023
+ tmp = find(bar, tmp);
16024
+ if (!tmp) return false;
16025
+ }
16026
+ if (!bar.has(tmp)) return false;
16027
+ }
16028
+ return true;
16029
+ }
16030
+ if (ctor === Map) {
16031
+ if (foo.size !== bar.size) return false;
16032
+ for (len of foo) {
16033
+ tmp = len[0];
16034
+ if (tmp && typeof tmp === "object") {
16035
+ tmp = find(bar, tmp);
16036
+ if (!tmp) return false;
16037
+ }
16038
+ if (!dequal(len[1], bar.get(tmp))) return false;
16039
+ }
16040
+ return true;
16041
+ }
16042
+ if (ctor === ArrayBuffer) {
16043
+ foo = new Uint8Array(foo);
16044
+ bar = new Uint8Array(bar);
16045
+ } else if (ctor === DataView) {
16046
+ if ((len = foo.byteLength) === bar.byteLength) while (len-- && foo.getInt8(len) === bar.getInt8(len));
16047
+ return len === -1;
16048
+ }
16049
+ if (ArrayBuffer.isView(foo)) {
16050
+ if ((len = foo.byteLength) === bar.byteLength) while (len-- && foo[len] === bar[len]);
16051
+ return len === -1;
16052
+ }
16053
+ if (!ctor || typeof foo === "object") {
16054
+ len = 0;
16055
+ for (ctor in foo) {
16056
+ if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
16057
+ if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
16058
+ }
16059
+ return Object.keys(bar).length === len;
16060
+ }
16061
+ }
16062
+ return foo !== foo && bar !== bar;
16063
+ }
16064
+ //#endregion
15816
16065
  //#region src/flow/common/portChanges.ts
15817
16066
  function renamedPort(previous, next) {
15818
16067
  const previousNames = new Set(previous.flatMap((port) => "handle" in port ? [port.handle] : []));
@@ -16183,7 +16432,7 @@ function updateSettings(content, nodeId, settings) {
16183
16432
  nodeId,
16184
16433
  value: settings.onError
16185
16434
  });
16186
- if (Object.hasOwn(settings, "retry") && !dequal(node.retry, settings.retry)) operations.push({
16435
+ if (Object.hasOwn(settings, "retry") && !dequal$1(node.retry, settings.retry)) operations.push({
16187
16436
  before: node.retry,
16188
16437
  field: "retry",
16189
16438
  kind: "graph.node.field.set",
@@ -16202,7 +16451,7 @@ function setInputValues(content, nodeId, values) {
16202
16451
  for (const [handle, value] of Object.entries(values)) {
16203
16452
  const before = nodeInputMappings(node)[handle];
16204
16453
  const next = fixedInputValue(value);
16205
- if (dequal(before, next)) continue;
16454
+ if (dequal$1(before, next)) continue;
16206
16455
  operations.push({
16207
16456
  before,
16208
16457
  handle,
@@ -16347,10 +16596,10 @@ function setServiceConnections(content, providerId, connectionId, previousConnec
16347
16596
  } else if (task.executor.kind == "agent") {
16348
16597
  const executor = {
16349
16598
  ...task.executor,
16350
- tools: task.executor.tools.map(assign),
16599
+ tools: task.executor.tools.map((tool) => tool.kind == "workflow" ? tool : assign(tool)),
16351
16600
  ...task.executor.notification == null ? {} : { notification: assign(task.executor.notification) }
16352
16601
  };
16353
- if (!dequal(executor, task.executor)) operations.push({
16602
+ if (!dequal$1(executor, task.executor)) operations.push({
16354
16603
  kind: "graph.node.task.set",
16355
16604
  nodeId,
16356
16605
  before: task,
@@ -16368,7 +16617,7 @@ function updateStartInputDefs(content, nodeId, value) {
16368
16617
  const node = content.document.graph.nodes[nodeId];
16369
16618
  if (node?.kind != "start") throw new TypeError("Expected a Start node.");
16370
16619
  const previous = node.inputDefs;
16371
- if (dequal(previous, value)) return [];
16620
+ if (dequal$1(previous, value)) return [];
16372
16621
  const operations = [{
16373
16622
  kind: "graph.node.replace",
16374
16623
  nodeId,
@@ -16401,7 +16650,7 @@ function updateTriggerConfig$1(content, nodeId, name, value) {
16401
16650
  const trigger = content.document.graph.nodes[nodeId];
16402
16651
  if (trigger == null || trigger.kind != "integration" && trigger.kind != "poll") return;
16403
16652
  const next = fixedInputValue(value);
16404
- if (dequal(trigger.config[name], next)) return [];
16653
+ if (dequal$1(trigger.config[name], next)) return [];
16405
16654
  return [{
16406
16655
  before: trigger.config[name],
16407
16656
  kind: "graph.trigger.config.set",
@@ -16414,13 +16663,13 @@ function updateTriggerSchedule(content, nodeId, schedule) {
16414
16663
  const trigger = content.document.graph.nodes[nodeId];
16415
16664
  if (trigger == null) return;
16416
16665
  switch (trigger.kind) {
16417
- case "cron": return dequal(trigger.cronTimes, schedule) ? [] : [{
16666
+ case "cron": return dequal$1(trigger.cronTimes, schedule) ? [] : [{
16418
16667
  before: trigger.cronTimes,
16419
16668
  kind: "graph.trigger.schedule.set",
16420
16669
  nodeId,
16421
16670
  value: schedule
16422
16671
  }];
16423
- case "poll": return dequal(trigger.pollTimes, schedule) ? [] : [{
16672
+ case "poll": return dequal$1(trigger.pollTimes, schedule) ? [] : [{
16424
16673
  before: trigger.pollTimes,
16425
16674
  kind: "graph.trigger.schedule.set",
16426
16675
  nodeId,
@@ -16455,7 +16704,7 @@ function llmInputValue(values, handle, fallback) {
16455
16704
  }
16456
16705
  function setCodeActions(content, nodeId, capabilities) {
16457
16706
  const node = content.document.graph?.nodes[nodeId];
16458
- if (node?.kind != "task" || !("moduleId" in node.task) || dequal(node.task.capabilities ?? [], capabilities)) return;
16707
+ if (node?.kind != "task" || !("moduleId" in node.task) || dequal$1(node.task.capabilities ?? [], capabilities)) return;
16459
16708
  return [{
16460
16709
  kind: "graph.node.task.capabilities.set",
16461
16710
  nodeId,
@@ -16477,7 +16726,7 @@ function updateOutputsDefs(content, nodeId, value, outputMappings) {
16477
16726
  outputDefs: value,
16478
16727
  outputMappings: mappings
16479
16728
  };
16480
- if (dequal(node, next)) return [];
16729
+ if (dequal$1(node, next)) return [];
16481
16730
  const changes = [{
16482
16731
  kind: "graph.node.replace",
16483
16732
  nodeId,
@@ -16523,7 +16772,7 @@ function renameFlowOutputSources(content, nodeIds, previous, next) {
16523
16772
  return Object.entries(content.document.graph.nodes).flatMap(([nodeId, node]) => {
16524
16773
  if (node.kind != "outputs") return [];
16525
16774
  const outputMappings = Object.fromEntries(Object.entries(node.outputMappings).map(([name, mapping]) => [name, renameOutputMapping(mapping, nodeIds, rename)]));
16526
- return dequal(node.outputMappings, outputMappings) ? [] : [{
16775
+ return dequal$1(node.outputMappings, outputMappings) ? [] : [{
16527
16776
  kind: "graph.node.replace",
16528
16777
  nodeId,
16529
16778
  before: node,
@@ -16730,7 +16979,7 @@ function canvasPresentationChange(before, after) {
16730
16979
  ]) {
16731
16980
  const previous = record(first[field]) ?? {};
16732
16981
  const next = record(last[field]) ?? {};
16733
- for (const id of /* @__PURE__ */ new Set([...Object.keys(previous), ...Object.keys(next)])) if (!dequal(previous[id], next[id])) nodeIds.add(id);
16982
+ for (const id of /* @__PURE__ */ new Set([...Object.keys(previous), ...Object.keys(next)])) if (!dequal$1(previous[id], next[id])) nodeIds.add(id);
16734
16983
  }
16735
16984
  const select = (value) => Object.fromEntries([
16736
16985
  "nodes",
@@ -17133,7 +17382,7 @@ function flowResourceReferences(content) {
17133
17382
  });
17134
17383
  }
17135
17384
  return {
17136
- calledFlowIds: [...new Set(Object.values(content.document.graph.nodes).flatMap((node) => node.kind == "task" && "executor" in node.task && node.task.executor.kind == "workflow" && node.task.executor.flowId ? [node.task.executor.flowId] : []))].toSorted(),
17385
+ calledFlowIds: [...new Set(Object.values(content.document.graph.nodes).flatMap((node) => nodeWorkflowReferences(node).map(({ target }) => target.flowId).filter(Boolean)))].toSorted(),
17137
17386
  variableNames: [...new Set(Object.values(variableBindings(content, flowDependencies(content).bindings)))].toSorted(),
17138
17387
  connections: [...connections].toSorted(([left], [right]) => left < right ? -1 : left > right ? 1 : 0).map(([, value]) => value),
17139
17388
  errorSourceFlowIds: [...new Set(Object.values(content.document.graph.nodes).flatMap((node) => node.kind == "error" ? node.sourceFlowIds ?? [] : []))].toSorted()
@@ -17189,7 +17438,7 @@ function agentActions(flow) {
17189
17438
  const task = node.task;
17190
17439
  if (task.executor.kind != "agent") return [];
17191
17440
  const notice = task.executor.notification;
17192
- return [...task.executor.tools, ...notice != null ? [notice] : []].filter((tool) => tool.connectionId !== "").map((tool) => ({
17441
+ return [...task.executor.tools.filter((tool) => tool.kind != "workflow"), ...notice != null ? [notice] : []].filter((tool) => tool.connectionId !== "").map((tool) => ({
17193
17442
  kind: "connector",
17194
17443
  action: tool.action,
17195
17444
  connections: tool.connectionId == null ? [] : [{ connectionId: tool.connectionId }]
@@ -17197,7 +17446,7 @@ function agentActions(flow) {
17197
17446
  });
17198
17447
  }
17199
17448
  function codeActions(flow) {
17200
- return Object.values(flow.graph.nodes).flatMap((node) => node.kind == "task" && "moduleId" in node.task ? node.task.capabilities ?? [] : []);
17449
+ return Object.values(flow.graph.nodes).flatMap((node) => node.kind == "task" && "moduleId" in node.task ? (node.task.capabilities ?? []).filter((item) => item.kind == "connector") : []);
17201
17450
  }
17202
17451
  //#endregion
17203
17452
  //#region src/workbench/browser/runtime/revisionView.ts
@@ -26470,6 +26719,14 @@ function homepageHostname(homepageUrl) {
26470
26719
  function actionSummary(entries, actions, providers) {
26471
26720
  const unique = /* @__PURE__ */ new Map();
26472
26721
  for (const entry of entries) {
26722
+ if (entry.kind == "workflow") {
26723
+ unique.set(`workflow:${entry.flowId}`, {
26724
+ id: `workflow:${entry.flowId}`,
26725
+ icon: "i-lucide-light:workflow",
26726
+ label: entry.name
26727
+ });
26728
+ continue;
26729
+ }
26473
26730
  const action = actions[entry.action];
26474
26731
  const serviceId = action?.serviceId ?? entry.action.split(".")[0];
26475
26732
  if (unique.has(serviceId)) continue;
@@ -26485,6 +26742,7 @@ function actionSummary(entries, actions, providers) {
26485
26742
  }
26486
26743
  return {
26487
26744
  count: entries.length,
26745
+ workflows: entries.filter((entry) => entry.kind == "workflow").length,
26488
26746
  providers: [...unique.values()]
26489
26747
  };
26490
26748
  }
@@ -27044,7 +27302,7 @@ function semanticDesignerNode(nodeId, resolved, ports, position, context) {
27044
27302
  }),
27045
27303
  kind: node.kind,
27046
27304
  executorName: executorName(task, connectorAction?.serviceName, context.t),
27047
- ...task != null && "moduleId" in task ? { actionSummary: actionSummary((task.capabilities ?? []).flatMap((capability) => "mode" in capability && capability.mode === "independent" ? capability.actions : []), context.connectorActions, Object.values(context.providers)) } : {},
27305
+ ...task != null && "moduleId" in task ? { actionSummary: actionSummary((task.capabilities ?? []).flatMap((capability) => capability.kind == "workflow" ? [capability] : "mode" in capability && capability.mode === "independent" ? capability.actions : []), context.connectorActions, Object.values(context.providers)) } : {},
27048
27306
  ...task != null && "executor" in task && task.executor.kind == "agent" ? { actionSummary: actionSummary(task.executor.tools, context.connectorActions, Object.values(context.providers)) } : {},
27049
27307
  connectionRequired,
27050
27308
  connectionDeferred: connector?.connectionId === "",
@@ -28772,7 +29030,7 @@ function updateCondition(revision, nodeId, settings) {
28772
29030
  cases: current.cases,
28773
29031
  matchMode: current.matchMode
28774
29032
  };
28775
- if (!dequal(before, settings)) changes.push({
29033
+ if (!dequal$1(before, settings)) changes.push({
28776
29034
  before,
28777
29035
  kind: "graph.node.condition.set",
28778
29036
  nodeId,
@@ -28790,7 +29048,7 @@ function updateValue(revision, nodeId, settings) {
28790
29048
  nullable: item.nullable ?? false,
28791
29049
  ...Object.hasOwn(item, "value") ? { value: item.value } : {}
28792
29050
  }));
28793
- if (dequal(node.values, values)) return [];
29051
+ if (dequal$1(node.values, values)) return [];
28794
29052
  return [{
28795
29053
  before: node.values,
28796
29054
  kind: "graph.node.values.set",
@@ -28821,13 +29079,13 @@ function updateResolution(revision, nodeId, settings, values) {
28821
29079
  nodeId,
28822
29080
  value: settings.name
28823
29081
  });
28824
- if (!dequal(before, value)) changes.push({
29082
+ if (!dequal$1(before, value)) changes.push({
28825
29083
  before,
28826
29084
  kind: "graph.node.resolution.set",
28827
29085
  nodeId,
28828
29086
  value
28829
29087
  });
28830
- if (values == null && dequal(before.inputDefinitions, value.inputDefinitions)) return changes;
29088
+ if (values == null && dequal$1(before.inputDefinitions, value.inputDefinitions)) return changes;
28831
29089
  const inputs = updatedInputMappings(current.inputs, before.inputDefinitions, value.inputDefinitions, void 0, values);
28832
29090
  changes.push(...changedInputs(current.inputs, inputs, nodeId));
28833
29091
  return cleanVariableBindings(revision.revision.content, changes);
@@ -28837,7 +29095,7 @@ function updateTask(revision, nodeId, settings) {
28837
29095
  if (node?.kind != "task") return;
28838
29096
  switch (settings.kind) {
28839
29097
  case "workflow": {
28840
- if (!dequal(node.task, settings.before)) return;
29098
+ if (!dequal$1(node.task, settings.before)) return;
28841
29099
  const next = withWorkflowTask(node, settings.task);
28842
29100
  if ("executor" in node.task && node.task.executor.kind == "workflow" && (!node.task.executor.flowId || node.name == node.task.name)) return [{
28843
29101
  kind: "graph.node.replace",
@@ -28858,7 +29116,7 @@ function updateTask(revision, nodeId, settings) {
28858
29116
  case "decision":
28859
29117
  case "openapi":
28860
29118
  case "agent":
28861
- if (!dequal(node.task, settings.before)) return;
29119
+ if (!dequal$1(node.task, settings.before)) return;
28862
29120
  return replaceTaskPorts(revision, nodeId, settings.task);
28863
29121
  case "code":
28864
29122
  if (!("moduleId" in node.task)) return;
@@ -28877,7 +29135,7 @@ function updateTask(revision, nodeId, settings) {
28877
29135
  mode: settings.mode
28878
29136
  }
28879
29137
  };
28880
- return dequal(task, value) ? [] : [{
29138
+ return dequal$1(task, value) ? [] : [{
28881
29139
  before: task,
28882
29140
  kind: "graph.node.task.set",
28883
29141
  nodeId,
@@ -28909,7 +29167,7 @@ function updateTaskPorts(revision, nodeId, ports, values) {
28909
29167
  return changes == null ? void 0 : cleanVariableBindings(revision.revision.content, changes);
28910
29168
  }
28911
29169
  if (selection?.kind != "task" || !("moduleId" in selection.node.task) || selection.module == null) return;
28912
- if (values == null && dequal(selection.node.task.inputs, ports.inputs) && dequal(selection.node.task.outputs, ports.outputs)) return [];
29170
+ if (values == null && dequal$1(selection.node.task.inputs, ports.inputs) && dequal$1(selection.node.task.outputs, ports.outputs)) return [];
28913
29171
  const changes = replaceTaskPorts(revision, nodeId, {
28914
29172
  ...selection.node.task,
28915
29173
  ...ports
@@ -28921,7 +29179,7 @@ function updateTaskAdditionalInputs(revision, nodeId, additionalInputs, values)
28921
29179
  const selection = revision.node(nodeId);
28922
29180
  if (selection?.kind != "task" || "moduleId" in selection.node.task || selection.definition == null) return;
28923
29181
  const current = selection.node;
28924
- if (values == null && dequal(current.additionalInputs ?? [], additionalInputs)) return [];
29182
+ if (values == null && dequal$1(current.additionalInputs ?? [], additionalInputs)) return [];
28925
29183
  const rename = renamedPort(current.additionalInputs ?? [], additionalInputs);
28926
29184
  const handles = new Set(selection.definition.inputs.flatMap((port) => "handle" in port ? [port.handle] : []).concat(additionalInputs.map((port) => port.handle)));
28927
29185
  const inputs = Object.assign({}, current.inputs);
@@ -28952,7 +29210,7 @@ function updateWebhook(revision, triggerId, settings) {
28952
29210
  method: settings.method,
28953
29211
  options: Object.keys(settings.options).length == 0 ? void 0 : settings.options
28954
29212
  };
28955
- if (dequal(before, value)) return [];
29213
+ if (dequal$1(before, value)) return [];
28956
29214
  return [{
28957
29215
  before,
28958
29216
  kind: "graph.node.webhook.set",
@@ -28997,7 +29255,7 @@ function convertInputValues(inputs, previous, next, rename, values) {
28997
29255
  const oldHandle = rename?.[1] === port.handle ? rename[0] : port.handle;
28998
29256
  const before = previous.find((item) => "handle" in item && item.handle === oldHandle);
28999
29257
  const mapping = inputs[port.handle];
29000
- if (before == null || dequal(before.jsonSchema, port.jsonSchema) || mapping?.kind !== "value") continue;
29258
+ if (before == null || dequal$1(before.jsonSchema, port.jsonSchema) || mapping?.kind !== "value") continue;
29001
29259
  if (mapping.value === null && port.nullable) continue;
29002
29260
  const value = valueForEditor(port.jsonSchema, mapping.value);
29003
29261
  if (value === void 0) delete inputs[port.handle];
@@ -29010,7 +29268,7 @@ function convertInputValues(inputs, previous, next, rename, values) {
29010
29268
  function changedInputs(before, value, nodeId) {
29011
29269
  const handles = /* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(value)]);
29012
29270
  const changes = [];
29013
- for (const handle of handles) if (!dequal(before[handle], value[handle])) changes.push({
29271
+ for (const handle of handles) if (!dequal$1(before[handle], value[handle])) changes.push({
29014
29272
  before: before[handle],
29015
29273
  handle,
29016
29274
  kind: "graph.node.input.set",
@@ -29066,7 +29324,7 @@ function replaceTaskPorts(revision, nodeId, task, values) {
29066
29324
  inputs: task.inputs,
29067
29325
  outputs: task.outputs
29068
29326
  };
29069
- if (!dequal(before, value)) changes.push({
29327
+ if (!dequal$1(before, value)) changes.push({
29070
29328
  before,
29071
29329
  kind: "graph.node.task.ports.set",
29072
29330
  nodeId,
@@ -29107,13 +29365,13 @@ function replaceTaskPorts(revision, nodeId, task, values) {
29107
29365
  } }
29108
29366
  }
29109
29367
  };
29110
- if (!dequal(previous, value)) changes.unshift({
29368
+ if (!dequal$1(previous, value)) changes.unshift({
29111
29369
  kind: "graph.node.task.set",
29112
29370
  nodeId,
29113
29371
  before: previous,
29114
29372
  value
29115
29373
  });
29116
- } else if ("executor" in task && !dequal(previous, task)) changes.unshift({
29374
+ } else if ("executor" in task && !dequal$1(previous, task)) changes.unshift({
29117
29375
  kind: "graph.node.task.set",
29118
29376
  nodeId,
29119
29377
  before: previous,
@@ -29135,4 +29393,4 @@ function updateOutputPorts(revision, nodeId, definitions, values) {
29135
29393
  return updateOutputsDefs(content, nodeId, ports, updatedInputMappings(node.outputMappings, node.outputDefs, ports, renamedPort(node.outputDefs, ports), values));
29136
29394
  }
29137
29395
  //#endregion
29138
- export { designerGraph as $, errorNotice as $t, valueForEditor as A, servers as An, setInputSources as At, dateTimeWall as B, eventSourceKind as Bn, Empty as Bt, updateWebhook as C, listOperations as Cn, setFlowViewport as Ct, editorComponent as D, securityOptions as Dn, resetInputValues as Dt, defaultValueEditorSchema as E, openApiTask as En, repairNodeNames as Et, calendarDate as F, jsonValue as Fn, IdTooltip as Ft, combineSources as G, EmptyTitle as Gt, addNodeIntent as H, EmptyDescription as Ht, dateFromTimeZone as I, record$1 as In, followWorkbenchLink as It, CacheResource as J, SourceForm as Jt, mapSource as K, Badge as Kt, dateInTimeZone as L, string as Ln, InputGroup as Lt, isUnconstrainedSchema as M, workflowCandidateGroup as Mn, updateStartInputDefs as Mt, typeOfSchema as N, workflowSelectionTask as Nn, updateTriggerSchedule as Nt, editorGroups as O, selectOperation as On, setCodeActions as Ot, calendarChange as P, invalidResponse as Pn, WorkflowExportMenuItem as Pt, connectorActionPorts as Q, EventSourceSetup as Qt, datePickerChange as R, ApiError as Rn, InputGroupAddon as Rt, updateValue as S, inputValue as Sn, setComment as St, supportsFeishuChatFilter as T, openApiFieldIssues as Tn, setNodePositions as Tt, deriveAddNodeOptions as U, EmptyHeader as Ut, isDateFormat as V, EmptyContent as Vt, indexAddNodeOptions as W, EmptyMedia as Wt, resourceData as X, createI18n as Xt, observeResource as Y, SourceSelect as Yt, resourceValue as Z, FeishuEventPicker as Zt, updateResolution as _, parseWorkflowFile as _n, canvasPresentationChange as _t, nameCreatedNodes as a, executionReachableNodes as an, canCancelRun as at, updateTaskPorts as b, triggerConfigValue as bn, removeComments as bt, setInputVariable as c, sourceOutputLabel as cn, flowResourceReferences as ct, updateCondition as d, sampleErrorOutputs as dn, diagnosticItems as dt, WorkbenchClient as en, semanticNodeIcon as et, updateNodeDescription as f, triggerOutputDefinitions as fn, diagnosticMessage as ft, updateOutputPorts as g, encodeWorkflowFile as gn, connectionCatalog as gt, updateNodeSettings as h, connectorActionMetadata as hn, actionWithConnections as ht, deleteSelection as i, decodeTriggerCatalog as in, RunStore as it, getDefaultValue as j, workflowCandidate as jn, setServiceConnections as jt, schemaForEditor as k, serverAddress as kn, setConnectorConnection as kt, setTriggerConnection as l, sourcePort as ln, Latest as lt, updateNodeName as m, connection as mn, schemaMismatchMessage as mt, agentTool as n, allConnectorConnectionsQuery as nn, actionSummary as nt, selectWebhookResponse as o, resolutionOutputPorts as on, hasRunFilter as ot, updateNodeIcon as p, isJsonObject as pn, diagnosticNodeId as pt, scopedValue as q, EventSourcesPage as qt, applyFlowChanges as r, decodeResultList as rn, providerIcon as rt, setInputValue as s, webhookResponseDiagnostics as sn, revisionView as st, addNode as t, randomId as tn, triggerNodeIcon as tt, setTriggerEventSource as u, normalizeTriggerOutputs as un, deriveInspectorDiagnostics as ut, updateTask as v, workflowFileName as vn, commentIds as vt, feishuResourceKind as w, object as wn, setNodeContentHidden as wt, updateTriggerConfig as x, triggerConfigValues as xn, restoreCanvasPresentation as xt, updateTaskAdditionalInputs as y, workflowNameFromFile as yn, flowPresentation as yt, datePickerValue as z, controlErrorCode as zn, InputGroupInput as zt };
29396
+ export { designerGraph as $, EventSourceSetup as $t, valueForEditor as A, serverAddress as An, setInputSources as At, dateTimeWall as B, record$1 as Bn, InputGroupInput as Bt, updateWebhook as C, inputValue as Cn, setFlowViewport as Ct, editorComponent as D, openApiTask as Dn, resetInputValues as Dt, defaultValueEditorSchema as E, openApiFieldIssues as En, repairNodeNames as Et, calendarDate as F, workflowCandidateGroup as Fn, WorkflowExportMenuItem as Ft, combineSources as G, EmptyMedia as Gt, addNodeIntent as H, ApiError as Hn, EmptyContent as Ht, dateFromTimeZone as I, workflowCapability as In, IdTooltip as It, CacheResource as J, EventSourcesPage as Jt, mapSource as K, EmptyTitle as Kt, dateInTimeZone as L, workflowSelectionTask as Ln, followWorkbenchLink as Lt, isUnconstrainedSchema as M, sameWorkflowInterface as Mn, updateStartInputDefs as Mt, typeOfSchema as N, workflowAgentTool as Nn, updateTriggerSchedule as Nt, editorGroups as O, securityOptions as On, setCodeActions as Ot, calendarChange as P, workflowCandidate as Pn, dequal as Pt, connectorActionPorts as Q, FeishuEventPicker as Qt, datePickerChange as R, invalidResponse as Rn, InputGroup as Rt, updateValue as S, triggerConfigValues as Sn, setComment as St, supportsFeishuChatFilter as T, object as Tn, setNodePositions as Tt, deriveAddNodeOptions as U, controlErrorCode as Un, EmptyDescription as Ut, isDateFormat as V, string as Vn, Empty as Vt, indexAddNodeOptions as W, eventSourceKind as Wn, EmptyHeader as Wt, resourceData as X, SourceSelect as Xt, observeResource as Y, SourceForm as Yt, resourceValue as Z, createI18n as Zt, updateResolution as _, encodeWorkflowFile as _n, canvasPresentationChange as _t, nameCreatedNodes as a, decodeTriggerCatalog as an, canCancelRun as at, updateTaskPorts as b, workflowNameFromFile as bn, removeComments as bt, setInputVariable as c, webhookResponseDiagnostics as cn, flowResourceReferences as ct, updateCondition as d, normalizeTriggerOutputs as dn, diagnosticItems as dt, errorNotice as en, semanticNodeIcon as et, updateNodeDescription as f, sampleErrorOutputs as fn, diagnosticMessage as ft, updateOutputPorts as g, connectorActionMetadata as gn, connectionCatalog as gt, updateNodeSettings as h, connection as hn, actionWithConnections as ht, deleteSelection as i, decodeResultList as in, RunStore as it, getDefaultValue as j, servers as jn, setServiceConnections as jt, schemaForEditor as k, selectOperation as kn, setConnectorConnection as kt, setTriggerConnection as l, sourceOutputLabel as ln, Latest as lt, updateNodeName as m, isJsonObject as mn, schemaMismatchMessage as mt, agentTool as n, randomId as nn, actionSummary as nt, selectWebhookResponse as o, executionReachableNodes as on, hasRunFilter as ot, updateNodeIcon as p, triggerOutputDefinitions as pn, diagnosticNodeId as pt, scopedValue as q, Badge as qt, applyFlowChanges as r, allConnectorConnectionsQuery as rn, providerIcon as rt, setInputValue as s, resolutionOutputPorts as sn, revisionView as st, addNode as t, WorkbenchClient as tn, triggerNodeIcon as tt, setTriggerEventSource as u, sourcePort as un, deriveInspectorDiagnostics as ut, updateTask as v, parseWorkflowFile as vn, commentIds as vt, feishuResourceKind as w, listOperations as wn, setNodeContentHidden as wt, updateTriggerConfig as x, triggerConfigValue as xn, restoreCanvasPresentation as xt, updateTaskAdditionalInputs as y, workflowFileName as yn, flowPresentation as yt, datePickerValue as z, jsonValue as zn, InputGroupAddon as zt };