@uploadista/core 0.0.2

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 (359) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/.turbo/turbo-check.log +231 -0
  3. package/.turbo/turbo-format.log +5 -0
  4. package/LICENSE +21 -0
  5. package/README.md +1120 -0
  6. package/dist/chunk-CUT6urMc.cjs +1 -0
  7. package/dist/debounce-C2SeqcxD.js +2 -0
  8. package/dist/debounce-C2SeqcxD.js.map +1 -0
  9. package/dist/debounce-LZK7yS7Z.cjs +1 -0
  10. package/dist/errors/index.cjs +1 -0
  11. package/dist/errors/index.d.cts +3 -0
  12. package/dist/errors/index.d.ts +3 -0
  13. package/dist/errors/index.d.ts.map +1 -0
  14. package/dist/errors/index.js +2 -0
  15. package/dist/errors/uploadista-error.d.ts +209 -0
  16. package/dist/errors/uploadista-error.d.ts.map +1 -0
  17. package/dist/errors/uploadista-error.js +322 -0
  18. package/dist/errors-8i_aMxOE.js +1 -0
  19. package/dist/errors-CRm1FHHT.cjs +0 -0
  20. package/dist/flow/edge.d.ts +47 -0
  21. package/dist/flow/edge.d.ts.map +1 -0
  22. package/dist/flow/edge.js +40 -0
  23. package/dist/flow/event.d.ts +206 -0
  24. package/dist/flow/event.d.ts.map +1 -0
  25. package/dist/flow/event.js +53 -0
  26. package/dist/flow/flow-server.d.ts +223 -0
  27. package/dist/flow/flow-server.d.ts.map +1 -0
  28. package/dist/flow/flow-server.js +614 -0
  29. package/dist/flow/flow.d.ts +238 -0
  30. package/dist/flow/flow.d.ts.map +1 -0
  31. package/dist/flow/flow.js +629 -0
  32. package/dist/flow/index.cjs +1 -0
  33. package/dist/flow/index.d.cts +6 -0
  34. package/dist/flow/index.d.ts +24 -0
  35. package/dist/flow/index.d.ts.map +1 -0
  36. package/dist/flow/index.js +24 -0
  37. package/dist/flow/node.d.ts +136 -0
  38. package/dist/flow/node.d.ts.map +1 -0
  39. package/dist/flow/node.js +153 -0
  40. package/dist/flow/nodes/index.d.ts +8 -0
  41. package/dist/flow/nodes/index.d.ts.map +1 -0
  42. package/dist/flow/nodes/index.js +7 -0
  43. package/dist/flow/nodes/input-node.d.ts +78 -0
  44. package/dist/flow/nodes/input-node.d.ts.map +1 -0
  45. package/dist/flow/nodes/input-node.js +233 -0
  46. package/dist/flow/nodes/storage-node.d.ts +67 -0
  47. package/dist/flow/nodes/storage-node.d.ts.map +1 -0
  48. package/dist/flow/nodes/storage-node.js +94 -0
  49. package/dist/flow/nodes/streaming-input-node.d.ts +69 -0
  50. package/dist/flow/nodes/streaming-input-node.d.ts.map +1 -0
  51. package/dist/flow/nodes/streaming-input-node.js +156 -0
  52. package/dist/flow/nodes/transform-node.d.ts +85 -0
  53. package/dist/flow/nodes/transform-node.d.ts.map +1 -0
  54. package/dist/flow/nodes/transform-node.js +107 -0
  55. package/dist/flow/parallel-scheduler.d.ts +175 -0
  56. package/dist/flow/parallel-scheduler.d.ts.map +1 -0
  57. package/dist/flow/parallel-scheduler.js +193 -0
  58. package/dist/flow/plugins/credential-provider.d.ts +47 -0
  59. package/dist/flow/plugins/credential-provider.d.ts.map +1 -0
  60. package/dist/flow/plugins/credential-provider.js +24 -0
  61. package/dist/flow/plugins/image-ai-plugin.d.ts +61 -0
  62. package/dist/flow/plugins/image-ai-plugin.d.ts.map +1 -0
  63. package/dist/flow/plugins/image-ai-plugin.js +21 -0
  64. package/dist/flow/plugins/image-plugin.d.ts +52 -0
  65. package/dist/flow/plugins/image-plugin.d.ts.map +1 -0
  66. package/dist/flow/plugins/image-plugin.js +22 -0
  67. package/dist/flow/plugins/types/describe-image-node.d.ts +16 -0
  68. package/dist/flow/plugins/types/describe-image-node.d.ts.map +1 -0
  69. package/dist/flow/plugins/types/describe-image-node.js +9 -0
  70. package/dist/flow/plugins/types/index.d.ts +9 -0
  71. package/dist/flow/plugins/types/index.d.ts.map +1 -0
  72. package/dist/flow/plugins/types/index.js +8 -0
  73. package/dist/flow/plugins/types/optimize-node.d.ts +20 -0
  74. package/dist/flow/plugins/types/optimize-node.d.ts.map +1 -0
  75. package/dist/flow/plugins/types/optimize-node.js +11 -0
  76. package/dist/flow/plugins/types/remove-background-node.d.ts +16 -0
  77. package/dist/flow/plugins/types/remove-background-node.d.ts.map +1 -0
  78. package/dist/flow/plugins/types/remove-background-node.js +9 -0
  79. package/dist/flow/plugins/types/resize-node.d.ts +21 -0
  80. package/dist/flow/plugins/types/resize-node.d.ts.map +1 -0
  81. package/dist/flow/plugins/types/resize-node.js +16 -0
  82. package/dist/flow/plugins/zip-plugin.d.ts +62 -0
  83. package/dist/flow/plugins/zip-plugin.d.ts.map +1 -0
  84. package/dist/flow/plugins/zip-plugin.js +21 -0
  85. package/dist/flow/typed-flow.d.ts +90 -0
  86. package/dist/flow/typed-flow.d.ts.map +1 -0
  87. package/dist/flow/typed-flow.js +59 -0
  88. package/dist/flow/types/flow-file.d.ts +45 -0
  89. package/dist/flow/types/flow-file.d.ts.map +1 -0
  90. package/dist/flow/types/flow-file.js +27 -0
  91. package/dist/flow/types/flow-job.d.ts +118 -0
  92. package/dist/flow/types/flow-job.d.ts.map +1 -0
  93. package/dist/flow/types/flow-job.js +11 -0
  94. package/dist/flow/types/flow-types.d.ts +321 -0
  95. package/dist/flow/types/flow-types.d.ts.map +1 -0
  96. package/dist/flow/types/flow-types.js +52 -0
  97. package/dist/flow/types/index.d.ts +4 -0
  98. package/dist/flow/types/index.d.ts.map +1 -0
  99. package/dist/flow/types/index.js +3 -0
  100. package/dist/flow/types/run-args.d.ts +38 -0
  101. package/dist/flow/types/run-args.d.ts.map +1 -0
  102. package/dist/flow/types/run-args.js +30 -0
  103. package/dist/flow/types/type-validator.d.ts +26 -0
  104. package/dist/flow/types/type-validator.d.ts.map +1 -0
  105. package/dist/flow/types/type-validator.js +134 -0
  106. package/dist/flow/utils/resolve-upload-metadata.d.ts +11 -0
  107. package/dist/flow/utils/resolve-upload-metadata.d.ts.map +1 -0
  108. package/dist/flow/utils/resolve-upload-metadata.js +28 -0
  109. package/dist/flow-2zXnEiWL.cjs +1 -0
  110. package/dist/flow-CRaKy7Vj.js +2 -0
  111. package/dist/flow-CRaKy7Vj.js.map +1 -0
  112. package/dist/generate-id-Dm-Vboxq.d.ts +34 -0
  113. package/dist/generate-id-Dm-Vboxq.d.ts.map +1 -0
  114. package/dist/generate-id-LjJRLD6N.d.cts +34 -0
  115. package/dist/generate-id-LjJRLD6N.d.cts.map +1 -0
  116. package/dist/generate-id-xHp_Z7Cl.cjs +1 -0
  117. package/dist/generate-id-yohS1ZDk.js +2 -0
  118. package/dist/generate-id-yohS1ZDk.js.map +1 -0
  119. package/dist/index-BO8GZlbD.d.cts +1040 -0
  120. package/dist/index-BO8GZlbD.d.cts.map +1 -0
  121. package/dist/index-BoGG5KAY.d.ts +1 -0
  122. package/dist/index-BtBZHVmz.d.cts +1 -0
  123. package/dist/index-D-CoVpkZ.d.ts +1004 -0
  124. package/dist/index-D-CoVpkZ.d.ts.map +1 -0
  125. package/dist/index.cjs +1 -0
  126. package/dist/index.d.cts +6 -0
  127. package/dist/index.d.ts +5 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +5 -0
  130. package/dist/logger/logger.cjs +1 -0
  131. package/dist/logger/logger.d.cts +8 -0
  132. package/dist/logger/logger.d.cts.map +1 -0
  133. package/dist/logger/logger.d.ts +5 -0
  134. package/dist/logger/logger.d.ts.map +1 -0
  135. package/dist/logger/logger.js +10 -0
  136. package/dist/logger/logger.js.map +1 -0
  137. package/dist/semaphore-0ZwjVpyF.js +2 -0
  138. package/dist/semaphore-0ZwjVpyF.js.map +1 -0
  139. package/dist/semaphore-BHprIjFI.d.cts +37 -0
  140. package/dist/semaphore-BHprIjFI.d.cts.map +1 -0
  141. package/dist/semaphore-DThupBkc.d.ts +37 -0
  142. package/dist/semaphore-DThupBkc.d.ts.map +1 -0
  143. package/dist/semaphore-DVrONiAV.cjs +1 -0
  144. package/dist/stream-limiter-CoWKv39w.js +2 -0
  145. package/dist/stream-limiter-CoWKv39w.js.map +1 -0
  146. package/dist/stream-limiter-JgOwmkMa.cjs +1 -0
  147. package/dist/streams/multi-stream.cjs +1 -0
  148. package/dist/streams/multi-stream.d.cts +91 -0
  149. package/dist/streams/multi-stream.d.cts.map +1 -0
  150. package/dist/streams/multi-stream.d.ts +86 -0
  151. package/dist/streams/multi-stream.d.ts.map +1 -0
  152. package/dist/streams/multi-stream.js +149 -0
  153. package/dist/streams/multi-stream.js.map +1 -0
  154. package/dist/streams/stream-limiter.cjs +1 -0
  155. package/dist/streams/stream-limiter.d.cts +36 -0
  156. package/dist/streams/stream-limiter.d.cts.map +1 -0
  157. package/dist/streams/stream-limiter.d.ts +27 -0
  158. package/dist/streams/stream-limiter.d.ts.map +1 -0
  159. package/dist/streams/stream-limiter.js +49 -0
  160. package/dist/streams/stream-splitter.cjs +1 -0
  161. package/dist/streams/stream-splitter.d.cts +68 -0
  162. package/dist/streams/stream-splitter.d.cts.map +1 -0
  163. package/dist/streams/stream-splitter.d.ts +51 -0
  164. package/dist/streams/stream-splitter.d.ts.map +1 -0
  165. package/dist/streams/stream-splitter.js +175 -0
  166. package/dist/streams/stream-splitter.js.map +1 -0
  167. package/dist/types/data-store-registry.d.ts +13 -0
  168. package/dist/types/data-store-registry.d.ts.map +1 -0
  169. package/dist/types/data-store-registry.js +4 -0
  170. package/dist/types/data-store.d.ts +316 -0
  171. package/dist/types/data-store.d.ts.map +1 -0
  172. package/dist/types/data-store.js +157 -0
  173. package/dist/types/event-broadcaster.d.ts +28 -0
  174. package/dist/types/event-broadcaster.d.ts.map +1 -0
  175. package/dist/types/event-broadcaster.js +6 -0
  176. package/dist/types/event-emitter.d.ts +378 -0
  177. package/dist/types/event-emitter.d.ts.map +1 -0
  178. package/dist/types/event-emitter.js +223 -0
  179. package/dist/types/index.cjs +1 -0
  180. package/dist/types/index.d.cts +6 -0
  181. package/dist/types/index.d.ts +10 -0
  182. package/dist/types/index.d.ts.map +1 -0
  183. package/dist/types/index.js +9 -0
  184. package/dist/types/input-file.d.ts +104 -0
  185. package/dist/types/input-file.d.ts.map +1 -0
  186. package/dist/types/input-file.js +27 -0
  187. package/dist/types/kv-store.d.ts +281 -0
  188. package/dist/types/kv-store.d.ts.map +1 -0
  189. package/dist/types/kv-store.js +234 -0
  190. package/dist/types/middleware.d.ts +17 -0
  191. package/dist/types/middleware.d.ts.map +1 -0
  192. package/dist/types/middleware.js +21 -0
  193. package/dist/types/upload-event.d.ts +105 -0
  194. package/dist/types/upload-event.d.ts.map +1 -0
  195. package/dist/types/upload-event.js +71 -0
  196. package/dist/types/upload-file.d.ts +136 -0
  197. package/dist/types/upload-file.d.ts.map +1 -0
  198. package/dist/types/upload-file.js +34 -0
  199. package/dist/types/websocket.d.ts +144 -0
  200. package/dist/types/websocket.d.ts.map +1 -0
  201. package/dist/types/websocket.js +40 -0
  202. package/dist/types-BT-cvi7T.cjs +1 -0
  203. package/dist/types-DhU2j-XF.js +2 -0
  204. package/dist/types-DhU2j-XF.js.map +1 -0
  205. package/dist/upload/convert-to-stream.d.ts +38 -0
  206. package/dist/upload/convert-to-stream.d.ts.map +1 -0
  207. package/dist/upload/convert-to-stream.js +43 -0
  208. package/dist/upload/convert-upload-to-flow-file.d.ts +14 -0
  209. package/dist/upload/convert-upload-to-flow-file.d.ts.map +1 -0
  210. package/dist/upload/convert-upload-to-flow-file.js +21 -0
  211. package/dist/upload/create-upload.d.ts +68 -0
  212. package/dist/upload/create-upload.d.ts.map +1 -0
  213. package/dist/upload/create-upload.js +157 -0
  214. package/dist/upload/index.cjs +1 -0
  215. package/dist/upload/index.d.cts +6 -0
  216. package/dist/upload/index.d.ts +4 -0
  217. package/dist/upload/index.d.ts.map +1 -0
  218. package/dist/upload/index.js +3 -0
  219. package/dist/upload/mime.d.ts +24 -0
  220. package/dist/upload/mime.d.ts.map +1 -0
  221. package/dist/upload/mime.js +351 -0
  222. package/dist/upload/upload-chunk.d.ts +58 -0
  223. package/dist/upload/upload-chunk.d.ts.map +1 -0
  224. package/dist/upload/upload-chunk.js +277 -0
  225. package/dist/upload/upload-server.d.ts +221 -0
  226. package/dist/upload/upload-server.d.ts.map +1 -0
  227. package/dist/upload/upload-server.js +181 -0
  228. package/dist/upload/upload-strategy-negotiator.d.ts +148 -0
  229. package/dist/upload/upload-strategy-negotiator.d.ts.map +1 -0
  230. package/dist/upload/upload-strategy-negotiator.js +217 -0
  231. package/dist/upload/upload-url.d.ts +68 -0
  232. package/dist/upload/upload-url.d.ts.map +1 -0
  233. package/dist/upload/upload-url.js +142 -0
  234. package/dist/upload/write-to-store.d.ts +77 -0
  235. package/dist/upload/write-to-store.d.ts.map +1 -0
  236. package/dist/upload/write-to-store.js +147 -0
  237. package/dist/upload-DLuICjpP.cjs +1 -0
  238. package/dist/upload-DaXO34dE.js +2 -0
  239. package/dist/upload-DaXO34dE.js.map +1 -0
  240. package/dist/uploadista-error-BB-Wdiz9.cjs +22 -0
  241. package/dist/uploadista-error-BVsVxqvz.js +23 -0
  242. package/dist/uploadista-error-BVsVxqvz.js.map +1 -0
  243. package/dist/uploadista-error-CwxYs4EB.d.ts +52 -0
  244. package/dist/uploadista-error-CwxYs4EB.d.ts.map +1 -0
  245. package/dist/uploadista-error-kKlhLRhY.d.cts +52 -0
  246. package/dist/uploadista-error-kKlhLRhY.d.cts.map +1 -0
  247. package/dist/utils/checksum.d.ts +22 -0
  248. package/dist/utils/checksum.d.ts.map +1 -0
  249. package/dist/utils/checksum.js +49 -0
  250. package/dist/utils/debounce.cjs +1 -0
  251. package/dist/utils/debounce.d.cts +38 -0
  252. package/dist/utils/debounce.d.cts.map +1 -0
  253. package/dist/utils/debounce.d.ts +36 -0
  254. package/dist/utils/debounce.d.ts.map +1 -0
  255. package/dist/utils/debounce.js +73 -0
  256. package/dist/utils/generate-id.cjs +1 -0
  257. package/dist/utils/generate-id.d.cts +2 -0
  258. package/dist/utils/generate-id.d.ts +32 -0
  259. package/dist/utils/generate-id.d.ts.map +1 -0
  260. package/dist/utils/generate-id.js +23 -0
  261. package/dist/utils/md5.cjs +1 -0
  262. package/dist/utils/md5.d.cts +73 -0
  263. package/dist/utils/md5.d.cts.map +1 -0
  264. package/dist/utils/md5.d.ts +71 -0
  265. package/dist/utils/md5.d.ts.map +1 -0
  266. package/dist/utils/md5.js +417 -0
  267. package/dist/utils/md5.js.map +1 -0
  268. package/dist/utils/once.cjs +1 -0
  269. package/dist/utils/once.d.cts +25 -0
  270. package/dist/utils/once.d.cts.map +1 -0
  271. package/dist/utils/once.d.ts +21 -0
  272. package/dist/utils/once.d.ts.map +1 -0
  273. package/dist/utils/once.js +54 -0
  274. package/dist/utils/once.js.map +1 -0
  275. package/dist/utils/semaphore.cjs +1 -0
  276. package/dist/utils/semaphore.d.cts +3 -0
  277. package/dist/utils/semaphore.d.ts +78 -0
  278. package/dist/utils/semaphore.d.ts.map +1 -0
  279. package/dist/utils/semaphore.js +134 -0
  280. package/dist/utils/throttle.cjs +1 -0
  281. package/dist/utils/throttle.d.cts +24 -0
  282. package/dist/utils/throttle.d.cts.map +1 -0
  283. package/dist/utils/throttle.d.ts +18 -0
  284. package/dist/utils/throttle.d.ts.map +1 -0
  285. package/dist/utils/throttle.js +20 -0
  286. package/dist/utils/throttle.js.map +1 -0
  287. package/docs/PARALLEL_EXECUTION.md +206 -0
  288. package/docs/PARALLEL_EXECUTION_QUICKSTART.md +142 -0
  289. package/docs/PARALLEL_EXECUTION_REFACTOR.md +184 -0
  290. package/package.json +80 -0
  291. package/src/errors/__tests__/uploadista-error.test.ts +251 -0
  292. package/src/errors/index.ts +2 -0
  293. package/src/errors/uploadista-error.ts +394 -0
  294. package/src/flow/README.md +352 -0
  295. package/src/flow/edge.test.ts +146 -0
  296. package/src/flow/edge.ts +60 -0
  297. package/src/flow/event.ts +229 -0
  298. package/src/flow/flow-server.ts +1089 -0
  299. package/src/flow/flow.ts +1050 -0
  300. package/src/flow/index.ts +28 -0
  301. package/src/flow/node.ts +249 -0
  302. package/src/flow/nodes/index.ts +8 -0
  303. package/src/flow/nodes/input-node.ts +296 -0
  304. package/src/flow/nodes/storage-node.ts +128 -0
  305. package/src/flow/nodes/transform-node.ts +154 -0
  306. package/src/flow/parallel-scheduler.ts +259 -0
  307. package/src/flow/plugins/credential-provider.ts +48 -0
  308. package/src/flow/plugins/image-ai-plugin.ts +66 -0
  309. package/src/flow/plugins/image-plugin.ts +60 -0
  310. package/src/flow/plugins/types/describe-image-node.ts +16 -0
  311. package/src/flow/plugins/types/index.ts +9 -0
  312. package/src/flow/plugins/types/optimize-node.ts +18 -0
  313. package/src/flow/plugins/types/remove-background-node.ts +18 -0
  314. package/src/flow/plugins/types/resize-node.ts +26 -0
  315. package/src/flow/plugins/zip-plugin.ts +69 -0
  316. package/src/flow/typed-flow.ts +279 -0
  317. package/src/flow/types/flow-file.ts +51 -0
  318. package/src/flow/types/flow-job.ts +138 -0
  319. package/src/flow/types/flow-types.ts +353 -0
  320. package/src/flow/types/index.ts +6 -0
  321. package/src/flow/types/run-args.ts +40 -0
  322. package/src/flow/types/type-validator.ts +204 -0
  323. package/src/flow/utils/resolve-upload-metadata.ts +48 -0
  324. package/src/index.ts +5 -0
  325. package/src/logger/logger.ts +14 -0
  326. package/src/streams/stream-limiter.test.ts +150 -0
  327. package/src/streams/stream-limiter.ts +75 -0
  328. package/src/types/data-store.ts +427 -0
  329. package/src/types/event-broadcaster.ts +39 -0
  330. package/src/types/event-emitter.ts +349 -0
  331. package/src/types/index.ts +9 -0
  332. package/src/types/input-file.ts +107 -0
  333. package/src/types/kv-store.ts +375 -0
  334. package/src/types/middleware.ts +54 -0
  335. package/src/types/upload-event.ts +75 -0
  336. package/src/types/upload-file.ts +139 -0
  337. package/src/types/websocket.ts +65 -0
  338. package/src/upload/convert-to-stream.ts +48 -0
  339. package/src/upload/create-upload.ts +214 -0
  340. package/src/upload/index.ts +3 -0
  341. package/src/upload/mime.ts +436 -0
  342. package/src/upload/upload-chunk.ts +364 -0
  343. package/src/upload/upload-server.ts +390 -0
  344. package/src/upload/upload-strategy-negotiator.ts +316 -0
  345. package/src/upload/upload-url.ts +173 -0
  346. package/src/upload/write-to-store.ts +211 -0
  347. package/src/utils/checksum.ts +61 -0
  348. package/src/utils/debounce.test.ts +126 -0
  349. package/src/utils/debounce.ts +89 -0
  350. package/src/utils/generate-id.ts +35 -0
  351. package/src/utils/md5.ts +475 -0
  352. package/src/utils/once.test.ts +83 -0
  353. package/src/utils/once.ts +63 -0
  354. package/src/utils/throttle.test.ts +101 -0
  355. package/src/utils/throttle.ts +29 -0
  356. package/tsconfig.json +20 -0
  357. package/tsconfig.tsbuildinfo +1 -0
  358. package/tsdown.config.ts +25 -0
  359. package/vitest.config.ts +15 -0
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Flow execution event types and definitions.
3
+ *
4
+ * This module defines the event system used to monitor and track flow execution.
5
+ * Events are emitted at various stages of flow and node execution, allowing
6
+ * real-time monitoring, logging, and WebSocket updates to clients.
7
+ *
8
+ * @module flow/event
9
+ * @see {@link FlowEvent} for the union of all event types
10
+ */
11
+ import type { NodeType } from "./node";
12
+ /**
13
+ * Enumeration of all possible flow and node execution event types.
14
+ *
15
+ * Events follow a lifecycle pattern:
16
+ * - Job level: JobStart → ... → JobEnd
17
+ * - Flow level: FlowStart → ... → (FlowEnd | FlowError)
18
+ * - Node level: NodeStart → ... → (NodeEnd | NodePause | NodeError)
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // Listen for flow completion
23
+ * if (event.eventType === EventType.FlowEnd) {
24
+ * console.log("Flow completed:", event.result);
25
+ * }
26
+ * ```
27
+ */
28
+ export declare enum EventType {
29
+ /** Emitted when a job starts execution */
30
+ JobStart = "job-start",
31
+ /** Emitted when a job completes (success or failure) */
32
+ JobEnd = "job-end",
33
+ /** Emitted when a flow begins execution */
34
+ FlowStart = "flow-start",
35
+ /** Emitted when a flow completes successfully */
36
+ FlowEnd = "flow-end",
37
+ /** Emitted when a flow encounters an error */
38
+ FlowError = "flow-error",
39
+ /** Emitted when a node starts processing */
40
+ NodeStart = "node-start",
41
+ /** Emitted when a node completes successfully */
42
+ NodeEnd = "node-end",
43
+ /** Emitted when a node pauses (waiting for additional data) */
44
+ NodePause = "node-pause",
45
+ /** Emitted when a paused node resumes execution */
46
+ NodeResume = "node-resume",
47
+ /** Emitted when a node encounters an error */
48
+ NodeError = "node-error",
49
+ /** Emitted for streaming node data (e.g., progress updates) */
50
+ NodeStream = "node-stream",
51
+ /** Emitted for node response data */
52
+ NodeResponse = "node-response"
53
+ }
54
+ /**
55
+ * Event emitted when a job starts execution.
56
+ */
57
+ export type FlowEventJobStart = {
58
+ jobId: string;
59
+ eventType: EventType.JobStart;
60
+ };
61
+ /**
62
+ * Event emitted when a job completes (either successfully or with failure).
63
+ */
64
+ export type FlowEventJobEnd = {
65
+ jobId: string;
66
+ eventType: EventType.JobEnd;
67
+ };
68
+ /**
69
+ * Event emitted when a flow begins execution.
70
+ * This is the first event after JobStart in the execution lifecycle.
71
+ */
72
+ export type FlowEventFlowStart = {
73
+ jobId: string;
74
+ flowId: string;
75
+ eventType: EventType.FlowStart;
76
+ };
77
+ /**
78
+ * Event emitted when a flow completes successfully.
79
+ *
80
+ * @property result - The final output from all output nodes in the flow
81
+ */
82
+ export type FlowEventFlowEnd = {
83
+ jobId: string;
84
+ flowId: string;
85
+ eventType: EventType.FlowEnd;
86
+ result?: unknown;
87
+ };
88
+ /**
89
+ * Event emitted when a flow encounters an unrecoverable error.
90
+ *
91
+ * @property error - Error message describing what went wrong
92
+ */
93
+ export type FlowEventFlowError = {
94
+ jobId: string;
95
+ flowId: string;
96
+ eventType: EventType.FlowError;
97
+ error: string;
98
+ };
99
+ /**
100
+ * Event emitted when a node begins processing.
101
+ *
102
+ * @property nodeName - Human-readable node name
103
+ * @property nodeType - Type of node (input, transform, conditional, output, etc.)
104
+ */
105
+ export type FlowEventNodeStart = {
106
+ jobId: string;
107
+ flowId: string;
108
+ nodeId: string;
109
+ eventType: EventType.NodeStart;
110
+ nodeName: string;
111
+ nodeType: NodeType;
112
+ };
113
+ /**
114
+ * Event emitted when a node fails after all retry attempts.
115
+ *
116
+ * @property error - Error message from the failed execution
117
+ * @property retryCount - Number of retry attempts made before giving up
118
+ */
119
+ export type FlowEventNodeError = {
120
+ jobId: string;
121
+ flowId: string;
122
+ nodeId: string;
123
+ nodeName: string;
124
+ eventType: EventType.NodeError;
125
+ error: string;
126
+ retryCount?: number;
127
+ };
128
+ /**
129
+ * Event emitted when a node completes successfully.
130
+ *
131
+ * @property result - The output data produced by the node
132
+ */
133
+ export type FlowEventNodeEnd = {
134
+ jobId: string;
135
+ flowId: string;
136
+ nodeId: string;
137
+ eventType: EventType.NodeEnd;
138
+ nodeName: string;
139
+ result?: unknown;
140
+ };
141
+ /**
142
+ * Event emitted when a node pauses execution, waiting for additional data.
143
+ *
144
+ * This typically occurs with input nodes that need more chunks or nodes
145
+ * waiting for external services.
146
+ *
147
+ * @property partialData - Any partial result available before pausing
148
+ */
149
+ export type FlowEventNodePause = {
150
+ jobId: string;
151
+ flowId: string;
152
+ nodeId: string;
153
+ eventType: EventType.NodePause;
154
+ nodeName: string;
155
+ partialData?: unknown;
156
+ };
157
+ /**
158
+ * Event emitted when a paused node resumes execution.
159
+ *
160
+ * This occurs after providing the additional data needed by a paused node.
161
+ */
162
+ export type FlowEventNodeResume = {
163
+ jobId: string;
164
+ flowId: string;
165
+ nodeId: string;
166
+ eventType: EventType.NodeResume;
167
+ nodeName: string;
168
+ nodeType: NodeType;
169
+ };
170
+ /**
171
+ * Event emitted for node-specific response data.
172
+ *
173
+ * Used for streaming intermediate results or progress updates.
174
+ */
175
+ export type FlowEventNodeResponse = {
176
+ jobId: string;
177
+ flowId: string;
178
+ nodeId: string;
179
+ eventType: EventType.NodeResponse;
180
+ nodeName: string;
181
+ data: unknown;
182
+ };
183
+ /**
184
+ * Union of all possible flow execution events.
185
+ *
186
+ * This discriminated union allows type-safe event handling based on eventType.
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * function handleFlowEvent(event: FlowEvent) {
191
+ * switch (event.eventType) {
192
+ * case EventType.FlowStart:
193
+ * console.log("Flow started:", event.flowId);
194
+ * break;
195
+ * case EventType.NodeEnd:
196
+ * console.log("Node completed:", event.nodeName, event.result);
197
+ * break;
198
+ * case EventType.FlowError:
199
+ * console.error("Flow failed:", event.error);
200
+ * break;
201
+ * }
202
+ * }
203
+ * ```
204
+ */
205
+ export type FlowEvent = FlowEventJobStart | FlowEventJobEnd | FlowEventFlowStart | FlowEventFlowEnd | FlowEventFlowError | FlowEventNodeStart | FlowEventNodeEnd | FlowEventNodePause | FlowEventNodeResume | FlowEventNodeError;
206
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/flow/event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Flow execution event types and definitions.
3
+ *
4
+ * This module defines the event system used to monitor and track flow execution.
5
+ * Events are emitted at various stages of flow and node execution, allowing
6
+ * real-time monitoring, logging, and WebSocket updates to clients.
7
+ *
8
+ * @module flow/event
9
+ * @see {@link FlowEvent} for the union of all event types
10
+ */
11
+ /**
12
+ * Enumeration of all possible flow and node execution event types.
13
+ *
14
+ * Events follow a lifecycle pattern:
15
+ * - Job level: JobStart → ... → JobEnd
16
+ * - Flow level: FlowStart → ... → (FlowEnd | FlowError)
17
+ * - Node level: NodeStart → ... → (NodeEnd | NodePause | NodeError)
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Listen for flow completion
22
+ * if (event.eventType === EventType.FlowEnd) {
23
+ * console.log("Flow completed:", event.result);
24
+ * }
25
+ * ```
26
+ */
27
+ export var EventType;
28
+ (function (EventType) {
29
+ /** Emitted when a job starts execution */
30
+ EventType["JobStart"] = "job-start";
31
+ /** Emitted when a job completes (success or failure) */
32
+ EventType["JobEnd"] = "job-end";
33
+ /** Emitted when a flow begins execution */
34
+ EventType["FlowStart"] = "flow-start";
35
+ /** Emitted when a flow completes successfully */
36
+ EventType["FlowEnd"] = "flow-end";
37
+ /** Emitted when a flow encounters an error */
38
+ EventType["FlowError"] = "flow-error";
39
+ /** Emitted when a node starts processing */
40
+ EventType["NodeStart"] = "node-start";
41
+ /** Emitted when a node completes successfully */
42
+ EventType["NodeEnd"] = "node-end";
43
+ /** Emitted when a node pauses (waiting for additional data) */
44
+ EventType["NodePause"] = "node-pause";
45
+ /** Emitted when a paused node resumes execution */
46
+ EventType["NodeResume"] = "node-resume";
47
+ /** Emitted when a node encounters an error */
48
+ EventType["NodeError"] = "node-error";
49
+ /** Emitted for streaming node data (e.g., progress updates) */
50
+ EventType["NodeStream"] = "node-stream";
51
+ /** Emitted for node response data */
52
+ EventType["NodeResponse"] = "node-response";
53
+ })(EventType || (EventType = {}));
@@ -0,0 +1,223 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { UploadistaError } from "../errors";
3
+ import { type Flow, type FlowData } from "../flow";
4
+ import type { KvStore, WebSocketConnection } from "../types";
5
+ import { FlowEventEmitter, FlowJobKVStore } from "../types";
6
+ import { UploadServer } from "../upload";
7
+ import type { FlowJob } from "./types/flow-job";
8
+ /**
9
+ * Flow provider interface that applications must implement.
10
+ *
11
+ * This interface defines how the FlowServer retrieves flow definitions.
12
+ * Applications provide their own implementation to load flows from a database,
13
+ * configuration files, or any other source.
14
+ *
15
+ * @template TRequirements - Additional Effect requirements for flow execution
16
+ *
17
+ * @property getFlow - Retrieves a flow definition by ID with authorization check
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Implement a flow provider from database
22
+ * const dbFlowProvider: FlowProviderShape = {
23
+ * getFlow: (flowId, clientId) => Effect.gen(function* () {
24
+ * // Load flow from database
25
+ * const flowData = yield* db.getFlow(flowId);
26
+ *
27
+ * // Check authorization
28
+ * if (flowData.ownerId !== clientId) {
29
+ * return yield* Effect.fail(
30
+ * UploadistaError.fromCode("FLOW_NOT_AUTHORIZED")
31
+ * );
32
+ * }
33
+ *
34
+ * // Create flow instance
35
+ * return createFlow(flowData);
36
+ * })
37
+ * };
38
+ *
39
+ * // Provide to FlowServer
40
+ * const flowProviderLayer = Layer.succeed(FlowProvider, dbFlowProvider);
41
+ * ```
42
+ */
43
+ export type FlowProviderShape<TRequirements = any> = {
44
+ getFlow: (flowId: string, clientId: string | null) => Effect.Effect<Flow<any, any, TRequirements>, UploadistaError>;
45
+ };
46
+ declare const FlowProvider_base: Context.TagClass<FlowProvider, "FlowProvider", FlowProviderShape<any>>;
47
+ /**
48
+ * Effect-TS context tag for the FlowProvider service.
49
+ *
50
+ * Applications must provide an implementation of FlowProviderShape
51
+ * to enable the FlowServer to retrieve flow definitions.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // Access FlowProvider in an Effect
56
+ * const effect = Effect.gen(function* () {
57
+ * const provider = yield* FlowProvider;
58
+ * const flow = yield* provider.getFlow("flow123", "client456");
59
+ * return flow;
60
+ * });
61
+ * ```
62
+ */
63
+ export declare class FlowProvider extends FlowProvider_base {
64
+ }
65
+ /**
66
+ * FlowServer service interface.
67
+ *
68
+ * This is the core flow processing service that executes DAG-based file processing pipelines.
69
+ * It manages flow execution, job tracking, node processing, pause/resume functionality,
70
+ * and real-time event broadcasting.
71
+ *
72
+ * All operations return Effect types for composable, type-safe error handling.
73
+ *
74
+ * @property getFlow - Retrieves a flow definition by ID
75
+ * @property getFlowData - Retrieves flow metadata (nodes, edges) without full flow instance
76
+ * @property runFlow - Starts a new flow execution and returns immediately with job ID
77
+ * @property continueFlow - Resumes a paused flow with new data for a specific node
78
+ * @property getJobStatus - Retrieves current status and results of a flow job
79
+ * @property subscribeToFlowEvents - Subscribes WebSocket to flow execution events
80
+ * @property unsubscribeFromFlowEvents - Unsubscribes from flow events
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * // Execute a flow
85
+ * const program = Effect.gen(function* () {
86
+ * const server = yield* FlowServer;
87
+ *
88
+ * // Start flow execution (returns immediately)
89
+ * const job = yield* server.runFlow({
90
+ * flowId: "resize-optimize",
91
+ * storageId: "s3-production",
92
+ * clientId: "client123",
93
+ * inputs: {
94
+ * input_1: { uploadId: "upload_abc123" }
95
+ * }
96
+ * });
97
+ *
98
+ * // Subscribe to events
99
+ * yield* server.subscribeToFlowEvents(job.id, websocket);
100
+ *
101
+ * // Poll for status
102
+ * const status = yield* server.getJobStatus(job.id);
103
+ * console.log(status.status); // "running", "paused", "completed", or "failed"
104
+ *
105
+ * return job;
106
+ * });
107
+ *
108
+ * // Resume a paused flow
109
+ * const resume = Effect.gen(function* () {
110
+ * const server = yield* FlowServer;
111
+ *
112
+ * // Flow paused waiting for user input at node "approval_1"
113
+ * const job = yield* server.continueFlow({
114
+ * jobId: "job123",
115
+ * nodeId: "approval_1",
116
+ * newData: { approved: true },
117
+ * clientId: "client123"
118
+ * });
119
+ *
120
+ * return job;
121
+ * });
122
+ *
123
+ * // Check flow structure before execution
124
+ * const inspect = Effect.gen(function* () {
125
+ * const server = yield* FlowServer;
126
+ *
127
+ * const flowData = yield* server.getFlowData("resize-optimize", "client123");
128
+ * console.log("Nodes:", flowData.nodes);
129
+ * console.log("Edges:", flowData.edges);
130
+ *
131
+ * return flowData;
132
+ * });
133
+ * ```
134
+ */
135
+ export type FlowServerShape = {
136
+ getFlow: <TRequirements>(flowId: string, clientId: string | null) => Effect.Effect<Flow<any, any, TRequirements>, UploadistaError>;
137
+ getFlowData: (flowId: string, clientId: string | null) => Effect.Effect<FlowData, UploadistaError>;
138
+ runFlow: <TRequirements>({ flowId, storageId, clientId, inputs, }: {
139
+ flowId: string;
140
+ storageId: string;
141
+ clientId: string | null;
142
+ inputs: any;
143
+ }) => Effect.Effect<FlowJob, UploadistaError, TRequirements>;
144
+ continueFlow: <TRequirements>({ jobId, nodeId, newData, clientId, }: {
145
+ jobId: string;
146
+ nodeId: string;
147
+ newData: unknown;
148
+ clientId: string | null;
149
+ }) => Effect.Effect<FlowJob, UploadistaError, TRequirements>;
150
+ getJobStatus: (jobId: string) => Effect.Effect<FlowJob, UploadistaError>;
151
+ subscribeToFlowEvents: (jobId: string, connection: WebSocketConnection) => Effect.Effect<void, UploadistaError>;
152
+ unsubscribeFromFlowEvents: (jobId: string) => Effect.Effect<void, UploadistaError>;
153
+ };
154
+ declare const FlowServer_base: Context.TagClass<FlowServer, "FlowServer", FlowServerShape>;
155
+ /**
156
+ * Effect-TS context tag for the FlowServer service.
157
+ *
158
+ * Use this tag to access the FlowServer in an Effect context.
159
+ * The server must be provided via a Layer or dependency injection.
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * // Access FlowServer in an Effect
164
+ * const flowEffect = Effect.gen(function* () {
165
+ * const server = yield* FlowServer;
166
+ * const job = yield* server.runFlow({
167
+ * flowId: "my-flow",
168
+ * storageId: "s3",
169
+ * clientId: null,
170
+ * inputs: {}
171
+ * });
172
+ * return job;
173
+ * });
174
+ *
175
+ * // Provide FlowServer layer
176
+ * const program = flowEffect.pipe(
177
+ * Effect.provide(flowServer),
178
+ * Effect.provide(flowProviderLayer),
179
+ * Effect.provide(flowJobKvStore)
180
+ * );
181
+ * ```
182
+ */
183
+ export declare class FlowServer extends FlowServer_base {
184
+ }
185
+ /**
186
+ * Legacy configuration options for FlowServer.
187
+ *
188
+ * @deprecated Use Effect Layers and FlowProvider instead.
189
+ * This type is kept for backward compatibility.
190
+ *
191
+ * @property getFlow - Function to retrieve flow definitions
192
+ * @property kvStore - KV store for flow job metadata
193
+ */
194
+ export type FlowServerOptions = {
195
+ getFlow: <TRequirements>({ flowId, storageId, }: {
196
+ flowId: string;
197
+ storageId: string;
198
+ }) => Promise<Flow<any, any, TRequirements>>;
199
+ kvStore: KvStore<FlowJob>;
200
+ };
201
+ export declare function createFlowServer(): Effect.Effect<{
202
+ getFlow: <TRequirements>(flowId: string, clientId: string | null) => Effect.Effect<Flow<any, any, any>, UploadistaError, never>;
203
+ getFlowData: (flowId: string, clientId: string | null) => Effect.Effect<FlowData, UploadistaError, never>;
204
+ runFlow: ({ flowId, storageId, clientId, inputs, }: {
205
+ flowId: string;
206
+ storageId: string;
207
+ clientId: string | null;
208
+ inputs: unknown;
209
+ }) => Effect.Effect<FlowJob, UploadistaError, any>;
210
+ getJobStatus: (jobId: string) => Effect.Effect<FlowJob, UploadistaError, never>;
211
+ continueFlow: ({ jobId, nodeId, newData, clientId, }: {
212
+ jobId: string;
213
+ nodeId: string;
214
+ newData: unknown;
215
+ clientId: string | null;
216
+ }) => Effect.Effect<FlowJob, UploadistaError, any>;
217
+ subscribeToFlowEvents: (jobId: string, connection: WebSocketConnection) => Effect.Effect<void, UploadistaError, never>;
218
+ unsubscribeFromFlowEvents: (jobId: string) => Effect.Effect<void, UploadistaError, never>;
219
+ }, never, FlowJobKVStore | FlowEventEmitter | UploadServer | FlowProvider>;
220
+ export declare const flowServer: Layer.Layer<FlowServer, never, FlowJobKVStore | FlowEventEmitter | UploadServer | FlowProvider>;
221
+ export type FlowServerLayer = typeof flowServer;
222
+ export {};
223
+ //# sourceMappingURL=flow-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-server.d.ts","sourceRoot":"","sources":["../../src/flow/flow-server.ts"],"names":[],"mappings":"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"}