@oomol-lab/open-flow 0.1.0-beta.73 → 0.1.0-beta.75

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 (444) hide show
  1. package/LICENSE +36 -0
  2. package/NOTICE +7 -0
  3. package/README.md +41 -0
  4. package/dist/browser/{ContentIcon-CUQHjQIw.js → ContentIcon-FCpKiwjp.js} +2 -1
  5. package/dist/browser/{FlowCanvas-Dtf8_cQp.js → FlowCanvas-dzRBnlUT.js} +1 -1
  6. package/dist/browser/{createResourceDialog-BWJkjiOO.js → createResourceDialog-BeYDdUl-.js} +2 -2
  7. package/dist/browser/{dialog-CUy_fwx9.js → dialog-ZtpsFbl4.js} +337 -31
  8. package/dist/browser/{exportSvg-BOoy7-Db.js → exportSvg-DqXw1yf-.js} +2 -2
  9. package/dist/browser/{flowChanges-CgSnSqqP.js → flowChanges-b_5UobFj.js} +586 -87
  10. package/dist/browser/{flowWorkspace-Bf7H-r0t.js → flowWorkspace-ItojZbO4.js} +21162 -20242
  11. package/dist/browser/preview.css +254 -179
  12. package/dist/browser/preview.js +22201 -20625
  13. package/dist/browser/{typeScriptSession-B0hC-C8y.js → typeScriptSession-CSRwWmZm.js} +1 -1
  14. package/dist/browser/ui.css +72 -2
  15. package/dist/browser/workbench.css +254 -179
  16. package/dist/browser/workbench.js +22 -78
  17. package/dist/browser/{workbenchSelect-C3e4J93X.js → workbenchSelect-M441Lz0d.js} +1 -1
  18. package/dist/command/index.js +42 -42
  19. package/dist/common/authoring.d.ts +5 -5
  20. package/dist/common/authoringExamples.d.ts +3 -2
  21. package/dist/common/authoringFields.d.ts +1 -1
  22. package/dist/common/authoringSchema.d.ts +95 -8
  23. package/dist/common/connector-proxy.d.ts +1 -1
  24. package/dist/common/control-api-conformance.d.ts +1 -1
  25. package/dist/common/control-api-conformance.js +119 -31
  26. package/dist/common/control-api.d.ts +4 -3
  27. package/dist/common/control-api.js +117 -29
  28. package/dist/common/control-requests.d.ts +5 -4
  29. package/dist/common/control-requests.js +437 -103
  30. package/dist/common/cron-trigger.d.ts +1 -1
  31. package/dist/common/decision.d.ts +1 -1
  32. package/dist/common/draftOperations.d.ts +1 -1
  33. package/dist/common/engine-contract.d.ts +4 -2
  34. package/dist/common/event-source-definition.d.ts +1 -1
  35. package/dist/common/flow-agent.d.ts +1 -1
  36. package/dist/{browser → common}/flow-authoring-node.d.ts +3 -3
  37. package/dist/{browser → common}/flow-authoring.js +131 -30
  38. package/dist/{browser → common}/flow-change-schema.d.ts +177 -6
  39. package/dist/{browser → common}/flow-change.d.ts +35 -15
  40. package/dist/{browser → common}/flow-change.js +133 -32
  41. package/dist/common/flow-connectionUsage.d.ts +1 -1
  42. package/dist/common/flow-encoding.d.ts +1 -1
  43. package/dist/common/flow-encoding.js +89 -23
  44. package/dist/common/flow-errorHandling.d.ts +1 -1
  45. package/dist/common/flow-graph.d.ts +3 -2
  46. package/dist/common/flow-modules.d.ts +1 -1
  47. package/dist/common/flow-promptTemplate.d.ts +1 -1
  48. package/dist/common/flow-retry.d.ts +2 -2
  49. package/dist/common/flow-semantics.d.ts +1 -1
  50. package/dist/common/flow-semantics.js +966 -614
  51. package/dist/common/flow-workflowFile.d.ts +1 -1
  52. package/dist/common/flowInspection.d.ts +3 -3
  53. package/dist/common/http-request.d.ts +156 -0
  54. package/dist/common/http-request.js +5254 -0
  55. package/dist/common/integration-trigger.d.ts +1 -1
  56. package/dist/common/licenses.md +118 -1
  57. package/dist/common/liveDetails.d.ts +1 -1
  58. package/dist/common/mcp.d.ts +5 -4
  59. package/dist/common/mcp.js +117 -29
  60. package/dist/common/openapi.d.ts +1 -1
  61. package/dist/common/poll-trigger.d.ts +1 -1
  62. package/dist/common/run-events.js +11 -9
  63. package/dist/common/run-results.d.ts +8 -1
  64. package/dist/common/runtime-contract.d.ts +8 -2
  65. package/dist/common/runtime-contract.js +25 -5
  66. package/dist/common/scheduler-checkpoint.d.ts +1 -1
  67. package/dist/common/scheduler-dependencies.d.ts +1 -1
  68. package/dist/common/scheduler-node-execution.d.ts +1 -1
  69. package/dist/common/scheduler.d.ts +3 -3
  70. package/dist/common/scheduler.js +101 -33
  71. package/dist/common/trigger-catalog.d.ts +1 -1
  72. package/dist/common/trigger-config-options.d.ts +1 -1
  73. package/dist/common/trigger-config.d.ts +1 -1
  74. package/dist/common/trigger-contract.d.ts +2 -2
  75. package/dist/common/trigger-localization.d.ts +1 -1
  76. package/dist/common/webhook-response.d.ts +1 -3
  77. package/dist/common/webhook-trigger.d.ts +1 -1
  78. package/dist/common/webhook-trigger.js +12 -11
  79. package/dist/common/workflow.d.ts +17 -1
  80. package/dist/common/workflow.js +68 -22
  81. package/dist/index.d.ts +6 -3
  82. package/package.json +11 -6
  83. package/skills/open-flow/references/flow-authoring.md +1 -0
  84. package/skills/open-flow/references/flow-n8n-conversion.md +19 -15
  85. package/src/base/common/json.ts +90 -0
  86. package/src/canvas/common/commands.ts +15 -0
  87. package/src/connector/common/actionSchema.ts +168 -0
  88. package/src/connector/common/proxy.ts +44 -0
  89. package/src/control/common/api.ts +1506 -0
  90. package/src/control/common/authoring.ts +923 -0
  91. package/src/control/common/authoringCondition.ts +110 -0
  92. package/src/control/common/authoringDiagnosticFields.ts +136 -0
  93. package/src/control/common/authoringExamples.ts +200 -0
  94. package/src/control/common/authoringFields.ts +53 -0
  95. package/src/control/common/authoringLlm.ts +70 -0
  96. package/src/control/common/authoringOpenApi.ts +129 -0
  97. package/src/control/common/authoringSchema.ts +410 -0
  98. package/src/control/common/authoringTools.ts +123 -0
  99. package/src/control/common/authoringTriggers.ts +26 -0
  100. package/src/control/common/checkDecoders.ts +65 -0
  101. package/src/control/common/conformance.ts +1989 -0
  102. package/src/control/common/connectorDecoders.ts +370 -0
  103. package/src/control/common/connectorQueries.ts +61 -0
  104. package/src/control/common/decoding.ts +60 -0
  105. package/src/control/common/draftOperations.ts +61 -0
  106. package/src/control/common/errors.ts +114 -0
  107. package/src/control/common/eventSourceSchemas.ts +13 -0
  108. package/src/control/common/eventSources.ts +186 -0
  109. package/src/control/common/flowDecoders.ts +153 -0
  110. package/src/control/common/flowInspection.ts +181 -0
  111. package/src/control/common/flowNotifications.ts +37 -0
  112. package/src/control/common/liveDetails.ts +124 -0
  113. package/src/control/common/mcp.ts +241 -0
  114. package/src/control/common/mcpConformance.ts +142 -0
  115. package/src/control/common/providerAccess.ts +28 -0
  116. package/src/control/common/providerIconSprite.ts +42 -0
  117. package/src/control/common/publicationDecoders.ts +98 -0
  118. package/src/control/common/random.ts +16 -0
  119. package/src/control/common/requests.ts +112 -0
  120. package/src/control/common/resultQuery.ts +8 -0
  121. package/src/control/common/results.ts +176 -0
  122. package/src/control/common/revisionDecoders.ts +52 -0
  123. package/src/control/common/runDecoders.ts +240 -0
  124. package/src/control/common/triggerCatalog.ts +89 -0
  125. package/src/control/common/triggerDecoders.ts +175 -0
  126. package/src/decision/common/decision.ts +168 -0
  127. package/src/event-source/common/catalog.generated.json +65 -0
  128. package/src/event-source/common/definition.ts +66 -0
  129. package/src/event-source/common/index.ts +99 -0
  130. package/src/execution/common/checkpoint.ts +311 -0
  131. package/src/execution/common/dependencies.ts +440 -0
  132. package/src/execution/common/engineContract.ts +84 -0
  133. package/src/execution/common/events.ts +331 -0
  134. package/src/execution/common/node-execution.ts +469 -0
  135. package/src/execution/common/runLifecycle.ts +250 -0
  136. package/src/execution/common/runtime.ts +563 -0
  137. package/src/execution/common/scheduler.ts +697 -0
  138. package/src/execution/common/wait.ts +36 -0
  139. package/src/flow/common/agent.ts +305 -0
  140. package/src/flow/common/authoring.ts +30 -0
  141. package/src/flow/common/change.ts +1037 -0
  142. package/src/flow/common/changeSchema.ts +792 -0
  143. package/src/flow/common/codePermissions.ts +2 -0
  144. package/src/flow/common/condition.ts +265 -0
  145. package/src/flow/common/connectionUsage.ts +131 -0
  146. package/src/flow/common/edgeChanges.ts +35 -0
  147. package/src/flow/common/encoding.ts +437 -0
  148. package/src/flow/common/errorHandling.ts +34 -0
  149. package/src/flow/common/graph.ts +898 -0
  150. package/src/flow/common/inputValue.ts +16 -0
  151. package/src/flow/common/json.ts +8 -0
  152. package/src/flow/common/moduleChanges.ts +31 -0
  153. package/src/flow/common/modules.ts +292 -0
  154. package/src/flow/common/nodeChanges.ts +762 -0
  155. package/src/flow/common/portChanges.ts +36 -0
  156. package/src/flow/common/promptTemplate.ts +15 -0
  157. package/src/flow/common/retry.ts +20 -0
  158. package/src/flow/common/schema.ts +162 -0
  159. package/src/flow/common/schemaCompare.ts +176 -0
  160. package/src/flow/common/schemaComparer.ts +178 -0
  161. package/src/flow/common/schemaKeywords.ts +53 -0
  162. package/src/flow/common/semantics.ts +531 -0
  163. package/src/flow/common/sourceField.ts +35 -0
  164. package/src/flow/common/triggerScheduleSchema.ts +8 -0
  165. package/src/flow/common/wait.ts +30 -0
  166. package/src/flow/common/webhookMethod.ts +7 -0
  167. package/src/flow/common/webhookResponse.ts +71 -0
  168. package/src/flow/common/workflowFile.ts +97 -0
  169. package/src/http/common/authBindings.ts +12 -0
  170. package/src/http/common/headers.ts +5 -0
  171. package/src/http/common/httpRequest.ts +251 -0
  172. package/src/json-schema-subset/checker/array.ts +142 -0
  173. package/src/json-schema-subset/checker/cache.ts +57 -0
  174. package/src/json-schema-subset/checker/checker.ts +230 -0
  175. package/src/json-schema-subset/checker/enumAndConst.ts +113 -0
  176. package/src/json-schema-subset/checker/equals.ts +93 -0
  177. package/src/json-schema-subset/checker/numeric/checker.ts +50 -0
  178. package/src/json-schema-subset/checker/numeric/float.ts +121 -0
  179. package/src/json-schema-subset/checker/numeric/index.ts +1 -0
  180. package/src/json-schema-subset/checker/numeric/integer.ts +119 -0
  181. package/src/json-schema-subset/checker/numeric/integerNormalizer.ts +72 -0
  182. package/src/json-schema-subset/checker/object.ts +354 -0
  183. package/src/json-schema-subset/checker/range.ts +91 -0
  184. package/src/json-schema-subset/checker/string.ts +60 -0
  185. package/src/json-schema-subset/checker/tools/index.ts +3 -0
  186. package/src/json-schema-subset/checker/tools/mark.ts +82 -0
  187. package/src/json-schema-subset/checker/tools/quantum.ts +106 -0
  188. package/src/json-schema-subset/checker/tools/range.ts +210 -0
  189. package/src/json-schema-subset/checker/validator.ts +23 -0
  190. package/src/json-schema-subset/compiler/array.ts +163 -0
  191. package/src/json-schema-subset/compiler/combination.ts +109 -0
  192. package/src/json-schema-subset/compiler/common.ts +99 -0
  193. package/src/json-schema-subset/compiler/compiler.ts +188 -0
  194. package/src/json-schema-subset/compiler/enumAndConst.ts +75 -0
  195. package/src/json-schema-subset/compiler/index.ts +11 -0
  196. package/src/json-schema-subset/compiler/object.ts +411 -0
  197. package/src/json-schema-subset/compiler/primitive.ts +144 -0
  198. package/src/json-schema-subset/compiler/utils.ts +24 -0
  199. package/src/json-schema-subset/compiler/wrapper.ts +192 -0
  200. package/src/json-schema-subset/error.ts +55 -0
  201. package/src/json-schema-subset/expression/calculator.ts +442 -0
  202. package/src/json-schema-subset/expression/combination.ts +49 -0
  203. package/src/json-schema-subset/expression/expression.ts +191 -0
  204. package/src/json-schema-subset/expression/index.ts +25 -0
  205. package/src/json-schema-subset/expression/result.ts +88 -0
  206. package/src/json-schema-subset/expression/types.ts +36 -0
  207. package/src/json-schema-subset/extends/extendsContext.ts +89 -0
  208. package/src/json-schema-subset/extends/index.ts +2 -0
  209. package/src/json-schema-subset/extends/types.ts +12 -0
  210. package/src/json-schema-subset/global.ts +60 -0
  211. package/src/json-schema-subset/index.ts +8 -0
  212. package/src/json-schema-subset/preprocessing.ts +74 -0
  213. package/src/json-schema-subset/types.ts +8 -0
  214. package/src/json-schema-subset/utils.ts +95 -0
  215. package/src/localization/common/languages.ts +118 -0
  216. package/src/localization/common/timeZone.ts +25 -0
  217. package/src/openapi/common/openapi.ts +459 -0
  218. package/src/trigger/common/config.ts +56 -0
  219. package/src/trigger/common/configOptions.ts +15 -0
  220. package/src/trigger/common/configSchema.ts +8 -0
  221. package/src/trigger/common/contract.ts +132 -0
  222. package/src/trigger/common/cron.ts +151 -0
  223. package/src/trigger/common/integration.ts +498 -0
  224. package/src/trigger/common/poll.ts +187 -0
  225. package/src/trigger/common/webhook.ts +413 -0
  226. package/src/trigger/providers/airtable/locales/fr.json +18 -0
  227. package/src/trigger/providers/airtable/locales/ja.json +18 -0
  228. package/src/trigger/providers/airtable/locales/ko.json +18 -0
  229. package/src/trigger/providers/airtable/locales/ru.json +18 -0
  230. package/src/trigger/providers/airtable/locales/zh-CN.json +18 -0
  231. package/src/trigger/providers/airtable/locales/zh-TW.json +18 -0
  232. package/src/trigger/providers/asana/locales/fr.json +15 -0
  233. package/src/trigger/providers/asana/locales/ja.json +15 -0
  234. package/src/trigger/providers/asana/locales/ko.json +15 -0
  235. package/src/trigger/providers/asana/locales/ru.json +15 -0
  236. package/src/trigger/providers/asana/locales/zh-CN.json +15 -0
  237. package/src/trigger/providers/asana/locales/zh-TW.json +15 -0
  238. package/src/trigger/providers/calendly/locales/fr.json +16 -0
  239. package/src/trigger/providers/calendly/locales/ja.json +16 -0
  240. package/src/trigger/providers/calendly/locales/ko.json +16 -0
  241. package/src/trigger/providers/calendly/locales/ru.json +16 -0
  242. package/src/trigger/providers/calendly/locales/zh-CN.json +16 -0
  243. package/src/trigger/providers/calendly/locales/zh-TW.json +16 -0
  244. package/src/trigger/providers/catalog.generated.json +4996 -0
  245. package/src/trigger/providers/clickup/locales/fr.json +16 -0
  246. package/src/trigger/providers/clickup/locales/ja.json +16 -0
  247. package/src/trigger/providers/clickup/locales/ko.json +16 -0
  248. package/src/trigger/providers/clickup/locales/ru.json +16 -0
  249. package/src/trigger/providers/clickup/locales/zh-CN.json +16 -0
  250. package/src/trigger/providers/clickup/locales/zh-TW.json +16 -0
  251. package/src/trigger/providers/definitions.ts +19 -0
  252. package/src/trigger/providers/feishu/locales/fr.json +20 -0
  253. package/src/trigger/providers/feishu/locales/ja.json +20 -0
  254. package/src/trigger/providers/feishu/locales/ko.json +20 -0
  255. package/src/trigger/providers/feishu/locales/ru.json +20 -0
  256. package/src/trigger/providers/feishu/locales/zh-CN.json +20 -0
  257. package/src/trigger/providers/feishu/locales/zh-TW.json +20 -0
  258. package/src/trigger/providers/fieldDescriptions.ts +392 -0
  259. package/src/trigger/providers/fieldLabels.ts +256 -0
  260. package/src/trigger/providers/fireflies/locales/fr.json +17 -0
  261. package/src/trigger/providers/fireflies/locales/ja.json +17 -0
  262. package/src/trigger/providers/fireflies/locales/ko.json +17 -0
  263. package/src/trigger/providers/fireflies/locales/ru.json +17 -0
  264. package/src/trigger/providers/fireflies/locales/zh-CN.json +17 -0
  265. package/src/trigger/providers/fireflies/locales/zh-TW.json +17 -0
  266. package/src/trigger/providers/github/locales/fr.json +30 -0
  267. package/src/trigger/providers/github/locales/ja.json +30 -0
  268. package/src/trigger/providers/github/locales/ko.json +30 -0
  269. package/src/trigger/providers/github/locales/ru.json +30 -0
  270. package/src/trigger/providers/github/locales/zh-CN.json +30 -0
  271. package/src/trigger/providers/github/locales/zh-TW.json +30 -0
  272. package/src/trigger/providers/gitlab/locales/fr.json +18 -0
  273. package/src/trigger/providers/gitlab/locales/ja.json +18 -0
  274. package/src/trigger/providers/gitlab/locales/ko.json +18 -0
  275. package/src/trigger/providers/gitlab/locales/ru.json +18 -0
  276. package/src/trigger/providers/gitlab/locales/zh-CN.json +18 -0
  277. package/src/trigger/providers/gitlab/locales/zh-TW.json +18 -0
  278. package/src/trigger/providers/gmail/locales/fr.json +18 -0
  279. package/src/trigger/providers/gmail/locales/ja.json +18 -0
  280. package/src/trigger/providers/gmail/locales/ko.json +18 -0
  281. package/src/trigger/providers/gmail/locales/ru.json +18 -0
  282. package/src/trigger/providers/gmail/locales/zh-CN.json +18 -0
  283. package/src/trigger/providers/gmail/locales/zh-TW.json +18 -0
  284. package/src/trigger/providers/google-calendar/locales/fr.json +15 -0
  285. package/src/trigger/providers/google-calendar/locales/ja.json +15 -0
  286. package/src/trigger/providers/google-calendar/locales/ko.json +15 -0
  287. package/src/trigger/providers/google-calendar/locales/ru.json +15 -0
  288. package/src/trigger/providers/google-calendar/locales/zh-CN.json +15 -0
  289. package/src/trigger/providers/google-calendar/locales/zh-TW.json +15 -0
  290. package/src/trigger/providers/google-drive/locales/fr.json +48 -0
  291. package/src/trigger/providers/google-drive/locales/ja.json +48 -0
  292. package/src/trigger/providers/google-drive/locales/ko.json +48 -0
  293. package/src/trigger/providers/google-drive/locales/ru.json +48 -0
  294. package/src/trigger/providers/google-drive/locales/zh-CN.json +48 -0
  295. package/src/trigger/providers/google-drive/locales/zh-TW.json +48 -0
  296. package/src/trigger/providers/google-sheets/locales/fr.json +19 -0
  297. package/src/trigger/providers/google-sheets/locales/ja.json +19 -0
  298. package/src/trigger/providers/google-sheets/locales/ko.json +19 -0
  299. package/src/trigger/providers/google-sheets/locales/ru.json +19 -0
  300. package/src/trigger/providers/google-sheets/locales/zh-CN.json +19 -0
  301. package/src/trigger/providers/google-sheets/locales/zh-TW.json +19 -0
  302. package/src/trigger/providers/intercom/locales/fr.json +17 -0
  303. package/src/trigger/providers/intercom/locales/ja.json +17 -0
  304. package/src/trigger/providers/intercom/locales/ko.json +17 -0
  305. package/src/trigger/providers/intercom/locales/ru.json +17 -0
  306. package/src/trigger/providers/intercom/locales/zh-CN.json +17 -0
  307. package/src/trigger/providers/intercom/locales/zh-TW.json +17 -0
  308. package/src/trigger/providers/jira/locales/fr.json +17 -0
  309. package/src/trigger/providers/jira/locales/ja.json +17 -0
  310. package/src/trigger/providers/jira/locales/ko.json +17 -0
  311. package/src/trigger/providers/jira/locales/ru.json +17 -0
  312. package/src/trigger/providers/jira/locales/zh-CN.json +17 -0
  313. package/src/trigger/providers/jira/locales/zh-TW.json +17 -0
  314. package/src/trigger/providers/linear/locales/fr.json +13 -0
  315. package/src/trigger/providers/linear/locales/ja.json +13 -0
  316. package/src/trigger/providers/linear/locales/ko.json +13 -0
  317. package/src/trigger/providers/linear/locales/ru.json +13 -0
  318. package/src/trigger/providers/linear/locales/zh-CN.json +13 -0
  319. package/src/trigger/providers/linear/locales/zh-TW.json +13 -0
  320. package/src/trigger/providers/locales/fr.ts +71 -0
  321. package/src/trigger/providers/locales/ja.ts +71 -0
  322. package/src/trigger/providers/locales/ko.ts +71 -0
  323. package/src/trigger/providers/locales/ru.ts +71 -0
  324. package/src/trigger/providers/locales/zh-CN.ts +71 -0
  325. package/src/trigger/providers/locales/zh-TW.ts +71 -0
  326. package/src/trigger/providers/localization.ts +59 -0
  327. package/src/trigger/providers/notion/locales/fr.json +16 -0
  328. package/src/trigger/providers/notion/locales/ja.json +16 -0
  329. package/src/trigger/providers/notion/locales/ko.json +16 -0
  330. package/src/trigger/providers/notion/locales/ru.json +16 -0
  331. package/src/trigger/providers/notion/locales/zh-CN.json +16 -0
  332. package/src/trigger/providers/notion/locales/zh-TW.json +16 -0
  333. package/src/trigger/providers/one-drive/locales/fr.json +16 -0
  334. package/src/trigger/providers/one-drive/locales/ja.json +16 -0
  335. package/src/trigger/providers/one-drive/locales/ko.json +16 -0
  336. package/src/trigger/providers/one-drive/locales/ru.json +16 -0
  337. package/src/trigger/providers/one-drive/locales/zh-CN.json +16 -0
  338. package/src/trigger/providers/one-drive/locales/zh-TW.json +16 -0
  339. package/src/trigger/providers/outlook/locales/fr.json +18 -0
  340. package/src/trigger/providers/outlook/locales/ja.json +18 -0
  341. package/src/trigger/providers/outlook/locales/ko.json +18 -0
  342. package/src/trigger/providers/outlook/locales/ru.json +18 -0
  343. package/src/trigger/providers/outlook/locales/zh-CN.json +18 -0
  344. package/src/trigger/providers/outlook/locales/zh-TW.json +18 -0
  345. package/src/trigger/providers/pandadoc/locales/fr.json +12 -0
  346. package/src/trigger/providers/pandadoc/locales/ja.json +12 -0
  347. package/src/trigger/providers/pandadoc/locales/ko.json +12 -0
  348. package/src/trigger/providers/pandadoc/locales/ru.json +12 -0
  349. package/src/trigger/providers/pandadoc/locales/zh-CN.json +12 -0
  350. package/src/trigger/providers/pandadoc/locales/zh-TW.json +12 -0
  351. package/src/trigger/providers/pipedrive/locales/fr.json +15 -0
  352. package/src/trigger/providers/pipedrive/locales/ja.json +15 -0
  353. package/src/trigger/providers/pipedrive/locales/ko.json +15 -0
  354. package/src/trigger/providers/pipedrive/locales/ru.json +15 -0
  355. package/src/trigger/providers/pipedrive/locales/zh-CN.json +15 -0
  356. package/src/trigger/providers/pipedrive/locales/zh-TW.json +15 -0
  357. package/src/trigger/providers/remote.ts +163 -0
  358. package/src/trigger/providers/resend/locales/fr.json +16 -0
  359. package/src/trigger/providers/resend/locales/ja.json +16 -0
  360. package/src/trigger/providers/resend/locales/ko.json +16 -0
  361. package/src/trigger/providers/resend/locales/ru.json +16 -0
  362. package/src/trigger/providers/resend/locales/zh-CN.json +16 -0
  363. package/src/trigger/providers/resend/locales/zh-TW.json +16 -0
  364. package/src/trigger/providers/sentry/locales/fr.json +19 -0
  365. package/src/trigger/providers/sentry/locales/ja.json +19 -0
  366. package/src/trigger/providers/sentry/locales/ko.json +19 -0
  367. package/src/trigger/providers/sentry/locales/ru.json +19 -0
  368. package/src/trigger/providers/sentry/locales/zh-CN.json +19 -0
  369. package/src/trigger/providers/sentry/locales/zh-TW.json +19 -0
  370. package/src/trigger/providers/shopify/locales/fr.json +18 -0
  371. package/src/trigger/providers/shopify/locales/ja.json +18 -0
  372. package/src/trigger/providers/shopify/locales/ko.json +18 -0
  373. package/src/trigger/providers/shopify/locales/ru.json +18 -0
  374. package/src/trigger/providers/shopify/locales/zh-CN.json +18 -0
  375. package/src/trigger/providers/shopify/locales/zh-TW.json +18 -0
  376. package/src/trigger/providers/slack/locales/fr.json +18 -0
  377. package/src/trigger/providers/slack/locales/ja.json +18 -0
  378. package/src/trigger/providers/slack/locales/ko.json +18 -0
  379. package/src/trigger/providers/slack/locales/ru.json +18 -0
  380. package/src/trigger/providers/slack/locales/zh-CN.json +18 -0
  381. package/src/trigger/providers/slack/locales/zh-TW.json +18 -0
  382. package/src/trigger/providers/slackbot/locales/fr.json +23 -0
  383. package/src/trigger/providers/slackbot/locales/ja.json +23 -0
  384. package/src/trigger/providers/slackbot/locales/ko.json +23 -0
  385. package/src/trigger/providers/slackbot/locales/ru.json +23 -0
  386. package/src/trigger/providers/slackbot/locales/zh-CN.json +23 -0
  387. package/src/trigger/providers/slackbot/locales/zh-TW.json +23 -0
  388. package/src/trigger/providers/source-events.ts +25 -0
  389. package/src/trigger/providers/stripe/locales/fr.json +17 -0
  390. package/src/trigger/providers/stripe/locales/ja.json +17 -0
  391. package/src/trigger/providers/stripe/locales/ko.json +17 -0
  392. package/src/trigger/providers/stripe/locales/ru.json +17 -0
  393. package/src/trigger/providers/stripe/locales/zh-CN.json +17 -0
  394. package/src/trigger/providers/stripe/locales/zh-TW.json +17 -0
  395. package/src/trigger/providers/tally/locales/fr.json +12 -0
  396. package/src/trigger/providers/tally/locales/ja.json +12 -0
  397. package/src/trigger/providers/tally/locales/ko.json +12 -0
  398. package/src/trigger/providers/tally/locales/ru.json +12 -0
  399. package/src/trigger/providers/tally/locales/zh-CN.json +12 -0
  400. package/src/trigger/providers/tally/locales/zh-TW.json +12 -0
  401. package/src/trigger/providers/telegram/locales/fr.json +17 -0
  402. package/src/trigger/providers/telegram/locales/ja.json +17 -0
  403. package/src/trigger/providers/telegram/locales/ko.json +17 -0
  404. package/src/trigger/providers/telegram/locales/ru.json +17 -0
  405. package/src/trigger/providers/telegram/locales/zh-CN.json +17 -0
  406. package/src/trigger/providers/telegram/locales/zh-TW.json +17 -0
  407. package/src/trigger/providers/typeform/locales/fr.json +12 -0
  408. package/src/trigger/providers/typeform/locales/ja.json +12 -0
  409. package/src/trigger/providers/typeform/locales/ko.json +12 -0
  410. package/src/trigger/providers/typeform/locales/ru.json +12 -0
  411. package/src/trigger/providers/typeform/locales/zh-CN.json +12 -0
  412. package/src/trigger/providers/typeform/locales/zh-TW.json +12 -0
  413. package/src/trigger/providers/vercel/locales/fr.json +18 -0
  414. package/src/trigger/providers/vercel/locales/ja.json +18 -0
  415. package/src/trigger/providers/vercel/locales/ko.json +18 -0
  416. package/src/trigger/providers/vercel/locales/ru.json +18 -0
  417. package/src/trigger/providers/vercel/locales/zh-CN.json +18 -0
  418. package/src/trigger/providers/vercel/locales/zh-TW.json +18 -0
  419. package/src/trigger/providers/woocommerce/locales/fr.json +19 -0
  420. package/src/trigger/providers/woocommerce/locales/ja.json +19 -0
  421. package/src/trigger/providers/woocommerce/locales/ko.json +19 -0
  422. package/src/trigger/providers/woocommerce/locales/ru.json +19 -0
  423. package/src/trigger/providers/woocommerce/locales/zh-CN.json +19 -0
  424. package/src/trigger/providers/woocommerce/locales/zh-TW.json +19 -0
  425. package/src/trigger/providers/zendesk/locales/fr.json +15 -0
  426. package/src/trigger/providers/zendesk/locales/ja.json +15 -0
  427. package/src/trigger/providers/zendesk/locales/ko.json +15 -0
  428. package/src/trigger/providers/zendesk/locales/ru.json +15 -0
  429. package/src/trigger/providers/zendesk/locales/zh-CN.json +15 -0
  430. package/src/trigger/providers/zendesk/locales/zh-TW.json +15 -0
  431. package/src/trigger/providers/zoom/locales/fr.json +17 -0
  432. package/src/trigger/providers/zoom/locales/ja.json +17 -0
  433. package/src/trigger/providers/zoom/locales/ko.json +17 -0
  434. package/src/trigger/providers/zoom/locales/ru.json +17 -0
  435. package/src/trigger/providers/zoom/locales/zh-CN.json +17 -0
  436. package/src/trigger/providers/zoom/locales/zh-TW.json +17 -0
  437. package/src/types/index.ts +112 -0
  438. package/src/workflow/common/workflow.ts +273 -0
  439. package/dist/browser/lib-DrKav3HG.js +0 -11403
  440. /package/dist/{browser → common}/flow-authoring-edge.d.ts +0 -0
  441. /package/dist/{browser → common}/flow-authoring-module.d.ts +0 -0
  442. /package/dist/{browser → common}/flow-authoring.d.ts +0 -0
  443. /package/dist/{browser → common}/flow-input-value.d.ts +0 -0
  444. /package/dist/{browser → common}/webhook-method.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import type { JsonValue, TriggerSchedule } from '../browser/flow-change.js';
