@oomol-lab/open-flow 0.1.0-beta.73 → 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 +59 -22
  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
@@ -4483,13 +4483,6 @@ function openApiIssues(task) {
4483
4483
  return openApiFieldIssues(task).map((issue) => issue.message);
4484
4484
  }
4485
4485
  //#endregion
4486
- //#region src/flow/common/inputValue.ts
4487
- /** An explicit clear suppresses the default; absent mappings still inherit it. */
4488
- function inputValue(mapping, fallback) {
4489
- if (mapping?.kind === "unset") return void 0;
4490
- return mapping?.kind === "value" ? mapping.value : fallback;
4491
- }
4492
- //#endregion
4493
4486
  //#region ../../node_modules/.bun/zod@4.6.5/node_modules/zod/v4/core/util.js
4494
4487
  function getEnumValues(entries) {
4495
4488
  const numericValues = Object.values(entries).filter((v) => typeof v === "number");
@@ -10163,6 +10156,73 @@ function preprocess(fn, schema) {
10163
10156
  function datetime(params) {
10164
10157
  return /* @__PURE__ */ _isoDateTime(ZodISODateTime, params);
10165
10158
  }
10159
+ //#endregion
10160
+ //#region src/workflow/common/workflow.ts
10161
+ var portSchema = object({
10162
+ handle: string().min(1),
10163
+ jsonSchema: json$1(),
10164
+ nullable: boolean(),
10165
+ description: string().optional()
10166
+ });
10167
+ strictObject({
10168
+ inputs: array(portSchema).nullable(),
10169
+ outputs: array(portSchema).nullable()
10170
+ });
10171
+ object({
10172
+ version: literal(1),
10173
+ flowId: string().min(1),
10174
+ name: string(),
10175
+ revisionId: string().min(1),
10176
+ publicationId: string().min(1),
10177
+ inputs: array(portSchema),
10178
+ outputs: array(portSchema).nullable()
10179
+ });
10180
+ object({
10181
+ version: literal(1),
10182
+ direction: _enum(["incoming", "outgoing"]),
10183
+ total: int().nonnegative(),
10184
+ nextOffset: int().nonnegative().optional(),
10185
+ references: array(object({
10186
+ flowId: string(),
10187
+ name: string().nullable(),
10188
+ available: boolean(),
10189
+ draft: boolean(),
10190
+ live: object({
10191
+ publicationId: string(),
10192
+ enabled: boolean()
10193
+ }).nullable()
10194
+ }))
10195
+ });
10196
+ /** Workflow declarations share discovery across authoring, admission and resource indexing. */
10197
+ function nodeWorkflowReferences(node) {
10198
+ if (node.kind != "task") return [];
10199
+ if ("moduleId" in node.task) return (node.task.capabilities ?? []).flatMap((item, index) => item.kind == "workflow" ? [{
10200
+ target: item,
10201
+ path: `task/capabilities/${index}`,
10202
+ tool: item.name
10203
+ }] : []);
10204
+ if (node.task.executor.kind == "workflow") return [{
10205
+ target: {
10206
+ ...node.task.executor,
10207
+ inputs: node.task.inputs.filter((port) => "handle" in port),
10208
+ outputs: node.task.outputs.filter((port) => "handle" in port)
10209
+ },
10210
+ path: "task/executor"
10211
+ }];
10212
+ if (node.task.executor.kind == "agent") return node.task.executor.tools.flatMap((item, index) => item.kind == "workflow" ? [{
10213
+ target: item,
10214
+ path: `task/executor/tools/${index}`,
10215
+ tool: item.name
10216
+ }] : []);
10217
+ return [];
10218
+ }
10219
+ //#endregion
10220
+ //#region src/flow/common/inputValue.ts
10221
+ /** An explicit clear suppresses the default; absent mappings still inherit it. */
10222
+ function inputValue(mapping, fallback) {
10223
+ if (mapping?.kind === "unset") return void 0;
10224
+ return mapping?.kind === "value" ? mapping.value : fallback;
10225
+ }
10166
10226
  function checkJsonDepth(value, depth = 0) {
10167
10227
  if (depth > 64) throw new TypeError("Value exceeds the maximum JSON depth.");
10168
10228
  if (value != null && typeof value == "object") for (const child of Object.values(value)) checkJsonDepth(child, depth + 1);
@@ -10376,7 +10436,7 @@ var ports = {
10376
10436
  inputs: array(union([input, group])),
10377
10437
  outputs: array(union([port, group]))
10378
10438
  };
10379
- var capability = union([
10439
+ var connectorCapabilitySchema = union([
10380
10440
  strictObject({
10381
10441
  kind: literal("connector"),
10382
10442
  action: text,
@@ -10408,6 +10468,15 @@ var capability = union([
10408
10468
  })).optional()
10409
10469
  })
10410
10470
  ]);
10471
+ var workflowCapabilitySchema = strictObject({
10472
+ kind: literal("workflow"),
10473
+ name: text,
10474
+ flowId: text,
10475
+ revisionId: text,
10476
+ inputs: array(port),
10477
+ outputs: array(port).nullable()
10478
+ });
10479
+ var capability = union([connectorCapabilitySchema, workflowCapabilitySchema]);
10411
10480
  var inline = object({
10412
10481
  ...ports,
10413
10482
  name: text,
@@ -10422,6 +10491,20 @@ var agentValue = union([object({
10422
10491
  input: text
10423
10492
  })]);
10424
10493
  var agentInput$1 = union([agentValue, object({ kind: literal("model") })]);
10494
+ var agentToolFields = {
10495
+ id: text,
10496
+ name: text,
10497
+ description: text,
10498
+ approval: boolean(),
10499
+ inputs: array(input.extend({ source: agentInput$1 }))
10500
+ };
10501
+ var connectorAgentToolSchema = object({
10502
+ ...agentToolFields,
10503
+ kind: literal("connector").optional(),
10504
+ action: text,
10505
+ connectionId: actionConnection.optional()
10506
+ });
10507
+ var workflowAgentToolSchema = workflowCapabilitySchema.extend(agentToolFields);
10425
10508
  var decisionQuestion = discriminatedUnion("type", [
10426
10509
  strictObject({
10427
10510
  name: text,
@@ -10490,15 +10573,7 @@ var managedFields = object({
10490
10573
  model: text,
10491
10574
  prompt: text,
10492
10575
  maxRounds: number(),
10493
- tools: array(object({
10494
- id: text,
10495
- name: text,
10496
- description: text,
10497
- action: text,
10498
- connectionId: actionConnection.optional(),
10499
- approval: boolean(),
10500
- inputs: array(input.extend({ source: agentInput$1 }))
10501
- })),
10576
+ tools: array(union([workflowAgentToolSchema, connectorAgentToolSchema])),
10502
10577
  notification: object({
10503
10578
  action: text,
10504
10579
  connectionId: actionConnection.optional(),
@@ -10724,10 +10799,26 @@ var node = union([
10724
10799
  })
10725
10800
  })
10726
10801
  ]);
10727
- strictObject(condition), strictObject(wait), strictObject(webhook), managedFields.shape.executor.options[0].omit({ kind: true }).strict(), managedFields.shape.executor.options[1].omit({ kind: true }).strict(), managedFields.shape.executor.options[2].omit({ kind: true }).strict(), managedFields.shape.executor.options[3].omit({ kind: true }).strict(), managedFields.shape.executor.options[4].omit({
10728
- kind: true,
10729
- notification: true
10730
- }).strict();
10802
+ /** Configuration schemas shared by the node authoring boundary. */
10803
+ var authoringDefinitionSchemas = {
10804
+ input,
10805
+ port,
10806
+ ports,
10807
+ condition: strictObject(condition),
10808
+ wait: strictObject(wait),
10809
+ waitAutoContinue: waitAutoContinueSchema,
10810
+ webhook: strictObject(webhook),
10811
+ schedule: triggerScheduleSchema,
10812
+ capabilities: array(capability),
10813
+ connector: managedFields.shape.executor.options[0].omit({ kind: true }).strict(),
10814
+ openapi: managedFields.shape.executor.options[1].omit({ kind: true }).strict(),
10815
+ decision: managedFields.shape.executor.options[2].omit({ kind: true }).strict(),
10816
+ llm: managedFields.shape.executor.options[3].omit({ kind: true }).strict(),
10817
+ agent: managedFields.shape.executor.options[4].omit({
10818
+ kind: true,
10819
+ notification: true
10820
+ }).strict()
10821
+ };
10731
10822
  var edge = object({
10732
10823
  source: text,
10733
10824
  target: text,
@@ -10763,7 +10854,8 @@ object({
10763
10854
  literal(7),
10764
10855
  literal(8),
10765
10856
  literal(9),
10766
- literal(10)
10857
+ literal(10),
10858
+ literal(11)
10767
10859
  ]),
10768
10860
  document,
10769
10861
  modules: record$1(text, module)
@@ -11125,6 +11217,24 @@ function validVariableName(value) {
11125
11217
  function portsByHandle(ports) {
11126
11218
  return Object.fromEntries(ports.flatMap((port) => "handle" in port ? [[port.handle, port]] : []));
11127
11219
  }
11220
+ var workflowToolNamePattern = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
11221
+ function workflowToolNameIssue(name, otherNames = []) {
11222
+ if (!workflowToolNamePattern.test(name)) return "invalid";
11223
+ for (const other of otherNames) if (other == name) return "duplicate";
11224
+ }
11225
+ function decodeTaskCapabilities(value) {
11226
+ if (!Array.isArray(value)) throw new TypeError("Task capabilities must be an array.");
11227
+ const parsed = authoringDefinitionSchemas.capabilities.parse(value);
11228
+ const connectors = decodeConnectorCapabilities(parsed.filter((item) => item.kind == "connector"));
11229
+ const names = /* @__PURE__ */ new Set();
11230
+ for (const item of parsed) {
11231
+ if (item.kind != "workflow") continue;
11232
+ if (workflowToolNameIssue(item.name, names)) throw new TypeError("Workflow tool names must be unique provider-compatible names.");
11233
+ names.add(item.name);
11234
+ }
11235
+ let connectorIndex = 0;
11236
+ return parsed.map((item) => item.kind == "connector" ? connectors[connectorIndex++] : item);
11237
+ }
11128
11238
  function decodeConnectorCapabilities(value) {
11129
11239
  if (!Array.isArray(value)) throw new TypeError("Connector capabilities must be an array.");
11130
11240
  if (value.length == 0) return [];
@@ -11289,7 +11399,7 @@ function connectionUsage(document) {
11289
11399
  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);
11290
11400
  }
11291
11401
  if (task?.executor.kind == "agent") {
11292
- for (const tool of task.executor.tools) add("agent", tool.action, tool.connectionId);
11402
+ for (const tool of task.executor.tools) if (tool.kind != "workflow") add("agent", tool.action, tool.connectionId);
11293
11403
  const notification = task.executor.notification;
11294
11404
  if (notification != null) add("notification", notification.action, notification.connectionId);
11295
11405
  }
@@ -11344,6 +11454,7 @@ function clearNodeConnections(graph, connectionId) {
11344
11454
  return [id, node];
11345
11455
  }
11346
11456
  const capabilities = node.task.capabilities?.map((capability) => {
11457
+ if (capability.kind == "workflow") return capability;
11347
11458
  if (!("mode" in capability)) {
11348
11459
  if ("action" in capability) {
11349
11460
  const { connectionId: selected, ...rest } = capability;
@@ -11589,9 +11700,10 @@ function normalizeTriggerOutputs(trigger, outputs) {
11589
11700
  }
11590
11701
  //#endregion
11591
11702
  //#region src/execution/common/engineContract.ts
11592
- var currentEngineContract = "open-flow-engine/v7";
11593
- var nodejsEngineContract = "open-flow-engine/v7/nodejs-compat-v1";
11703
+ var currentEngineContract = "open-flow-engine/v8";
11704
+ var nodejsEngineContract = "open-flow-engine/v8/nodejs-compat-v1";
11594
11705
  var currentContract = {
11706
+ workflowTools: true,
11595
11707
  waitAutoContinue: true,
11596
11708
  webhookResponses: true,
11597
11709
  platformExports: /* @__PURE__ */ new Set(["engineContract", "identity"]),
@@ -11633,10 +11745,16 @@ export function identity(value) { return value }
11633
11745
  `
11634
11746
  };
11635
11747
  function findEngineContract(contract) {
11636
- if (contract == "open-flow-engine/v7") return currentContract;
11637
- if (contract == "open-flow-engine/v7/nodejs-compat-v1") return nodejsContract;
11748
+ if (contract == "open-flow-engine/v8") return currentContract;
11749
+ if (contract == "open-flow-engine/v8/nodejs-compat-v1") return nodejsContract;
11750
+ if (contract == "open-flow-engine/v7" || contract == "open-flow-engine/v7/nodejs-compat-v1") return {
11751
+ ...contract.endsWith("/nodejs-compat-v1") ? nodejsContract : currentContract,
11752
+ workflowTools: false,
11753
+ platformSource: `export const engineContract = ${JSON.stringify(contract)}\nexport function identity(value) { return value }\n`
11754
+ };
11638
11755
  if (contract == "open-flow-engine/v6" || contract == "open-flow-engine/v6/nodejs-compat-v1") return {
11639
11756
  ...contract == "open-flow-engine/v6" ? currentContract : nodejsContract,
11757
+ workflowTools: false,
11640
11758
  waitAutoContinue: false,
11641
11759
  webhookResponses: false,
11642
11760
  platformSource: `export const engineContract = ${JSON.stringify(contract)}
@@ -11839,7 +11957,7 @@ function agentConfigIssues(task) {
11839
11957
  ids.add(tool.id);
11840
11958
  names.add(tool.name);
11841
11959
  if (tool.description.trim().length == 0) issues.push(`Tool ${tool.name} requires a description.`);
11842
- if (!/^[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$/.test(tool.action)) issues.push(`Tool ${tool.name} has an invalid Action or Connection.`);
11960
+ if (tool.kind != "workflow" && !/^[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$/.test(tool.action)) issues.push(`Tool ${tool.name} has an invalid Action or Connection.`);
11843
11961
  const fields = /* @__PURE__ */ new Set();
11844
11962
  for (const port of tool.inputs) {
11845
11963
  if (port.handle.length == 0 || fields.has(port.handle)) issues.push(`Tool ${tool.name} has an empty or duplicate input.`);
@@ -24530,7 +24648,7 @@ function flowResourceReferences(content) {
24530
24648
  });
24531
24649
  }
24532
24650
  return {
24533
- 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(),
24651
+ calledFlowIds: [...new Set(Object.values(content.document.graph.nodes).flatMap((node) => nodeWorkflowReferences(node).map(({ target }) => target.flowId).filter(Boolean)))].toSorted(),
24534
24652
  variableNames: [...new Set(Object.values(variableBindings(content, flowDependencies(content).bindings)))].toSorted(),
24535
24653
  connections: [...connections].toSorted(([left], [right]) => left < right ? -1 : left > right ? 1 : 0).map(([, value]) => value),
24536
24654
  errorSourceFlowIds: [...new Set(Object.values(content.document.graph.nodes).flatMap((node) => node.kind == "error" ? node.sourceFlowIds ?? [] : []))].toSorted()
@@ -24599,7 +24717,7 @@ async function validateFlow(revision, engine) {
24599
24717
  });
24600
24718
  }
24601
24719
  try {
24602
- decodeConnectorCapabilities(node.task.capabilities === void 0 ? [] : node.task.capabilities);
24720
+ decodeTaskCapabilities(node.task.capabilities === void 0 ? [] : node.task.capabilities);
24603
24721
  } catch {
24604
24722
  checked.diagnostics.push({
24605
24723
  code: "task.capability-incomplete",
@@ -24722,6 +24840,7 @@ function runRevision(revision, triggerId) {
24722
24840
  async function prepareFlow(revision, engineContract, triggerId) {
24723
24841
  const engine = findEngineContract(engineContract);
24724
24842
  if (engine == null) return { kind: "engine-unsupported" };
24843
+ if (!engine.workflowTools && Object.values(revision.document.graph.nodes).some((node) => nodeWorkflowReferences(node).some((ref) => ref.tool != null))) return { kind: "engine-unsupported" };
24725
24844
  if (triggerId != null) {
24726
24845
  const trigger = revision.document.graph.nodes[triggerId];
24727
24846
  if (trigger == null || !isTriggerNode(trigger)) return {
@@ -24780,7 +24899,7 @@ function agentActions(flow) {
24780
24899
  const task = node.task;
24781
24900
  if (task.executor.kind != "agent") return [];
24782
24901
  const notice = task.executor.notification;
24783
- return [...task.executor.tools, ...notice != null ? [notice] : []].filter((tool) => tool.connectionId !== "").map((tool) => ({
24902
+ return [...task.executor.tools.filter((tool) => tool.kind != "workflow"), ...notice != null ? [notice] : []].filter((tool) => tool.connectionId !== "").map((tool) => ({
24784
24903
  kind: "connector",
24785
24904
  action: tool.action,
24786
24905
  connections: tool.connectionId == null ? [] : [{ connectionId: tool.connectionId }]
@@ -24788,7 +24907,7 @@ function agentActions(flow) {
24788
24907
  });
24789
24908
  }
24790
24909
  function codeActions(flow) {
24791
- return Object.values(flow.graph.nodes).flatMap((node) => node.kind == "task" && "moduleId" in node.task ? node.task.capabilities ?? [] : []);
24910
+ return Object.values(flow.graph.nodes).flatMap((node) => node.kind == "task" && "moduleId" in node.task ? (node.task.capabilities ?? []).filter((item) => item.kind == "connector") : []);
24792
24911
  }
24793
24912
  //#endregion
24794
24913
  export { agentActions, agentInput, agentToolInput, agentToolSchema, availableOutputs, codeActions, connectionUsage, createRuntimeProgram, encodeFlowClosure, flowClosure, flowDependencies, flowResourceReferences, graphOrder, matchesSchema, matchesTriggerOutputs, nodeInputPorts, normalizeRunTrigger, normalizeTriggerOutputs, prepareFlow, removeConnectionUsage, renderPrompt, schemaValidationErrors, triggerOutputDefinitions, triggerOutputPorts, validRunTrigger, validateFlow, validateFlowInputs, validateModules, variableBindings, variableInputCompatible };
@@ -1,4 +1,4 @@
1
- import type { JsonValue, RevisionContent } from '../browser/flow-change.js';
1
+ import type { JsonValue, RevisionContent } from './flow-change.js';
2
2
  export interface WorkflowFile {
3
3
  readonly kind: 'open-flow-workflow';
4
4
  readonly version: 1;
@@ -1,5 +1,5 @@
1
- import type { ManagedTaskDefinition } from '../browser/flow-change.js';
2
- import type { GraphNode, RevisionContent } from '../browser/flow-change.js';
1
+ import type { ManagedTaskDefinition } from './flow-change.js';
2
+ import type { GraphNode, RevisionContent } from './flow-change.js';
3
3
  import type { ConnectorAction, Draft, Flow, Live } from './control-api.js';
4
4
  export declare function inspectFlowDraft(flow: Flow, readDraft: () => Draft | Promise<Draft>): Promise<{
5
5
  flow: Flow;
@@ -43,7 +43,7 @@ export declare function flowInspection(inspected: Awaited<ReturnType<typeof insp
43
43
  nodes: {
44
44
  [k: string]: Record<string, unknown>;
45
45
  };
46
- edges: readonly import('../browser/flow-change.js').GraphEdge[];
46
+ edges: readonly import('./flow-change.js').GraphEdge[];
47
47
  };
48
48
  bindings: Readonly<Record<string, {
49
49
  readonly kind: 'variable';
@@ -1,6 +1,6 @@
1
1
  export { resolveTriggerConfig, triggerConfigValues } from './trigger-config.js';
2
2
  import type { ConnectorProxy } from './connector-proxy.js';
3
- import type { IntegrationEndpointMethod, JsonValue, TriggerKeySnapshot } from '../browser/flow-change.js';
3
+ import type { IntegrationEndpointMethod, JsonValue, TriggerKeySnapshot } from './flow-change.js';
4
4
  import type { TriggerConfigOption, TriggerConfigOptionsContext } from './trigger-config-options.js';
5
5
  export declare const maximumIntegrationBodyBytes: number;
6
6
  export declare const maximumIntegrationDeliveryPages = 5;
@@ -1,3 +1,120 @@
1
1
  # Licenses
2
2
 
3
- The app does not bundle any dependencies with licenses.
3
+ The app bundles dependencies which contain the following licenses:
4
+
5
+ ## @babel/parser - 8.0.4 (MIT)
6
+
7
+ Copyright (C) 2012-2014 by various contributors (see AUTHORS)
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+
27
+ ## @wopjs/cast - 0.1.16 (MIT)
28
+
29
+ MIT License
30
+
31
+ Copyright (c) 2026 wopjs
32
+
33
+ Permission is hereby granted, free of charge, to any person obtaining a copy
34
+ of this software and associated documentation files (the "Software"), to deal
35
+ in the Software without restriction, including without limitation the rights
36
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37
+ copies of the Software, and to permit persons to whom the Software is
38
+ furnished to do so, subject to the following conditions:
39
+
40
+ The above copyright notice and this permission notice shall be included in all
41
+ copies or substantial portions of the Software.
42
+
43
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
49
+ SOFTWARE.
50
+
51
+ ## dequal - 2.0.3 (MIT)
52
+
53
+ The MIT License (MIT)
54
+
55
+ Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
56
+
57
+ Permission is hereby granted, free of charge, to any person obtaining a copy
58
+ of this software and associated documentation files (the "Software"), to deal
59
+ in the Software without restriction, including without limitation the rights
60
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61
+ copies of the Software, and to permit persons to whom the Software is
62
+ furnished to do so, subject to the following conditions:
63
+
64
+ The above copyright notice and this permission notice shall be included in
65
+ all copies or substantial portions of the Software.
66
+
67
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
68
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
69
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
70
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
71
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
72
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
73
+ THE SOFTWARE.
74
+
75
+ ## nanoid - 6.0.1 (MIT)
76
+
77
+ The MIT License (MIT)
78
+
79
+ Copyright 2017 Andrey Sitnik <andrey@sitnik.es>
80
+
81
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
82
+ this software and associated documentation files (the "Software"), to deal in
83
+ the Software without restriction, including without limitation the rights to
84
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
85
+ the Software, and to permit persons to whom the Software is furnished to do so,
86
+ subject to the following conditions:
87
+
88
+ The above copyright notice and this permission notice shall be included in all
89
+ copies or substantial portions of the Software.
90
+
91
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
92
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
93
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
94
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
95
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
96
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
97
+
98
+ ## zod - 4.6.5 (MIT)
99
+
100
+ MIT License
101
+
102
+ Copyright (c) 2025 Colin McDonnell
103
+
104
+ Permission is hereby granted, free of charge, to any person obtaining a copy
105
+ of this software and associated documentation files (the "Software"), to deal
106
+ in the Software without restriction, including without limitation the rights
107
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
108
+ copies of the Software, and to permit persons to whom the Software is
109
+ furnished to do so, subject to the following conditions:
110
+
111
+ The above copyright notice and this permission notice shall be included in all
112
+ copies or substantial portions of the Software.
113
+
114
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
115
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
116
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
117
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
118
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
119
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
120
+ SOFTWARE.
@@ -1,4 +1,4 @@
1
- import type { RevisionContent } from '../browser/flow-change.js';
1
+ import type { RevisionContent } from './flow-change.js';
2
2
  import type { Publication, TriggerBinding } from './control-api.js';
3
3
  import { z } from 'zod';
4
4
  import { flowInputFieldsView } from './authoringSchema.js';
@@ -1,4 +1,4 @@
1
- import type { JsonValue } from '../browser/flow-change.js';
1
+ import type { JsonValue } from './flow-change.js';
2
2
  import { z } from 'zod';
3
3
  export declare const mcpProtocolVersion = "2026-07-28";
4
4
  export declare const mcpInstructions: string;
@@ -388,6 +388,7 @@ export declare const mcpTools: {
388
388
  } | {
389
389
  op: "node.refresh";
390
390
  node: string;
391
+ tool?: string | undefined;
391
392
  } | {
392
393
  op: "node.remove";
393
394
  node: string;
@@ -8920,7 +8920,7 @@ var ports$1 = {
8920
8920
  inputs: array(union([input, group])),
8921
8921
  outputs: array(union([port$1, group]))
8922
8922
  };
8923
- var capability = union([
8923
+ var connectorCapabilitySchema = union([
8924
8924
  strictObject({
8925
8925
  kind: literal("connector"),
8926
8926
  action: text,
@@ -8952,6 +8952,15 @@ var capability = union([
8952
8952
  })).optional()
8953
8953
  })
8954
8954
  ]);
8955
+ var workflowCapabilitySchema = strictObject({
8956
+ kind: literal("workflow"),
8957
+ name: text,
8958
+ flowId: text,
8959
+ revisionId: text,
8960
+ inputs: array(port$1),
8961
+ outputs: array(port$1).nullable()
8962
+ });
8963
+ var capability = union([connectorCapabilitySchema, workflowCapabilitySchema]);
8955
8964
  var inline = object({
8956
8965
  ...ports$1,
8957
8966
  name: text,
@@ -8966,6 +8975,20 @@ var agentValue = union([object({
8966
8975
  input: text
8967
8976
  })]);
8968
8977
  var agentInput = union([agentValue, object({ kind: literal("model") })]);
8978
+ var agentToolFields = {
8979
+ id: text,
8980
+ name: text,
8981
+ description: text,
8982
+ approval: boolean(),
8983
+ inputs: array(input.extend({ source: agentInput }))
8984
+ };
8985
+ var connectorAgentToolSchema = object({
8986
+ ...agentToolFields,
8987
+ kind: literal("connector").optional(),
8988
+ action: text,
8989
+ connectionId: actionConnection.optional()
8990
+ });
8991
+ var workflowAgentToolSchema = workflowCapabilitySchema.extend(agentToolFields);
8969
8992
  var decisionQuestion = discriminatedUnion("type", [
8970
8993
  strictObject({
8971
8994
  name: text,
@@ -9034,15 +9057,7 @@ var managedFields = object({
9034
9057
  model: text,
9035
9058
  prompt: text,
9036
9059
  maxRounds: number(),
9037
- tools: array(object({
9038
- id: text,
9039
- name: text,
9040
- description: text,
9041
- action: text,
9042
- connectionId: actionConnection.optional(),
9043
- approval: boolean(),
9044
- inputs: array(input.extend({ source: agentInput }))
9045
- })),
9060
+ tools: array(union([workflowAgentToolSchema, connectorAgentToolSchema])),
9046
9061
  notification: object({
9047
9062
  action: text,
9048
9063
  connectionId: actionConnection.optional(),
@@ -9323,7 +9338,8 @@ var revision = object({
9323
9338
  literal(7),
9324
9339
  literal(8),
9325
9340
  literal(9),
9326
- literal(10)
9341
+ literal(10),
9342
+ literal(11)
9327
9343
  ]),
9328
9344
  document,
9329
9345
  modules: record$2(text, module)
@@ -9524,6 +9540,7 @@ array(union([...new Map(Object.entries(shapes).map(([kind, shape]) => [kind, sha
9524
9540
  ...shape
9525
9541
  })])).values()])).min(1);
9526
9542
  function checkModelVersion(content) {
9543
+ if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && ("moduleId" in candidateNode.task ? candidateNode.task.capabilities?.some((item) => item.kind == "workflow") : candidateNode.task.executor.kind == "agent" && candidateNode.task.executor.tools.some((item) => item.kind == "workflow")))) throw new TypeError("Workflow tools require Flow model version 11.");
9527
9544
  if (content.modelVersion < 10 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "webhook" && (candidateNode.options?.responseBody != null || candidateNode.options?.responseStatusCodeOutput != null || candidateNode.options?.responseHeadersSource != null || candidateNode.options?.responseHeaderOutputs != null))) throw new TypeError("Dynamic Webhook responses require Flow model version 10.");
9528
9545
  if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => "retry" in candidateNode && candidateNode.retry != null)) throw new TypeError("Node retries require Flow model version 9.");
9529
9546
  if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => {
@@ -9646,10 +9663,21 @@ var operand = union([
9646
9663
  system,
9647
9664
  variable$1
9648
9665
  ]);
9649
- var agentTool = authoringDefinitionSchemas.agent.shape.tools.element.omit({
9666
+ var toolSources = record$2(id$2, 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.");
9667
+ var agentTool = union([workflowAgentToolSchema.omit({
9668
+ id: true,
9669
+ inputs: true,
9670
+ outputs: true,
9671
+ revisionId: true
9672
+ }).extend({ inputs: toolSources }).strict(), connectorAgentToolSchema.omit({
9650
9673
  id: true,
9651
9674
  inputs: true
9652
- }).extend({ inputs: record$2(id$2, 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();
9675
+ }).extend({ inputs: toolSources }).strict()]);
9676
+ var authoringCapabilities = array(union([connectorCapabilitySchema, strictObject({
9677
+ kind: literal("workflow"),
9678
+ name: id$2,
9679
+ flowId: id$2
9680
+ })]));
9653
9681
  var notification = strictObject({
9654
9682
  ...authoringDefinitionSchemas.connector.shape,
9655
9683
  messageHandle: id$2,
@@ -9705,7 +9733,7 @@ var authoringConfigurations = {
9705
9733
  "code": strictObject({
9706
9734
  inputs: inputFields,
9707
9735
  outputs: outputFields,
9708
- capabilities: authoringDefinitionSchemas.capabilities.optional()
9736
+ capabilities: authoringCapabilities.optional()
9709
9737
  }),
9710
9738
  "connector": authoringDefinitionSchemas.connector.omit({ outputMode: true }).strict(),
9711
9739
  "openapi": authoringOpenApiSchema,
@@ -9769,7 +9797,8 @@ var authoringEditSchema = discriminatedUnion("op", [
9769
9797
  }),
9770
9798
  strictObject({
9771
9799
  op: literal("node.refresh"),
9772
- node: referenceSchema
9800
+ node: referenceSchema,
9801
+ tool: id$2.optional().describe("Name of a workflow tool on an Agent or Code node. Omit for a Call Workflow node.")
9773
9802
  }),
9774
9803
  strictObject({
9775
9804
  op: literal("node.remove"),
@@ -9901,7 +9930,7 @@ var resultQuerySchema = strictObject({
9901
9930
  });
9902
9931
  //#endregion
9903
9932
  //#region src/execution/common/engineContract.ts
9904
- var currentEngineContract = "open-flow-engine/v7";
9933
+ var currentEngineContract = "open-flow-engine/v8";
9905
9934
  `${JSON.stringify(currentEngineContract)}`, new Set([
9906
9935
  "assert",
9907
9936
  "assert/strict",
@@ -9927,7 +9956,7 @@ var currentEngineContract = "open-flow-engine/v7";
9927
9956
  "url",
9928
9957
  "util",
9929
9958
  "zlib"
9930
- ].flatMap((name) => [name, `node:${name}`])), `${JSON.stringify("open-flow-engine/v7/nodejs-compat-v1")}`;
9959
+ ].flatMap((name) => [name, `node:${name}`])), `${JSON.stringify("open-flow-engine/v8/nodejs-compat-v1")}`;
9931
9960
  //#endregion
9932
9961
  //#region src/workflow/common/workflow.ts
9933
9962
  var portSchema = object({
@@ -11090,10 +11119,17 @@ var result = object({
11090
11119
  resultId: string$1().min(1),
11091
11120
  callId: string$1().min(1),
11092
11121
  toolId: string$1().min(1),
11093
- source: discriminatedUnion("kind", [object({
11094
- kind: literal("connector"),
11095
- action: string$1().min(1)
11096
- }), object({ kind: literal("code") })]),
11122
+ source: discriminatedUnion("kind", [
11123
+ object({
11124
+ kind: literal("connector"),
11125
+ action: string$1().min(1)
11126
+ }),
11127
+ object({ kind: literal("code") }),
11128
+ object({
11129
+ kind: literal("workflow"),
11130
+ flowId: string$1().min(1)
11131
+ })
11132
+ ]),
11097
11133
  bytes: number().int().nonnegative(),
11098
11134
  digest: string$1().regex(/^[a-f0-9]{64}$/),
11099
11135
  createdAt: string$1().datetime()
@@ -11499,7 +11535,8 @@ function workflowIdentity(value) {
11499
11535
  flowId: string(ref.flowId),
11500
11536
  runId: string(ref.runId),
11501
11537
  nodeId: string(ref.nodeId),
11502
- executionId: string(ref.executionId)
11538
+ executionId: string(ref.executionId),
11539
+ ...ref.callId == null ? {} : { callId: string(ref.callId) }
11503
11540
  };
11504
11541
  }
11505
11542
  function runInitiator(value) {
@@ -1,4 +1,4 @@
1
- import type { JsonValue, ManagedTaskDefinition } from '../browser/flow-change.js';
1
+ import type { JsonValue, ManagedTaskDefinition } from './flow-change.js';
2
2
  type ObjectValue = {
3
3
  [key: string]: JsonValue;
4
4
  };