1
+ import type { JsonValue, TriggerSchedule } from './flow-change.js';
2
2
  export declare function validateTriggerSchedule(rules: readonly TriggerSchedule[]): void;
3
3
  export declare function validateCronExpression(expression: string, timezone: string): void;
4
4
  export declare function nextTriggerScheduledAt(rules: readonly TriggerSchedule[], afterMs: number): number;
@@ -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
  export type DecisionQuestion = {
3
3
  readonly name: string;
4
4
  readonly instructions: string;
@@ -1,4 +1,4 @@
1
- import type { ChangeOperation, JsonValue, TriggerKeySnapshot, TriggerSchedule } from '../browser/flow-change.js';
1
+ import type { ChangeOperation, JsonValue, TriggerKeySnapshot, TriggerSchedule } from './flow-change.js';
2
2
  export type DraftOperation = ChangeOperation | {
3
3
  readonly kind: 'graph.trigger.create';
4
4
  readonly nodeId: string;
@@ -5,7 +5,9 @@ export interface EngineContract {
5
5
  readonly platformSource: string;
6
6
  readonly waitAutoContinue?: boolean;
7
7
  readonly webhookResponses?: boolean;
8
+ readonly workflowTools?: boolean;
9
+ readonly httpRequests?: boolean;
8
10
  }
9
- export declare const currentEngineContract = "open-flow-engine/v7";
10
- export declare const nodejsEngineContract = "open-flow-engine/v7/nodejs-compat-v1";
11
+ export declare const currentEngineContract = "open-flow-engine/v8";
12
+ export declare const nodejsEngineContract = "open-flow-engine/v8/nodejs-compat-v1";
11
13
  export declare function findEngineContract(contract: string): EngineContract | undefined;
@@ -1,4 +1,4 @@
1
- import type { JsonValue } from '../browser/flow-change.js';
1
+ import type { JsonValue } from './flow-change.js';
2
2
  export interface SourceConfiguration {
3
3
  readonly identity: string;
4
4
  readonly eventTypes: string[];
@@ -1,4 +1,4 @@
1
- import type { AgentInput, AgentTool, JsonValue, ManagedTaskDefinition, ManagedTaskExecutor } from '../browser/flow-change.js';
1
+ import type { AgentInput, AgentTool, JsonValue, ManagedTaskDefinition, ManagedTaskExecutor } from './flow-change.js';
2
2
  export type AgentConfig = Extract<ManagedTaskExecutor, {
3
3
  readonly kind: 'agent';
4
4
  }>;
@@ -1,5 +1,5 @@
1
- import type { DecisionQuestion } from '../common/decision.js';
2
- import type { ChangeOperation, CodeModule, ConnectorCapability, Group, GraphNode, InputMapping, InputValues, InputPort, JsonValue, Port, PortDefinition, RetryConfiguration, RevisionContent, TaskDefinition, TriggerKeySnapshot, TriggerNode, TriggerSchedule, WebhookOptions } from './flow-change.js';
1
+ import type { DecisionQuestion } from './decision.js';
2
+ import type { ChangeOperation, CodeModule, TaskCapability, Group, GraphNode, InputMapping, InputValues, InputPort, JsonValue, Port, PortDefinition, RetryConfiguration, RevisionContent, TaskDefinition, TriggerKeySnapshot, TriggerNode, TriggerSchedule, WebhookOptions } from './flow-change.js';
3
3
  export declare const defaultCodeTaskPorts: Pick<Extract<TaskDefinition, {
4
4
  readonly moduleId: string;
5
5
  }>, 'inputs' | 'outputs' | 'capabilities'>;
@@ -103,7 +103,7 @@ export declare function updateTrigger(content: RevisionContent, nodeId: string,
103
103
  export declare function updateTriggerConfig(content: RevisionContent, nodeId: string, name: string, value: JsonValue | undefined): readonly ChangeOperation[] | undefined;
104
104
  export declare function updateTriggerSchedule(content: RevisionContent, nodeId: string, schedule: readonly TriggerSchedule[]): readonly ChangeOperation[] | undefined;
105
105
  export declare function setTriggerConnection(content: RevisionContent, nodeId: string, connectionId: string | undefined): readonly ChangeOperation[] | undefined;
106
- export declare function setCodeActions(content: RevisionContent, nodeId: string, capabilities: readonly ConnectorCapability[]): readonly ChangeOperation[] | undefined;
106
+ export declare function setCodeActions(content: RevisionContent, nodeId: string, capabilities: readonly TaskCapability[]): readonly ChangeOperation[] | undefined;
107
107
  export declare function createDecisionTask(identity: {
108
108
  readonly nodeId: string;
109
109
  }, name?: string, questions?: readonly DecisionQuestion[]): readonly ChangeOperation[];
@@ -3009,12 +3009,12 @@ function decisionTask(questions = [defaultDecisionQuestion()], name = "AI Decisi
3009
3009
  };
3010
3010
  }
3011
3011
  //#endregion
3012
- //#region src/openapi/common/authBindings.ts
3012
+ //#region src/http/common/authBindings.ts
3013
3013
  /** Never allow credentials to enter a Revision as literal node inputs. */
3014
- function assertOpenApiAuthBindings(document) {
3014
+ function assertHttpAuthBindings(document) {
3015
3015
  for (const node of Object.values(document.graph.nodes)) {
3016
- if (node.kind != "task" || !("executor" in node.task) || node.task.executor.kind != "openapi") continue;
3017
- for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("OpenAPI authentication accepts deployment variables and upstream outputs only.");
3016
+ if (node.kind != "task" || !("executor" in node.task) || !["openapi", "http-request"].includes(node.task.executor.kind)) continue;
3017
+ for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("HTTP authentication accepts deployment variables and upstream outputs only.");
3018
3018
  }
3019
3019
  }
3020
3020
  //#endregion
@@ -8706,6 +8706,52 @@ function preprocess(fn, schema) {
8706
8706
  function datetime(params) {
8707
8707
  return /* @__PURE__ */ _isoDateTime(ZodISODateTime, params);
8708
8708
  }
8709
+ //#endregion
8710
+ //#region src/http/common/httpRequest.ts
8711
+ var parameterSchema = strictObject({
8712
+ mode: _enum(["fields", "object"]).default("fields"),
8713
+ names: array(string()).default([])
8714
+ });
8715
+ var httpRequestExecutorSchema = strictObject({
8716
+ method: _enum([
8717
+ "GET",
8718
+ "POST",
8719
+ "PUT",
8720
+ "PATCH",
8721
+ "DELETE",
8722
+ "HEAD",
8723
+ "OPTIONS"
8724
+ ]).default("GET"),
8725
+ query: parameterSchema.default({
8726
+ mode: "fields",
8727
+ names: []
8728
+ }),
8729
+ headers: parameterSchema.default({
8730
+ mode: "fields",
8731
+ names: []
8732
+ }),
8733
+ bodyFormat: _enum([
8734
+ "none",
8735
+ "json",
8736
+ "text",
8737
+ "form"
8738
+ ]).default("none"),
8739
+ authentication: union([
8740
+ strictObject({ type: literal("none") }),
8741
+ strictObject({ type: _enum(["bearer", "basic"]) }),
8742
+ strictObject({
8743
+ type: literal("apiKey"),
8744
+ name: string(),
8745
+ in: _enum(["header", "query"])
8746
+ })
8747
+ ]).default({ type: "none" }),
8748
+ responseFormat: _enum([
8749
+ "auto",
8750
+ "json",
8751
+ "text"
8752
+ ]).default("auto"),
8753
+ statusPolicy: _enum(["success", "all"]).default("success")
8754
+ }).extend({ kind: literal("http-request") });
8709
8755
  function checkJsonDepth(value, depth = 0) {
8710
8756
  if (depth > 64) throw new TypeError("Value exceeds the maximum JSON depth.");
8711
8757
  if (value != null && typeof value == "object") for (const child of Object.values(value)) checkJsonDepth(child, depth + 1);
@@ -8716,6 +8762,7 @@ var retryNodeTypes = [
8716
8762
  "code",
8717
8763
  "connector",
8718
8764
  "openapi",
8765
+ "http-request",
8719
8766
  "llm",
8720
8767
  "decision"
8721
8768
  ];
@@ -8771,7 +8818,8 @@ var waitAutoContinueDraftSchema = discriminatedUnion("kind", [strictObject({
8771
8818
  at: string(),
8772
8819
  timezone: string().optional()
8773
8820
  })]);
8774
- discriminatedUnion("kind", [waitAutoContinueDraftSchema.options[0].extend({ durationMs: number().int().positive().max(Number.MAX_SAFE_INTEGER) }), waitAutoContinueDraftSchema.options[1].extend({
8821
+ /** Static business configuration; the deployment owns the allowed wait lifetime. */
8822
+ var waitAutoContinueSchema = discriminatedUnion("kind", [waitAutoContinueDraftSchema.options[0].extend({ durationMs: number().int().positive().max(Number.MAX_SAFE_INTEGER) }), waitAutoContinueDraftSchema.options[1].extend({
8775
8823
  at: datetime({ offset: true }),
8776
8824
  timezone: string().refine(isTimeZone, "Select a valid IANA timezone.").optional()
8777
8825
  })]);
@@ -8841,7 +8889,7 @@ var ports = {
8841
8889
  inputs: array(union([input, group])),
8842
8890
  outputs: array(union([port, group]))
8843
8891
  };
8844
- var capability = union([
8892
+ var connectorCapabilitySchema = union([
8845
8893
  strictObject({
8846
8894
  kind: literal("connector"),
8847
8895
  action: text,
@@ -8873,6 +8921,15 @@ var capability = union([
8873
8921
  })).optional()
8874
8922
  })
8875
8923
  ]);
8924
+ var workflowCapabilitySchema = strictObject({
8925
+ kind: literal("workflow"),
8926
+ name: text,
8927
+ flowId: text,
8928
+ revisionId: text,
8929
+ inputs: array(port),
8930
+ outputs: array(port).nullable()
8931
+ });
8932
+ var capability = union([connectorCapabilitySchema, workflowCapabilitySchema]);
8876
8933
  var inline = object({
8877
8934
  ...ports,
8878
8935
  name: text,
@@ -8887,6 +8944,20 @@ var agentValue = union([object({
8887
8944
  input: text
8888
8945
  })]);
8889
8946
  var agentInput = union([agentValue, object({ kind: literal("model") })]);
8947
+ var agentToolFields = {
8948
+ id: text,
8949
+ name: text,
8950
+ description: text,
8951
+ approval: boolean(),
8952
+ inputs: array(input.extend({ source: agentInput }))
8953
+ };
8954
+ var connectorAgentToolSchema = object({
8955
+ ...agentToolFields,
8956
+ kind: literal("connector").optional(),
8957
+ action: text,
8958
+ connectionId: actionConnection.optional()
8959
+ });
8960
+ var workflowAgentToolSchema = workflowCapabilitySchema.extend(agentToolFields);
8890
8961
  var decisionQuestion = discriminatedUnion("type", [
8891
8962
  strictObject({
8892
8963
  name: text,
@@ -8955,15 +9026,7 @@ var managedFields = object({
8955
9026
  model: text,
8956
9027
  prompt: text,
8957
9028
  maxRounds: number(),
8958
- tools: array(object({
8959
- id: text,
8960
- name: text,
8961
- description: text,
8962
- action: text,
8963
- connectionId: actionConnection.optional(),
8964
- approval: boolean(),
8965
- inputs: array(input.extend({ source: agentInput }))
8966
- })),
9029
+ tools: array(union([workflowAgentToolSchema, connectorAgentToolSchema])),
8967
9030
  notification: object({
8968
9031
  action: text,
8969
9032
  connectionId: actionConnection.optional(),
@@ -8976,7 +9039,8 @@ var managedFields = object({
8976
9039
  kind: literal("workflow"),
8977
9040
  flowId: text,
8978
9041
  revisionId: text
8979
- })
9042
+ }),
9043
+ httpRequestExecutorSchema
8980
9044
  ])
8981
9045
  });
8982
9046
  var managed = managedFields.transform(limitDecisionTask);
@@ -9189,10 +9253,26 @@ var node = union([
9189
9253
  })
9190
9254
  })
9191
9255
  ]);
9192
- 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({
9193
- kind: true,
9194
- notification: true
9195
- }).strict();
9256
+ /** Configuration schemas shared by the node authoring boundary. */
9257
+ var authoringDefinitionSchemas = {
9258
+ input,
9259
+ port,
9260
+ ports,
9261
+ condition: strictObject(condition),
9262
+ wait: strictObject(wait),
9263
+ waitAutoContinue: waitAutoContinueSchema,
9264
+ webhook: strictObject(webhook),
9265
+ schedule: triggerScheduleSchema,
9266
+ capabilities: array(capability),
9267
+ connector: managedFields.shape.executor.options[0].omit({ kind: true }).strict(),
9268
+ openapi: managedFields.shape.executor.options[1].omit({ kind: true }).strict(),
9269
+ decision: managedFields.shape.executor.options[2].omit({ kind: true }).strict(),
9270
+ llm: managedFields.shape.executor.options[3].omit({ kind: true }).strict(),
9271
+ agent: managedFields.shape.executor.options[4].omit({
9272
+ kind: true,
9273
+ notification: true
9274
+ }).strict()
9275
+ };
9196
9276
  var edge = object({
9197
9277
  source: text,
9198
9278
  target: text,
@@ -9228,7 +9308,8 @@ var revision = object({
9228
9308
  literal(7),
9229
9309
  literal(8),
9230
9310
  literal(9),
9231
- literal(10)
9311
+ literal(10),
9312
+ literal(11)
9232
9313
  ]),
9233
9314
  document,
9234
9315
  modules: record$1(text, module)
@@ -9259,7 +9340,7 @@ function decodeRevisionContent(value) {
9259
9340
  checkJsonDepth(value);
9260
9341
  const content = revision.parse(value);
9261
9342
  checkModelVersion(content);
9262
- assertOpenApiAuthBindings(content.document);
9343
+ assertHttpAuthBindings(content.document);
9263
9344
  return content;
9264
9345
  }
9265
9346
  var shapes = {
@@ -9429,6 +9510,8 @@ array(union([...new Map(Object.entries(shapes).map(([kind, shape]) => [kind, sha
9429
9510
  ...shape
9430
9511
  })])).values()])).min(1);
9431
9512
  function checkModelVersion(content) {
9513
+ if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind == "http-request")) throw new TypeError("HTTP Request requires Flow model version 11.");
9514
+ 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.");
9432
9515
  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.");
9433
9516
  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.");
9434
9517
  if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => {
@@ -9505,6 +9588,24 @@ function supportsNodeErrorHandling(node) {
9505
9588
  }
9506
9589
  //#endregion
9507
9590
  //#region src/flow/common/change.ts
9591
+ var workflowToolNamePattern = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
9592
+ function workflowToolNameIssue(name, otherNames = []) {
9593
+ if (!workflowToolNamePattern.test(name)) return "invalid";
9594
+ for (const other of otherNames) if (other == name) return "duplicate";
9595
+ }
9596
+ function decodeTaskCapabilities(value) {
9597
+ if (!Array.isArray(value)) throw new TypeError("Task capabilities must be an array.");
9598
+ const parsed = authoringDefinitionSchemas.capabilities.parse(value);
9599
+ const connectors = decodeConnectorCapabilities(parsed.filter((item) => item.kind == "connector"));
9600
+ const names = /* @__PURE__ */ new Set();
9601
+ for (const item of parsed) {
9602
+ if (item.kind != "workflow") continue;
9603
+ if (workflowToolNameIssue(item.name, names)) throw new TypeError("Workflow tool names must be unique provider-compatible names.");
9604
+ names.add(item.name);
9605
+ }
9606
+ let connectorIndex = 0;
9607
+ return parsed.map((item) => item.kind == "connector" ? connectors[connectorIndex++] : item);
9608
+ }
9508
9609
  function decodeConnectorCapabilities(value) {
9509
9610
  if (!Array.isArray(value)) throw new TypeError("Connector capabilities must be an array.");
9510
9611
  if (value.length == 0) return [];
@@ -9632,10 +9733,10 @@ function isTriggerNode(node) {
9632
9733
  function upgradeDecodedRevisionContent(content) {
9633
9734
  const graph = content.document.graph;
9634
9735
  const hasManual = Object.values(graph.nodes).some((node) => node.kind == "manual");
9635
- if (!hasManual && content.modelVersion == 10) return content;
9736
+ if (!hasManual && content.modelVersion == 11) return content;
9636
9737
  return {
9637
9738
  ...content,
9638
- modelVersion: 10,
9739
+ modelVersion: 11,
9639
9740
  document: {
9640
9741
  ...content.document,
9641
9742
  graph: hasManual ? {
@@ -9670,7 +9771,7 @@ function invalid(message) {
9670
9771
  throw new FlowChangeError(message);
9671
9772
  }
9672
9773
  function applyFlowChanges(content, operations) {
9673
- const source = content.modelVersion != 10 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
9774
+ const source = content.modelVersion != 11 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
9674
9775
  const document = { ...source.document };
9675
9776
  const modules = { ...source.modules };
9676
9777
  for (const operation of operations) switch (operation.kind) {
@@ -9784,7 +9885,7 @@ function applyFlowChanges(content, operations) {
9784
9885
  const graph = document.graph;
9785
9886
  if (!dequal(graph.nodes[operation.nodeId], operation.before)) invalid("The Node changed before this operation was applied.");
9786
9887
  if (operation.node.kind != operation.before.kind) invalid("Replacing a Node cannot change its kind.");
9787
- if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeConnectorCapabilities(operation.node.task.capabilities);
9888
+ if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeTaskCapabilities(operation.node.task.capabilities);
9788
9889
  const name = normalizeNodeName(operation.node.name ?? "");
9789
9890
  const issue = nodeNameIssue(graph, operation.nodeId, name);
9790
9891
  if (issue != null) invalid(`Node name is ${issue}.`);
@@ -9806,7 +9907,7 @@ function applyFlowChanges(content, operations) {
9806
9907
  if (graph.nodes[operation.nodeId] != null) invalid("A Node with this ID already exists in the target graph.");
9807
9908
  if (operation.node.kind == "error" && Object.values(graph.nodes).some((node) => node.kind == "error")) invalid("A graph can contain only one Flow Error node.");
9808
9909
  if ((operation.node.kind == "manual" || operation.node.kind == "start") && Object.values(graph.nodes).some((node) => node.kind == "manual" || node.kind == "start")) invalid("A graph can contain only one Start Trigger.");
9809
- if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeConnectorCapabilities(operation.node.task.capabilities);
9910
+ if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeTaskCapabilities(operation.node.task.capabilities);
9810
9911
  if (operation.node.name == null) invalid("A Node name cannot be empty.");
9811
9912
  if (operation.node.kind == "outputs" && Object.values(graph.nodes).some((node) => node.kind == "outputs")) invalid("A graph can contain only one Outputs node.");
9812
9913
  const name = normalizeNodeName(operation.node.name);
@@ -9905,7 +10006,7 @@ function applyFlowChanges(content, operations) {
9905
10006
  if (!dequal(node.task.capabilities, operation.before)) invalid("The inline Task capabilities changed before this operation was applied.");
9906
10007
  const task = { ...node.task };
9907
10008
  if (operation.value === void 0) delete task.capabilities;
9908
- else task.capabilities = decodeConnectorCapabilities(operation.value);
10009
+ else task.capabilities = decodeTaskCapabilities(operation.value);
9909
10010
  Object.assign(document, { graph: {
9910
10011
  ...graph,
9911
10012
  nodes: {
@@ -10115,10 +10216,10 @@ function applyFlowChanges(content, operations) {
10115
10216
  break;
10116
10217
  }
10117
10218
  }
10118
- assertOpenApiAuthBindings(document);
10219
+ assertHttpAuthBindings(document);
10119
10220
  return upgradeDecodedRevisionContent({
10120
10221
  document,
10121
- modelVersion: 10,
10222
+ modelVersion: 11,
10122
10223
  modules
10123
10224
  });
10124
10225
  }
@@ -1,6 +1,129 @@
1
1
  import type { ChangeOperation, FlowDocument, JsonValue, RevisionContent } from './flow-change.js';
2
2
  import { z } from 'zod';
3
- export declare const currentFlowModelVersion = 10;
3
+ export declare const currentFlowModelVersion = 11;
4
+ export declare const connectorCapabilitySchema: z.ZodUnion<readonly [z.ZodObject<{
5
+ kind: z.ZodLiteral<"connector">;
6
+ action: z.ZodString;
7
+ connectionId: z.ZodOptional<z.ZodString>;
8
+ connections: z.ZodArray<z.ZodObject<{
9
+ connectionId: z.ZodString;
10
+ alias: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strict>>;
12
+ }, z.core.$strict>, z.ZodObject<{
13
+ kind: z.ZodLiteral<"connector">;
14
+ mode: z.ZodLiteral<"shared">;
15
+ }, z.core.$strict>, z.ZodObject<{
16
+ kind: z.ZodLiteral<"connector">;
17
+ mode: z.ZodLiteral<"independent">;
18
+ actions: z.ZodArray<z.ZodObject<{
19
+ action: z.ZodString;
20
+ connectionId: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strict>>;
22
+ }, z.core.$strict>, z.ZodObject<{
23
+ kind: z.ZodLiteral<"connector">;
24
+ actionHints: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ connectionHints: z.ZodOptional<z.ZodArray<z.ZodObject<{
26
+ action: z.ZodString;
27
+ connectionId: z.ZodString;
28
+ alias: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strict>>>;
30
+ }, z.core.$strict>]>;
31
+ export declare const workflowCapabilitySchema: z.ZodObject<{
32
+ kind: z.ZodLiteral<"workflow">;
33
+ name: z.ZodString;
34
+ flowId: z.ZodString;
35
+ revisionId: z.ZodString;
36
+ inputs: z.ZodArray<z.ZodObject<{
37
+ description: z.ZodOptional<z.ZodString>;
38
+ jsonSchema: z.ZodJSONSchema;
39
+ nullable: z.ZodBoolean;
40
+ handle: z.ZodString;
41
+ }, z.core.$strip>>;
42
+ outputs: z.ZodNullable<z.ZodArray<z.ZodObject<{
43
+ description: z.ZodOptional<z.ZodString>;
44
+ jsonSchema: z.ZodJSONSchema;
45
+ nullable: z.ZodBoolean;
46
+ handle: z.ZodString;
47
+ }, z.core.$strip>>>;
48
+ }, z.core.$strict>;
49
+ export declare const agentToolFields: {
50
+ id: z.ZodString;
51
+ name: z.ZodString;
52
+ description: z.ZodString;
53
+ approval: z.ZodBoolean;
54
+ inputs: z.ZodArray<z.ZodObject<{
55
+ description: z.ZodOptional<z.ZodString>;
56
+ jsonSchema: z.ZodJSONSchema;
57
+ nullable: z.ZodBoolean;
58
+ handle: z.ZodString;
59
+ value: z.ZodOptional<z.ZodJSONSchema>;
60
+ source: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
61
+ kind: z.ZodLiteral<"value">;
62
+ value: z.ZodJSONSchema;
63
+ }, z.core.$strip>, z.ZodObject<{
64
+ kind: z.ZodLiteral<"input">;
65
+ input: z.ZodString;
66
+ }, z.core.$strip>]>, z.ZodObject<{
67
+ kind: z.ZodLiteral<"model">;
68
+ }, z.core.$strip>]>;
69
+ }, z.core.$strip>>;
70
+ };
71
+ export declare const connectorAgentToolSchema: z.ZodObject<{
72
+ id: z.ZodString;
73
+ name: z.ZodString;
74
+ description: z.ZodString;
75
+ approval: z.ZodBoolean;
76
+ inputs: z.ZodArray<z.ZodObject<{
77
+ description: z.ZodOptional<z.ZodString>;
78
+ jsonSchema: z.ZodJSONSchema;
79
+ nullable: z.ZodBoolean;
80
+ handle: z.ZodString;
81
+ value: z.ZodOptional<z.ZodJSONSchema>;
82
+ source: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
83
+ kind: z.ZodLiteral<"value">;
84
+ value: z.ZodJSONSchema;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ kind: z.ZodLiteral<"input">;
87
+ input: z.ZodString;
88
+ }, z.core.$strip>]>, z.ZodObject<{
89
+ kind: z.ZodLiteral<"model">;
90
+ }, z.core.$strip>]>;
91
+ }, z.core.$strip>>;
92
+ kind: z.ZodOptional<z.ZodLiteral<"connector">>;
93
+ action: z.ZodString;
94
+ connectionId: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strip>;
96
+ export declare const workflowAgentToolSchema: z.ZodObject<{
97
+ kind: z.ZodLiteral<"workflow">;
98
+ flowId: z.ZodString;
99
+ revisionId: z.ZodString;
100
+ outputs: z.ZodNullable<z.ZodArray<z.ZodObject<{
101
+ description: z.ZodOptional<z.ZodString>;
102
+ jsonSchema: z.ZodJSONSchema;
103
+ nullable: z.ZodBoolean;
104
+ handle: z.ZodString;
105
+ }, z.core.$strip>>>;
106
+ id: z.ZodString;
107
+ name: z.ZodString;
108
+ description: z.ZodString;
109
+ approval: z.ZodBoolean;
110
+ inputs: z.ZodArray<z.ZodObject<{
111
+ description: z.ZodOptional<z.ZodString>;
112
+ jsonSchema: z.ZodJSONSchema;
113
+ nullable: z.ZodBoolean;
114
+ handle: z.ZodString;
115
+ value: z.ZodOptional<z.ZodJSONSchema>;
116
+ source: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
117
+ kind: z.ZodLiteral<"value">;
118
+ value: z.ZodJSONSchema;
119
+ }, z.core.$strip>, z.ZodObject<{
120
+ kind: z.ZodLiteral<"input">;
121
+ input: z.ZodString;
122
+ }, z.core.$strip>]>, z.ZodObject<{
123
+ kind: z.ZodLiteral<"model">;
124
+ }, z.core.$strip>]>;
125
+ }, z.core.$strip>>;
126
+ }, z.core.$strict>;
4
127
  /** Configuration schemas shared by the node authoring boundary. */
5
128
  export declare const authoringDefinitionSchemas: {
6
129
  input: z.ZodObject<{
@@ -179,7 +302,7 @@ export declare const authoringDefinitionSchemas: {
179
302
  }>;
180
303
  value: z.ZodNumber;
181
304
  }, z.core.$strip>]>>;
182
- capabilities: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
305
+ capabilities: z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
183
306
  kind: z.ZodLiteral<"connector">;
184
307
  action: z.ZodString;
185
308
  connectionId: z.ZodOptional<z.ZodString>;
@@ -205,6 +328,23 @@ export declare const authoringDefinitionSchemas: {
205
328
  connectionId: z.ZodString;
206
329
  alias: z.ZodOptional<z.ZodString>;
207
330
  }, z.core.$strict>>>;
331
+ }, z.core.$strict>]>, z.ZodObject<{
332
+ kind: z.ZodLiteral<"workflow">;
333
+ name: z.ZodString;
334
+ flowId: z.ZodString;
335
+ revisionId: z.ZodString;
336
+ inputs: z.ZodArray<z.ZodObject<{
337
+ description: z.ZodOptional<z.ZodString>;
338
+ jsonSchema: z.ZodJSONSchema;
339
+ nullable: z.ZodBoolean;
340
+ handle: z.ZodString;
341
+ }, z.core.$strip>>;
342
+ outputs: z.ZodNullable<z.ZodArray<z.ZodObject<{
343
+ description: z.ZodOptional<z.ZodString>;
344
+ jsonSchema: z.ZodJSONSchema;
345
+ nullable: z.ZodBoolean;
346
+ handle: z.ZodString;
347
+ }, z.core.$strip>>>;
208
348
  }, z.core.$strict>]>>;
209
349
  connector: z.ZodObject<{
210
350
  action: z.ZodString;
@@ -266,12 +406,19 @@ export declare const authoringDefinitionSchemas: {
266
406
  model: z.ZodString;
267
407
  prompt: z.ZodString;
268
408
  maxRounds: z.ZodNumber;
269
- tools: z.ZodArray<z.ZodObject<{
409
+ tools: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
410
+ kind: z.ZodLiteral<"workflow">;
411
+ flowId: z.ZodString;
412
+ revisionId: z.ZodString;
413
+ outputs: z.ZodNullable<z.ZodArray<z.ZodObject<{
414
+ description: z.ZodOptional<z.ZodString>;
415
+ jsonSchema: z.ZodJSONSchema;
416
+ nullable: z.ZodBoolean;
417
+ handle: z.ZodString;
418
+ }, z.core.$strip>>>;
270
419
  id: z.ZodString;
271
420
  name: z.ZodString;
272
421
  description: z.ZodString;
273
- action: z.ZodString;
274
- connectionId: z.ZodOptional<z.ZodString>;
275
422
  approval: z.ZodBoolean;
276
423
  inputs: z.ZodArray<z.ZodObject<{
277
424
  description: z.ZodOptional<z.ZodString>;
@@ -289,7 +436,31 @@ export declare const authoringDefinitionSchemas: {
289
436
  kind: z.ZodLiteral<"model">;
290
437
  }, z.core.$strip>]>;
291
438
  }, z.core.$strip>>;
292
- }, z.core.$strip>>;
439
+ }, z.core.$strict>, z.ZodObject<{
440
+ id: z.ZodString;
441
+ name: z.ZodString;
442
+ description: z.ZodString;
443
+ approval: z.ZodBoolean;
444
+ inputs: z.ZodArray<z.ZodObject<{
445
+ description: z.ZodOptional<z.ZodString>;
446
+ jsonSchema: z.ZodJSONSchema;
447
+ nullable: z.ZodBoolean;
448
+ handle: z.ZodString;
449
+ value: z.ZodOptional<z.ZodJSONSchema>;
450
+ source: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
451
+ kind: z.ZodLiteral<"value">;
452
+ value: z.ZodJSONSchema;
453
+ }, z.core.$strip>, z.ZodObject<{
454
+ kind: z.ZodLiteral<"input">;
455
+ input: z.ZodString;
456
+ }, z.core.$strip>]>, z.ZodObject<{
457
+ kind: z.ZodLiteral<"model">;
458
+ }, z.core.$strip>]>;
459
+ }, z.core.$strip>>;
460
+ kind: z.ZodOptional<z.ZodLiteral<"connector">>;
461
+ action: z.ZodString;
462
+ connectionId: z.ZodOptional<z.ZodString>;
463
+ }, z.core.$strip>]>>;
293
464
  }, z.core.$strict>;
294
465
  };
295
466
  /** Explicit storage upgrade only. Normal reads and authoring still reject retired fields. */