@motiadev/core 0.13.2-beta.163 → 0.13.2-beta.164-562802

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 (522) hide show
  1. package/dist/index.d.mts +38 -0
  2. package/dist/index.mjs +30 -0
  3. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +17 -0
  4. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +1 -0
  5. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +51 -0
  6. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +1 -0
  7. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +19 -0
  8. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +1 -0
  9. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +54 -0
  10. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +1 -0
  11. package/dist/src/adapters/defaults/index.d.mts +8 -0
  12. package/dist/src/adapters/defaults/index.mjs +10 -0
  13. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +27 -0
  14. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +1 -0
  15. package/dist/src/adapters/defaults/state/file-state-adapter.mjs +105 -0
  16. package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +1 -0
  17. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +20 -0
  18. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +1 -0
  19. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +58 -0
  20. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +1 -0
  21. package/dist/src/adapters/defaults/state/utils.mjs +40 -0
  22. package/dist/src/adapters/defaults/state/utils.mjs.map +1 -0
  23. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +13 -0
  24. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +1 -0
  25. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +16 -0
  26. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +1 -0
  27. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +24 -0
  28. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +1 -0
  29. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +84 -0
  30. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +1 -0
  31. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +10 -0
  32. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +1 -0
  33. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +12 -0
  34. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +1 -0
  35. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +20 -0
  36. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +1 -0
  37. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +58 -0
  38. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +1 -0
  39. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +32 -0
  40. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +1 -0
  41. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +19 -0
  42. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +1 -0
  43. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +27 -0
  44. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +1 -0
  45. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +28 -0
  46. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +1 -0
  47. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +10 -0
  48. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +1 -0
  49. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +26 -0
  50. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +1 -0
  51. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +17 -0
  52. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +1 -0
  53. package/dist/src/analytics/utils.d.mts +9 -0
  54. package/dist/src/analytics/utils.d.mts.map +1 -0
  55. package/dist/src/analytics/utils.mjs +35 -0
  56. package/dist/src/analytics/utils.mjs.map +1 -0
  57. package/dist/src/call-step-file.mjs +213 -0
  58. package/dist/src/call-step-file.mjs.map +1 -0
  59. package/dist/src/config.d.mts +7 -0
  60. package/dist/src/config.d.mts.map +1 -0
  61. package/dist/src/config.mjs +6 -0
  62. package/dist/src/config.mjs.map +1 -0
  63. package/dist/src/cron-handler.d.mts +18 -0
  64. package/dist/src/cron-handler.d.mts.map +1 -0
  65. package/dist/src/cron-handler.mjs +103 -0
  66. package/dist/src/cron-handler.mjs.map +1 -0
  67. package/dist/src/endpoints/analytics-endpoint.mjs +29 -0
  68. package/dist/src/endpoints/analytics-endpoint.mjs.map +1 -0
  69. package/dist/src/endpoints/flows-config-endpoint.mjs +38 -0
  70. package/dist/src/endpoints/flows-config-endpoint.mjs.map +1 -0
  71. package/dist/src/endpoints/flows-endpoint.mjs +39 -0
  72. package/dist/src/endpoints/flows-endpoint.mjs.map +1 -0
  73. package/dist/src/endpoints/step-endpoint.mjs +41 -0
  74. package/dist/src/endpoints/step-endpoint.mjs.map +1 -0
  75. package/dist/src/generate-trace-id.mjs +13 -0
  76. package/dist/src/generate-trace-id.mjs.map +1 -0
  77. package/dist/src/get-step-config.d.mts +9 -0
  78. package/dist/src/get-step-config.d.mts.map +1 -0
  79. package/dist/src/get-step-config.mjs +63 -0
  80. package/dist/src/get-step-config.mjs.map +1 -0
  81. package/dist/src/get-step-language.mjs +14 -0
  82. package/dist/src/get-step-language.mjs.map +1 -0
  83. package/dist/src/guards.d.mts +10 -0
  84. package/dist/src/guards.d.mts.map +1 -0
  85. package/dist/src/guards.mjs +9 -0
  86. package/dist/src/guards.mjs.map +1 -0
  87. package/dist/src/helper/flows-helper.mjs +126 -0
  88. package/dist/src/helper/flows-helper.mjs.map +1 -0
  89. package/dist/src/infrastructure-validator/defaults.mjs +17 -0
  90. package/dist/src/infrastructure-validator/defaults.mjs.map +1 -0
  91. package/dist/src/infrastructure-validator/index.d.mts +3 -0
  92. package/dist/src/infrastructure-validator/index.mjs +4 -0
  93. package/dist/src/infrastructure-validator/schemas.d.mts +1 -0
  94. package/dist/src/infrastructure-validator/schemas.mjs +77 -0
  95. package/dist/src/infrastructure-validator/schemas.mjs.map +1 -0
  96. package/dist/src/infrastructure-validator/types.d.mts +14 -0
  97. package/dist/src/infrastructure-validator/types.d.mts.map +1 -0
  98. package/dist/src/infrastructure-validator/validations.d.mts +7 -0
  99. package/dist/src/infrastructure-validator/validations.d.mts.map +1 -0
  100. package/dist/src/infrastructure-validator/validations.mjs +29 -0
  101. package/dist/src/infrastructure-validator/validations.mjs.map +1 -0
  102. package/dist/src/language-runner.mjs +55 -0
  103. package/dist/src/language-runner.mjs.map +1 -0
  104. package/dist/src/locked-data.d.mts +81 -0
  105. package/dist/src/locked-data.d.mts.map +1 -0
  106. package/dist/src/locked-data.mjs +223 -0
  107. package/dist/src/locked-data.mjs.map +1 -0
  108. package/dist/src/logger-factory.d.mts +16 -0
  109. package/dist/src/logger-factory.d.mts.map +1 -0
  110. package/dist/src/logger-factory.mjs +33 -0
  111. package/dist/src/logger-factory.mjs.map +1 -0
  112. package/dist/src/logger.d.mts +28 -0
  113. package/dist/src/logger.d.mts.map +1 -0
  114. package/dist/src/logger.mjs +64 -0
  115. package/dist/src/logger.mjs.map +1 -0
  116. package/dist/src/mermaid-generator.d.mts +9 -0
  117. package/dist/src/mermaid-generator.d.mts.map +1 -0
  118. package/dist/src/mermaid-generator.mjs +126 -0
  119. package/dist/src/mermaid-generator.mjs.map +1 -0
  120. package/dist/src/motia.d.mts +36 -0
  121. package/dist/src/motia.d.mts.map +1 -0
  122. package/dist/src/motia.mjs +6 -0
  123. package/dist/src/motia.mjs.map +1 -0
  124. package/dist/src/node/can-access.d.mts +1 -0
  125. package/dist/src/node/can-access.mjs +36 -0
  126. package/dist/src/node/can-access.mjs.map +1 -0
  127. package/dist/src/node/get-config.d.mts +1 -0
  128. package/dist/src/node/get-config.mjs +49 -0
  129. package/dist/src/node/get-config.mjs.map +1 -0
  130. package/dist/src/node/logger.mjs +47 -0
  131. package/dist/src/node/logger.mjs.map +1 -0
  132. package/dist/src/node/middleware-compose.mjs +10 -0
  133. package/dist/src/node/middleware-compose.mjs.map +1 -0
  134. package/dist/src/node/node-runner.d.mts +1 -0
  135. package/dist/src/node/node-runner.mjs +94 -0
  136. package/dist/src/node/node-runner.mjs.map +1 -0
  137. package/dist/src/node/rpc-state-manager.mjs +35 -0
  138. package/dist/src/node/rpc-state-manager.mjs.map +1 -0
  139. package/dist/src/node/rpc.mjs +55 -0
  140. package/dist/src/node/rpc.mjs.map +1 -0
  141. package/dist/src/observability/create-trace.mjs +26 -0
  142. package/dist/src/observability/create-trace.mjs.map +1 -0
  143. package/dist/src/observability/index.d.mts +7 -0
  144. package/dist/src/observability/index.d.mts.map +1 -0
  145. package/dist/src/observability/no-tracer.d.mts +15 -0
  146. package/dist/src/observability/no-tracer.d.mts.map +1 -0
  147. package/dist/src/observability/no-tracer.mjs +15 -0
  148. package/dist/src/observability/no-tracer.mjs.map +1 -0
  149. package/dist/src/observability/redis-trace-stream-adapter.mjs +76 -0
  150. package/dist/src/observability/redis-trace-stream-adapter.mjs.map +1 -0
  151. package/dist/src/observability/stream-tracer.mjs +87 -0
  152. package/dist/src/observability/stream-tracer.mjs.map +1 -0
  153. package/dist/src/observability/trace-manager.mjs +24 -0
  154. package/dist/src/observability/trace-manager.mjs.map +1 -0
  155. package/dist/src/observability/tracer.mjs +87 -0
  156. package/dist/src/observability/tracer.mjs.map +1 -0
  157. package/dist/src/observability/types.d.mts +14 -0
  158. package/dist/src/observability/types.d.mts.map +1 -0
  159. package/dist/src/pretty-print.mjs +50 -0
  160. package/dist/src/pretty-print.mjs.map +1 -0
  161. package/dist/src/printer.d.mts +65 -0
  162. package/dist/src/printer.d.mts.map +1 -0
  163. package/dist/src/printer.mjs +147 -0
  164. package/dist/src/printer.mjs.map +1 -0
  165. package/dist/src/process-communication/communication-config.mjs +26 -0
  166. package/dist/src/process-communication/communication-config.mjs.map +1 -0
  167. package/dist/src/process-communication/process-manager.mjs +67 -0
  168. package/dist/src/process-communication/process-manager.mjs.map +1 -0
  169. package/dist/src/queue-manager.d.mts +37 -0
  170. package/dist/src/queue-manager.d.mts.map +1 -0
  171. package/dist/src/queue-manager.mjs +209 -0
  172. package/dist/src/queue-manager.mjs.map +1 -0
  173. package/dist/src/run-stream-can-access.mjs +59 -0
  174. package/dist/src/run-stream-can-access.mjs.map +1 -0
  175. package/dist/src/schema-utils.mjs +30 -0
  176. package/dist/src/schema-utils.mjs.map +1 -0
  177. package/dist/src/server.d.mts +40 -0
  178. package/dist/src/server.d.mts.map +1 -0
  179. package/dist/src/server.mjs +332 -0
  180. package/dist/src/server.mjs.map +1 -0
  181. package/dist/src/socket-server/helpers.mjs +35 -0
  182. package/dist/src/socket-server/helpers.mjs.map +1 -0
  183. package/dist/src/socket-server.mjs +127 -0
  184. package/dist/src/socket-server.mjs.map +1 -0
  185. package/dist/src/state/create-state-adapter.d.mts +11 -0
  186. package/dist/src/state/create-state-adapter.d.mts.map +1 -0
  187. package/dist/src/state/create-state-adapter.mjs +11 -0
  188. package/dist/src/state/create-state-adapter.mjs.map +1 -0
  189. package/dist/src/step-handler-rpc-processor.mjs +56 -0
  190. package/dist/src/step-handler-rpc-processor.mjs.map +1 -0
  191. package/dist/src/step-handler-rpc-stdin-processor.mjs +71 -0
  192. package/dist/src/step-handler-rpc-stdin-processor.mjs.map +1 -0
  193. package/dist/src/step-handlers.d.mts +13 -0
  194. package/dist/src/step-handlers.d.mts.map +1 -0
  195. package/dist/src/step-handlers.mjs +93 -0
  196. package/dist/src/step-handlers.mjs.map +1 -0
  197. package/dist/src/step-validator.d.mts +15 -0
  198. package/dist/src/step-validator.d.mts.map +1 -0
  199. package/dist/src/step-validator.mjs +118 -0
  200. package/dist/src/step-validator.mjs.map +1 -0
  201. package/dist/src/steps/emit.step.mjs +20 -0
  202. package/dist/src/steps/emit.step.mjs.map +1 -0
  203. package/dist/src/steps/index.mjs +14 -0
  204. package/dist/src/steps/index.mjs.map +1 -0
  205. package/dist/src/streams/flows-config-stream.mjs +46 -0
  206. package/dist/src/streams/flows-config-stream.mjs.map +1 -0
  207. package/dist/src/streams/flows-stream.mjs +33 -0
  208. package/dist/src/streams/flows-stream.mjs.map +1 -0
  209. package/dist/src/streams/redis-logs-stream.d.mts +3 -0
  210. package/dist/src/streams/redis-logs-stream.mjs +97 -0
  211. package/dist/src/streams/redis-logs-stream.mjs.map +1 -0
  212. package/dist/src/streams/stream-factory.d.mts +7 -0
  213. package/dist/src/streams/stream-factory.d.mts.map +1 -0
  214. package/dist/src/types/app-config-types.d.mts +48 -0
  215. package/dist/src/types/app-config-types.d.mts.map +1 -0
  216. package/dist/src/types/generate-type-from-schema.mjs +30 -0
  217. package/dist/src/types/generate-type-from-schema.mjs.map +1 -0
  218. package/dist/src/types/generate-types-from-response.mjs +12 -0
  219. package/dist/src/types/generate-types-from-response.mjs.map +1 -0
  220. package/dist/src/types/generate-types.mjs +101 -0
  221. package/dist/src/types/generate-types.mjs.map +1 -0
  222. package/dist/src/types/merge-schemas.mjs +102 -0
  223. package/dist/src/types/merge-schemas.mjs.map +1 -0
  224. package/dist/src/types/schema.types.d.mts +13 -0
  225. package/dist/src/types/schema.types.d.mts.map +1 -0
  226. package/dist/src/types/schema.types.mjs +14 -0
  227. package/dist/src/types/schema.types.mjs.map +1 -0
  228. package/dist/src/types-stream.d.mts +46 -0
  229. package/dist/src/types-stream.d.mts.map +1 -0
  230. package/dist/src/types.d.mts +188 -0
  231. package/dist/src/types.d.mts.map +1 -0
  232. package/dist/src/utils.mjs +13 -0
  233. package/dist/src/utils.mjs.map +1 -0
  234. package/dist/src/validate-event-input.mjs +76 -0
  235. package/dist/src/validate-event-input.mjs.map +1 -0
  236. package/jest.config.cjs +20 -0
  237. package/package.json +21 -8
  238. package/tsdown.config.ts +53 -0
  239. package/dist/index.d.ts +0 -30
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/index.js +0 -72
  242. package/dist/jest.config.d.ts +0 -8
  243. package/dist/jest.config.d.ts.map +0 -1
  244. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +0 -13
  245. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +0 -1
  246. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +0 -53
  247. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +0 -15
  248. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +0 -1
  249. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +0 -49
  250. package/dist/src/adapters/defaults/index.d.ts +0 -9
  251. package/dist/src/adapters/defaults/index.d.ts.map +0 -1
  252. package/dist/src/adapters/defaults/index.js +0 -19
  253. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +0 -23
  254. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +0 -1
  255. package/dist/src/adapters/defaults/state/file-state-adapter.js +0 -149
  256. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +0 -16
  257. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +0 -1
  258. package/dist/src/adapters/defaults/state/memory-state-adapter.js +0 -69
  259. package/dist/src/adapters/defaults/state/utils.d.ts +0 -4
  260. package/dist/src/adapters/defaults/state/utils.d.ts.map +0 -1
  261. package/dist/src/adapters/defaults/state/utils.js +0 -66
  262. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +0 -9
  263. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +0 -1
  264. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +0 -14
  265. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +0 -22
  266. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +0 -1
  267. package/dist/src/adapters/defaults/stream/file-stream-adapter.js +0 -125
  268. package/dist/src/adapters/defaults/stream/index.d.ts +0 -5
  269. package/dist/src/adapters/defaults/stream/index.d.ts.map +0 -1
  270. package/dist/src/adapters/defaults/stream/index.js +0 -11
  271. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +0 -6
  272. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +0 -1
  273. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +0 -10
  274. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +0 -16
  275. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +0 -1
  276. package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +0 -55
  277. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +0 -29
  278. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +0 -1
  279. package/dist/src/adapters/interfaces/cron-adapter.interface.js +0 -2
  280. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +0 -15
  281. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +0 -1
  282. package/dist/src/adapters/interfaces/event-adapter.interface.js +0 -2
  283. package/dist/src/adapters/interfaces/index.d.ts +0 -7
  284. package/dist/src/adapters/interfaces/index.d.ts.map +0 -1
  285. package/dist/src/adapters/interfaces/index.js +0 -5
  286. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +0 -23
  287. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +0 -1
  288. package/dist/src/adapters/interfaces/observability-adapter.interface.js +0 -2
  289. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +0 -24
  290. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +0 -1
  291. package/dist/src/adapters/interfaces/state-adapter.interface.js +0 -2
  292. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +0 -6
  293. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +0 -1
  294. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +0 -2
  295. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +0 -22
  296. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +0 -1
  297. package/dist/src/adapters/interfaces/stream-adapter.interface.js +0 -16
  298. package/dist/src/analytics/utils.d.ts +0 -6
  299. package/dist/src/analytics/utils.d.ts.map +0 -1
  300. package/dist/src/analytics/utils.js +0 -51
  301. package/dist/src/call-step-file.d.ts +0 -16
  302. package/dist/src/call-step-file.d.ts.map +0 -1
  303. package/dist/src/call-step-file.js +0 -194
  304. package/dist/src/config.d.ts +0 -3
  305. package/dist/src/config.d.ts.map +0 -1
  306. package/dist/src/config.js +0 -5
  307. package/dist/src/config.types.d.ts +0 -17
  308. package/dist/src/config.types.d.ts.map +0 -1
  309. package/dist/src/config.types.js +0 -2
  310. package/dist/src/cron-handler.d.ts +0 -14
  311. package/dist/src/cron-handler.d.ts.map +0 -1
  312. package/dist/src/cron-handler.js +0 -132
  313. package/dist/src/endpoints/analytics-endpoint.d.ts +0 -3
  314. package/dist/src/endpoints/analytics-endpoint.d.ts.map +0 -1
  315. package/dist/src/endpoints/analytics-endpoint.js +0 -28
  316. package/dist/src/endpoints/flows-config-endpoint.d.ts +0 -4
  317. package/dist/src/endpoints/flows-config-endpoint.d.ts.map +0 -1
  318. package/dist/src/endpoints/flows-config-endpoint.js +0 -34
  319. package/dist/src/endpoints/flows-endpoint.d.ts +0 -3
  320. package/dist/src/endpoints/flows-endpoint.d.ts.map +0 -1
  321. package/dist/src/endpoints/flows-endpoint.js +0 -29
  322. package/dist/src/endpoints/step-endpoint.d.ts +0 -4
  323. package/dist/src/endpoints/step-endpoint.d.ts.map +0 -1
  324. package/dist/src/endpoints/step-endpoint.js +0 -45
  325. package/dist/src/generate-trace-id.d.ts +0 -3
  326. package/dist/src/generate-trace-id.d.ts.map +0 -1
  327. package/dist/src/generate-trace-id.js +0 -14
  328. package/dist/src/get-step-config.d.ts +0 -5
  329. package/dist/src/get-step-config.d.ts.map +0 -1
  330. package/dist/src/get-step-config.js +0 -68
  331. package/dist/src/get-step-language.d.ts +0 -2
  332. package/dist/src/get-step-language.d.ts.map +0 -1
  333. package/dist/src/get-step-language.js +0 -27
  334. package/dist/src/guards.d.ts +0 -6
  335. package/dist/src/guards.d.ts.map +0 -1
  336. package/dist/src/guards.js +0 -11
  337. package/dist/src/helper/flows-helper.d.ts +0 -6
  338. package/dist/src/helper/flows-helper.d.ts.map +0 -1
  339. package/dist/src/helper/flows-helper.js +0 -143
  340. package/dist/src/infrastructure-validator/defaults.d.ts +0 -4
  341. package/dist/src/infrastructure-validator/defaults.d.ts.map +0 -1
  342. package/dist/src/infrastructure-validator/defaults.js +0 -16
  343. package/dist/src/infrastructure-validator/index.d.ts +0 -4
  344. package/dist/src/infrastructure-validator/index.d.ts.map +0 -1
  345. package/dist/src/infrastructure-validator/index.js +0 -13
  346. package/dist/src/infrastructure-validator/schemas.d.ts +0 -45
  347. package/dist/src/infrastructure-validator/schemas.d.ts.map +0 -1
  348. package/dist/src/infrastructure-validator/schemas.js +0 -100
  349. package/dist/src/infrastructure-validator/types.d.ts +0 -21
  350. package/dist/src/infrastructure-validator/types.d.ts.map +0 -1
  351. package/dist/src/infrastructure-validator/types.js +0 -2
  352. package/dist/src/infrastructure-validator/validations.d.ts +0 -4
  353. package/dist/src/infrastructure-validator/validations.d.ts.map +0 -1
  354. package/dist/src/infrastructure-validator/validations.js +0 -62
  355. package/dist/src/language-runner.d.ts +0 -15
  356. package/dist/src/language-runner.d.ts.map +0 -1
  357. package/dist/src/language-runner.js +0 -31
  358. package/dist/src/locked-data.d.ts +0 -78
  359. package/dist/src/locked-data.d.ts.map +0 -1
  360. package/dist/src/locked-data.js +0 -284
  361. package/dist/src/logger-factory.d.ts +0 -19
  362. package/dist/src/logger-factory.d.ts.map +0 -1
  363. package/dist/src/logger-factory.js +0 -27
  364. package/dist/src/logger.d.ts +0 -26
  365. package/dist/src/logger.d.ts.map +0 -1
  366. package/dist/src/logger.js +0 -60
  367. package/dist/src/mermaid-generator.d.ts +0 -5
  368. package/dist/src/mermaid-generator.d.ts.map +0 -1
  369. package/dist/src/mermaid-generator.js +0 -203
  370. package/dist/src/motia.d.ts +0 -32
  371. package/dist/src/motia.d.ts.map +0 -1
  372. package/dist/src/motia.js +0 -4
  373. package/dist/src/node/can-access.d.ts +0 -2
  374. package/dist/src/node/can-access.d.ts.map +0 -1
  375. package/dist/src/node/can-access.js +0 -44
  376. package/dist/src/node/get-config.d.ts +0 -2
  377. package/dist/src/node/get-config.d.ts.map +0 -1
  378. package/dist/src/node/get-config.js +0 -64
  379. package/dist/src/node/logger.d.ts +0 -16
  380. package/dist/src/node/logger.d.ts.map +0 -1
  381. package/dist/src/node/logger.js +0 -48
  382. package/dist/src/node/middleware-compose.d.ts +0 -2
  383. package/dist/src/node/middleware-compose.d.ts.map +0 -1
  384. package/dist/src/node/middleware-compose.js +0 -10
  385. package/dist/src/node/node-runner.d.ts +0 -2
  386. package/dist/src/node/node-runner.d.ts.map +0 -1
  387. package/dist/src/node/node-runner.js +0 -83
  388. package/dist/src/node/rpc-state-manager.d.ts +0 -12
  389. package/dist/src/node/rpc-state-manager.d.ts.map +0 -1
  390. package/dist/src/node/rpc-state-manager.js +0 -24
  391. package/dist/src/node/rpc.d.ts +0 -10
  392. package/dist/src/node/rpc.d.ts.map +0 -1
  393. package/dist/src/node/rpc.js +0 -50
  394. package/dist/src/observability/create-trace.d.ts +0 -4
  395. package/dist/src/observability/create-trace.d.ts.map +0 -1
  396. package/dist/src/observability/create-trace.js +0 -22
  397. package/dist/src/observability/index.d.ts +0 -4
  398. package/dist/src/observability/index.d.ts.map +0 -1
  399. package/dist/src/observability/index.js +0 -2
  400. package/dist/src/observability/no-tracer.d.ts +0 -10
  401. package/dist/src/observability/no-tracer.d.ts.map +0 -1
  402. package/dist/src/observability/no-tracer.js +0 -14
  403. package/dist/src/observability/redis-trace-stream-adapter.d.ts +0 -17
  404. package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +0 -1
  405. package/dist/src/observability/redis-trace-stream-adapter.js +0 -65
  406. package/dist/src/observability/stream-tracer.d.ts +0 -22
  407. package/dist/src/observability/stream-tracer.d.ts.map +0 -1
  408. package/dist/src/observability/stream-tracer.js +0 -97
  409. package/dist/src/observability/trace-manager.d.ts +0 -13
  410. package/dist/src/observability/trace-manager.d.ts.map +0 -1
  411. package/dist/src/observability/trace-manager.js +0 -23
  412. package/dist/src/observability/tracer.d.ts +0 -19
  413. package/dist/src/observability/tracer.d.ts.map +0 -1
  414. package/dist/src/observability/tracer.js +0 -95
  415. package/dist/src/observability/types.d.ts +0 -75
  416. package/dist/src/observability/types.d.ts.map +0 -1
  417. package/dist/src/observability/types.js +0 -2
  418. package/dist/src/pretty-print.d.ts +0 -2
  419. package/dist/src/pretty-print.d.ts.map +0 -1
  420. package/dist/src/pretty-print.js +0 -63
  421. package/dist/src/printer.d.ts +0 -61
  422. package/dist/src/printer.d.ts.map +0 -1
  423. package/dist/src/printer.js +0 -164
  424. package/dist/src/process-communication/communication-config.d.ts +0 -8
  425. package/dist/src/process-communication/communication-config.d.ts.map +0 -1
  426. package/dist/src/process-communication/communication-config.js +0 -18
  427. package/dist/src/process-communication/process-manager.d.ts +0 -32
  428. package/dist/src/process-communication/process-manager.d.ts.map +0 -1
  429. package/dist/src/process-communication/process-manager.js +0 -88
  430. package/dist/src/process-communication/rpc-processor-interface.d.ts +0 -10
  431. package/dist/src/process-communication/rpc-processor-interface.d.ts.map +0 -1
  432. package/dist/src/process-communication/rpc-processor-interface.js +0 -2
  433. package/dist/src/queue-manager.d.ts +0 -42
  434. package/dist/src/queue-manager.d.ts.map +0 -1
  435. package/dist/src/queue-manager.js +0 -252
  436. package/dist/src/ruby/get-ruby-config.d.ts +0 -3
  437. package/dist/src/ruby/get-ruby-config.d.ts.map +0 -1
  438. package/dist/src/ruby/get-ruby-config.js +0 -34
  439. package/dist/src/run-stream-can-access.d.ts +0 -10
  440. package/dist/src/run-stream-can-access.d.ts.map +0 -1
  441. package/dist/src/run-stream-can-access.js +0 -59
  442. package/dist/src/schema-utils.d.ts +0 -9
  443. package/dist/src/schema-utils.d.ts.map +0 -1
  444. package/dist/src/schema-utils.js +0 -80
  445. package/dist/src/server.d.ts +0 -37
  446. package/dist/src/server.d.ts.map +0 -1
  447. package/dist/src/server.js +0 -318
  448. package/dist/src/socket-server/helpers.d.ts +0 -53
  449. package/dist/src/socket-server/helpers.d.ts.map +0 -1
  450. package/dist/src/socket-server/helpers.js +0 -28
  451. package/dist/src/socket-server.d.ts +0 -21
  452. package/dist/src/socket-server.d.ts.map +0 -1
  453. package/dist/src/socket-server.js +0 -127
  454. package/dist/src/state/create-state-adapter.d.ts +0 -8
  455. package/dist/src/state/create-state-adapter.d.ts.map +0 -1
  456. package/dist/src/state/create-state-adapter.js +0 -8
  457. package/dist/src/step-handler-rpc-processor.d.ts +0 -22
  458. package/dist/src/step-handler-rpc-processor.d.ts.map +0 -1
  459. package/dist/src/step-handler-rpc-processor.js +0 -63
  460. package/dist/src/step-handler-rpc-stdin-processor.d.ts +0 -23
  461. package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +0 -1
  462. package/dist/src/step-handler-rpc-stdin-processor.js +0 -83
  463. package/dist/src/step-handlers.d.ts +0 -9
  464. package/dist/src/step-handlers.d.ts.map +0 -1
  465. package/dist/src/step-handlers.js +0 -77
  466. package/dist/src/step-validator.d.ts +0 -15
  467. package/dist/src/step-validator.d.ts.map +0 -1
  468. package/dist/src/step-validator.js +0 -135
  469. package/dist/src/steps/emit.step.d.ts +0 -12
  470. package/dist/src/steps/emit.step.d.ts.map +0 -1
  471. package/dist/src/steps/emit.step.js +0 -27
  472. package/dist/src/steps/index.d.ts +0 -3
  473. package/dist/src/steps/index.d.ts.map +0 -1
  474. package/dist/src/steps/index.js +0 -16
  475. package/dist/src/streams/flows-config-stream.d.ts +0 -14
  476. package/dist/src/streams/flows-config-stream.d.ts.map +0 -1
  477. package/dist/src/streams/flows-config-stream.js +0 -49
  478. package/dist/src/streams/flows-stream.d.ts +0 -12
  479. package/dist/src/streams/flows-stream.d.ts.map +0 -1
  480. package/dist/src/streams/flows-stream.js +0 -35
  481. package/dist/src/streams/redis-logs-stream.d.ts +0 -31
  482. package/dist/src/streams/redis-logs-stream.d.ts.map +0 -1
  483. package/dist/src/streams/redis-logs-stream.js +0 -84
  484. package/dist/src/streams/stream-factory.d.ts +0 -3
  485. package/dist/src/streams/stream-factory.d.ts.map +0 -1
  486. package/dist/src/streams/stream-factory.js +0 -2
  487. package/dist/src/types/app-config-types.d.ts +0 -44
  488. package/dist/src/types/app-config-types.d.ts.map +0 -1
  489. package/dist/src/types/app-config-types.js +0 -2
  490. package/dist/src/types/flows-config-types.d.ts +0 -10
  491. package/dist/src/types/flows-config-types.d.ts.map +0 -1
  492. package/dist/src/types/flows-config-types.js +0 -2
  493. package/dist/src/types/flows-types.d.ts +0 -39
  494. package/dist/src/types/flows-types.d.ts.map +0 -1
  495. package/dist/src/types/flows-types.js +0 -2
  496. package/dist/src/types/generate-type-from-schema.d.ts +0 -3
  497. package/dist/src/types/generate-type-from-schema.d.ts.map +0 -1
  498. package/dist/src/types/generate-type-from-schema.js +0 -49
  499. package/dist/src/types/generate-types-from-response.d.ts +0 -3
  500. package/dist/src/types/generate-types-from-response.d.ts.map +0 -1
  501. package/dist/src/types/generate-types-from-response.js +0 -13
  502. package/dist/src/types/generate-types.d.ts +0 -13
  503. package/dist/src/types/generate-types.d.ts.map +0 -1
  504. package/dist/src/types/generate-types.js +0 -127
  505. package/dist/src/types/merge-schemas.d.ts +0 -5
  506. package/dist/src/types/merge-schemas.d.ts.map +0 -1
  507. package/dist/src/types/merge-schemas.js +0 -183
  508. package/dist/src/types/schema.types.d.ts +0 -9
  509. package/dist/src/types/schema.types.d.ts.map +0 -1
  510. package/dist/src/types/schema.types.js +0 -14
  511. package/dist/src/types-stream.d.ts +0 -42
  512. package/dist/src/types-stream.d.ts.map +0 -1
  513. package/dist/src/types-stream.js +0 -2
  514. package/dist/src/types.d.ts +0 -184
  515. package/dist/src/types.d.ts.map +0 -1
  516. package/dist/src/types.js +0 -17
  517. package/dist/src/utils.d.ts +0 -3
  518. package/dist/src/utils.d.ts.map +0 -1
  519. package/dist/src/utils.js +0 -12
  520. package/dist/src/validate-event-input.d.ts +0 -3
  521. package/dist/src/validate-event-input.d.ts.map +0 -1
  522. package/dist/src/validate-event-input.js +0 -74
@@ -0,0 +1,63 @@
1
+ import { globalLogger } from "./logger.mjs";
2
+ import { getLanguageBasedRunner } from "./language-runner.mjs";
3
+ import { ProcessManager } from "./process-communication/process-manager.mjs";
4
+
5
+ //#region src/get-step-config.ts
6
+ const getConfig = (file, projectRoot) => {
7
+ const { runner, command, args } = getLanguageBasedRunner(file, {
8
+ python: "get-config.py",
9
+ ruby: "get-config.rb",
10
+ node: {
11
+ js: "get-config.mjs",
12
+ ts: "get-config.ts"
13
+ }
14
+ });
15
+ return new Promise((resolve, reject) => {
16
+ let config = null;
17
+ const processManager = new ProcessManager({
18
+ command,
19
+ args: [
20
+ ...args,
21
+ runner,
22
+ file
23
+ ],
24
+ logger: globalLogger,
25
+ context: "Config",
26
+ projectRoot
27
+ });
28
+ processManager.spawn().then(() => {
29
+ processManager.onMessage((message) => {
30
+ config = message;
31
+ globalLogger.debug(`[Config] Read config via ${processManager.commType?.toUpperCase()}`, {
32
+ config,
33
+ communicationType: processManager.commType
34
+ });
35
+ resolve(config);
36
+ processManager.kill();
37
+ });
38
+ processManager.onProcessClose((code) => {
39
+ processManager.close();
40
+ if (config) return;
41
+ else if (code !== 0) reject(`Process exited with code ${code}`);
42
+ else if (!config) reject(`No config found for file ${file}`);
43
+ });
44
+ processManager.onProcessError((error) => {
45
+ processManager.close();
46
+ if (error.code === "ENOENT") reject(`Executable ${command} not found`);
47
+ else reject(error);
48
+ });
49
+ }).catch((error) => {
50
+ reject(`Failed to spawn process: ${error}`);
51
+ });
52
+ });
53
+ };
54
+ const getStepConfig = (file, projectRoot) => {
55
+ return getConfig(file, projectRoot);
56
+ };
57
+ const getStreamConfig = (file, projectRoot) => {
58
+ return getConfig(file, projectRoot);
59
+ };
60
+
61
+ //#endregion
62
+ export { getStepConfig, getStreamConfig };
63
+ //# sourceMappingURL=get-step-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-step-config.mjs","names":["config: T | null"],"sources":["../../src/get-step-config.ts"],"sourcesContent":["import { getLanguageBasedRunner } from './language-runner'\nimport { globalLogger } from './logger'\nimport { ProcessManager } from './process-communication/process-manager'\nimport type { StepConfig } from './types'\nimport type { StreamConfig } from './types-stream'\n\nconst getConfig = <T>(file: string, projectRoot?: string): Promise<T | null> => {\n const { runner, command, args } = getLanguageBasedRunner(file, {\n python: 'get-config.py',\n ruby: 'get-config.rb',\n node: { js: 'get-config.mjs', ts: 'get-config.ts' },\n })\n\n return new Promise((resolve, reject) => {\n let config: T | null = null\n\n const processManager = new ProcessManager({\n command,\n args: [...args, runner, file],\n logger: globalLogger,\n context: 'Config',\n projectRoot,\n })\n\n processManager\n .spawn()\n .then(() => {\n processManager.onMessage<T>((message) => {\n config = message\n globalLogger.debug(`[Config] Read config via ${processManager.commType?.toUpperCase()}`, {\n config,\n communicationType: processManager.commType,\n })\n resolve(config)\n processManager.kill()\n })\n\n processManager.onProcessClose((code) => {\n processManager.close()\n if (config) {\n return\n } else if (code !== 0) {\n reject(`Process exited with code ${code}`)\n } else if (!config) {\n reject(`No config found for file ${file}`)\n }\n })\n\n processManager.onProcessError((error) => {\n processManager.close()\n if (error.code === 'ENOENT') {\n reject(`Executable ${command} not found`)\n } else {\n reject(error)\n }\n })\n })\n .catch((error) => {\n reject(`Failed to spawn process: ${error}`)\n })\n })\n}\n\nexport const getStepConfig = (file: string, projectRoot?: string): Promise<StepConfig | null> => {\n return getConfig<StepConfig>(file, projectRoot)\n}\n\nexport const getStreamConfig = (file: string, projectRoot?: string): Promise<StreamConfig | null> => {\n return getConfig<StreamConfig>(file, projectRoot)\n}\n"],"mappings":";;;;;AAMA,MAAM,aAAgB,MAAc,gBAA4C;CAC9E,MAAM,EAAE,QAAQ,SAAS,SAAS,uBAAuB,MAAM;EAC7D,QAAQ;EACR,MAAM;EACN,MAAM;GAAE,IAAI;GAAkB,IAAI;GAAiB;EACpD,CAAC;AAEF,QAAO,IAAI,SAAS,SAAS,WAAW;EACtC,IAAIA,SAAmB;EAEvB,MAAM,iBAAiB,IAAI,eAAe;GACxC;GACA,MAAM;IAAC,GAAG;IAAM;IAAQ;IAAK;GAC7B,QAAQ;GACR,SAAS;GACT;GACD,CAAC;AAEF,iBACG,OAAO,CACP,WAAW;AACV,kBAAe,WAAc,YAAY;AACvC,aAAS;AACT,iBAAa,MAAM,4BAA4B,eAAe,UAAU,aAAa,IAAI;KACvF;KACA,mBAAmB,eAAe;KACnC,CAAC;AACF,YAAQ,OAAO;AACf,mBAAe,MAAM;KACrB;AAEF,kBAAe,gBAAgB,SAAS;AACtC,mBAAe,OAAO;AACtB,QAAI,OACF;aACS,SAAS,EAClB,QAAO,4BAA4B,OAAO;aACjC,CAAC,OACV,QAAO,4BAA4B,OAAO;KAE5C;AAEF,kBAAe,gBAAgB,UAAU;AACvC,mBAAe,OAAO;AACtB,QAAI,MAAM,SAAS,SACjB,QAAO,cAAc,QAAQ,YAAY;QAEzC,QAAO,MAAM;KAEf;IACF,CACD,OAAO,UAAU;AAChB,UAAO,4BAA4B,QAAQ;IAC3C;GACJ;;AAGJ,MAAa,iBAAiB,MAAc,gBAAqD;AAC/F,QAAO,UAAsB,MAAM,YAAY;;AAGjD,MAAa,mBAAmB,MAAc,gBAAuD;AACnG,QAAO,UAAwB,MAAM,YAAY"}
@@ -0,0 +1,14 @@
1
+ //#region src/get-step-language.ts
2
+ const getStepLanguage = (fileExtension) => {
3
+ if (!fileExtension) return;
4
+ if (fileExtension.endsWith(".js")) return "javascript";
5
+ if (fileExtension.endsWith(".ts")) return "typescript";
6
+ if (fileExtension.endsWith(".py")) return "python";
7
+ if (fileExtension.endsWith(".go")) return "go";
8
+ if (fileExtension.endsWith(".rb")) return "ruby";
9
+ if (fileExtension.endsWith(".php")) return "php";
10
+ };
11
+
12
+ //#endregion
13
+ export { getStepLanguage };
14
+ //# sourceMappingURL=get-step-language.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-step-language.mjs","names":[],"sources":["../../src/get-step-language.ts"],"sourcesContent":["export const getStepLanguage = (fileExtension?: string): string | undefined => {\n if (!fileExtension) return\n\n if (fileExtension.endsWith('.js')) {\n return 'javascript'\n }\n\n if (fileExtension.endsWith('.ts')) {\n return 'typescript'\n }\n\n if (fileExtension.endsWith('.py')) {\n return 'python'\n }\n\n if (fileExtension.endsWith('.go')) {\n return 'go'\n }\n\n if (fileExtension.endsWith('.rb')) {\n return 'ruby'\n }\n\n if (fileExtension.endsWith('.php')) {\n return 'php'\n }\n\n return\n}\n"],"mappings":";AAAA,MAAa,mBAAmB,kBAA+C;AAC7E,KAAI,CAAC,cAAe;AAEpB,KAAI,cAAc,SAAS,MAAM,CAC/B,QAAO;AAGT,KAAI,cAAc,SAAS,MAAM,CAC/B,QAAO;AAGT,KAAI,cAAc,SAAS,MAAM,CAC/B,QAAO;AAGT,KAAI,cAAc,SAAS,MAAM,CAC/B,QAAO;AAGT,KAAI,cAAc,SAAS,MAAM,CAC/B,QAAO;AAGT,KAAI,cAAc,SAAS,OAAO,CAChC,QAAO"}
@@ -0,0 +1,10 @@
1
+ import { ApiRouteConfig, CronConfig, EventConfig, NoopConfig, Step } from "./types.mjs";
2
+
3
+ //#region src/guards.d.ts
4
+ declare const isApiStep: (step: Step) => step is Step<ApiRouteConfig>;
5
+ declare const isEventStep: (step: Step) => step is Step<EventConfig>;
6
+ declare const isNoopStep: (step: Step) => step is Step<NoopConfig>;
7
+ declare const isCronStep: (step: Step) => step is Step<CronConfig>;
8
+ //#endregion
9
+ export { isApiStep, isCronStep, isEventStep, isNoopStep };
10
+ //# sourceMappingURL=guards.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.mts","names":[],"sources":["../../src/guards.ts"],"sourcesContent":[],"mappings":";;;cAEa,kBAAmB,iBAAe,KAAK;cACvC,oBAAqB,iBAAe,KAAK;AADzC,cAEA,UAFoF,EAAA,CAAA,IAAA,EAEhE,IAFgE,EAAA,GAAA,IAAA,IAEjD,IAFiD,CAE5C,UAF4C,CAAA;AAAjE,cAGnB,UAHmB,EAAA,CAAA,IAAA,EAGC,IAHD,EAAA,GAAA,IAAA,IAGgB,IAHhB,CAGqB,UAHrB,CAAA"}
@@ -0,0 +1,9 @@
1
+ //#region src/guards.ts
2
+ const isApiStep = (step) => step.config.type === "api";
3
+ const isEventStep = (step) => step.config.type === "event";
4
+ const isNoopStep = (step) => step.config.type === "noop";
5
+ const isCronStep = (step) => step.config.type === "cron";
6
+
7
+ //#endregion
8
+ export { isApiStep, isCronStep, isEventStep, isNoopStep };
9
+ //# sourceMappingURL=guards.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.mjs","names":[],"sources":["../../src/guards.ts"],"sourcesContent":["import type { ApiRouteConfig, CronConfig, EventConfig, NoopConfig, Step } from './types'\n\nexport const isApiStep = (step: Step): step is Step<ApiRouteConfig> => step.config.type === 'api'\nexport const isEventStep = (step: Step): step is Step<EventConfig> => step.config.type === 'event'\nexport const isNoopStep = (step: Step): step is Step<NoopConfig> => step.config.type === 'noop'\nexport const isCronStep = (step: Step): step is Step<CronConfig> => step.config.type === 'cron'\n"],"mappings":";AAEA,MAAa,aAAa,SAA6C,KAAK,OAAO,SAAS;AAC5F,MAAa,eAAe,SAA0C,KAAK,OAAO,SAAS;AAC3F,MAAa,cAAc,SAAyC,KAAK,OAAO,SAAS;AACzF,MAAa,cAAc,SAAyC,KAAK,OAAO,SAAS"}
@@ -0,0 +1,126 @@
1
+ import { isApiStep, isCronStep, isEventStep, isNoopStep } from "../guards.mjs";
2
+ import { getStepLanguage } from "../get-step-language.mjs";
3
+ import { v5 } from "uuid";
4
+ import fs from "fs";
5
+ import path from "path";
6
+
7
+ //#region src/helper/flows-helper.ts
8
+ const getNodeComponentPath = (filePath) => {
9
+ const filePathWithoutExtension = filePath.replace(/\.[^/.]+$/, "");
10
+ const tsxPath = filePathWithoutExtension + ".tsx";
11
+ const jsxPath = filePathWithoutExtension + ".jsx";
12
+ if (fs.existsSync(tsxPath)) return tsxPath;
13
+ if (fs.existsSync(jsxPath)) return jsxPath;
14
+ };
15
+ const getRelativePath = (filePath) => {
16
+ const baseDir = process.cwd();
17
+ return path.relative(baseDir, filePath);
18
+ };
19
+ const createEdge = (sourceId, targetId, topic, label, variant, conditional) => ({
20
+ id: `${sourceId}-${targetId}`,
21
+ source: sourceId,
22
+ target: targetId,
23
+ data: {
24
+ variant,
25
+ label,
26
+ topic,
27
+ labelVariant: conditional ? "conditional" : "default"
28
+ }
29
+ });
30
+ const processEmit = (emit) => {
31
+ const isString = typeof emit === "string";
32
+ return {
33
+ topic: isString ? emit : emit.topic,
34
+ label: isString ? void 0 : emit.label,
35
+ conditional: isString ? void 0 : emit.conditional
36
+ };
37
+ };
38
+ const createEdgesForEmits = (sourceStep, targetSteps, emits, variant) => {
39
+ const edges = [];
40
+ emits.forEach((emit) => {
41
+ const { topic, label, conditional } = processEmit(emit);
42
+ targetSteps.forEach((targetStep) => {
43
+ if (targetStep.subscribes?.includes(topic) || targetStep.virtualSubscribes?.includes(topic)) edges.push(createEdge(sourceStep.id, targetStep.id, topic, label, variant, conditional));
44
+ });
45
+ });
46
+ return edges;
47
+ };
48
+ const createBaseStepResponse = (step, id) => ({
49
+ id,
50
+ name: step.config.name,
51
+ description: step.config.description,
52
+ nodeComponentPath: getNodeComponentPath(step.filePath),
53
+ filePath: getRelativePath(step.filePath),
54
+ language: getStepLanguage(step.filePath),
55
+ virtualEmits: step.config.virtualEmits ?? void 0,
56
+ virtualSubscribes: step.config.virtualSubscribes ?? void 0
57
+ });
58
+ const createApiStepResponse = (step, id) => {
59
+ if (!isApiStep(step)) throw new Error("Attempted to create API step response with non-API step");
60
+ return {
61
+ ...createBaseStepResponse(step, id),
62
+ type: "api",
63
+ emits: step.config.emits,
64
+ subscribes: step.config.virtualSubscribes ?? void 0,
65
+ action: "webhook",
66
+ webhookUrl: `${step.config.method} ${step.config.path}`,
67
+ bodySchema: step.config.bodySchema ?? void 0
68
+ };
69
+ };
70
+ const createEventStepResponse = (step, id) => {
71
+ if (!isEventStep(step)) throw new Error("Attempted to create Event step response with non-Event step");
72
+ return {
73
+ ...createBaseStepResponse(step, id),
74
+ type: "event",
75
+ emits: step.config.emits,
76
+ subscribes: step.config.subscribes
77
+ };
78
+ };
79
+ const createNoopStepResponse = (step, id) => {
80
+ if (!isNoopStep(step)) throw new Error("Attempted to create Noop step response with non-Noop step");
81
+ return {
82
+ ...createBaseStepResponse(step, id),
83
+ type: "noop",
84
+ emits: [],
85
+ subscribes: step.config.virtualSubscribes
86
+ };
87
+ };
88
+ const createCronStepResponse = (step, id) => {
89
+ if (!isCronStep(step)) throw new Error("Attempted to create Cron step response with non-Cron step");
90
+ return {
91
+ ...createBaseStepResponse(step, id),
92
+ type: "cron",
93
+ emits: step.config.emits,
94
+ cronExpression: step.config.cron
95
+ };
96
+ };
97
+ const STEP_NAMESPACE = "7f1c3ff2-9b00-4d0a-bdd7-efb8bca49d4f";
98
+ const generateStepId = (filePath) => {
99
+ return v5(filePath, STEP_NAMESPACE);
100
+ };
101
+ const createStepResponse = (step) => {
102
+ const id = generateStepId(step.filePath);
103
+ if (isApiStep(step)) return createApiStepResponse(step, id);
104
+ if (isEventStep(step)) return createEventStepResponse(step, id);
105
+ if (isNoopStep(step)) return createNoopStepResponse(step, id);
106
+ if (isCronStep(step)) return createCronStepResponse(step, id);
107
+ throw new Error(`Unknown step type for step: ${step.config.name}`);
108
+ };
109
+ const createEdgesForStep = (sourceStep, allSteps) => {
110
+ const regularEdges = createEdgesForEmits(sourceStep, allSteps, sourceStep.emits, "event");
111
+ const virtualEdges = sourceStep.virtualEmits ? createEdgesForEmits(sourceStep, allSteps, sourceStep.virtualEmits, "virtual") : [];
112
+ return [...regularEdges, ...virtualEdges];
113
+ };
114
+ const generateFlow = (flowId, flowSteps) => {
115
+ const steps = flowSteps.map(createStepResponse);
116
+ return {
117
+ id: flowId,
118
+ name: flowId,
119
+ steps,
120
+ edges: steps.flatMap((step) => createEdgesForStep(step, steps))
121
+ };
122
+ };
123
+
124
+ //#endregion
125
+ export { generateFlow, generateStepId };
126
+ //# sourceMappingURL=flows-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flows-helper.mjs","names":["edges: FlowEdge[]","uuidv5"],"sources":["../../../src/helper/flows-helper.ts"],"sourcesContent":["// Helper functions\n\nimport fs from 'fs'\nimport path from 'path'\nimport { v5 as uuidv5 } from 'uuid'\nimport { getStepLanguage } from '../get-step-language'\nimport { isApiStep, isCronStep, isEventStep, isNoopStep } from '../guards'\nimport type { Emit, Step } from '../types'\nimport type { FlowEdge, FlowResponse, FlowStepResponse } from '../types/flows-types'\n\nconst getNodeComponentPath = (filePath: string): string | undefined => {\n const filePathWithoutExtension = filePath.replace(/\\.[^/.]+$/, '')\n const tsxPath = filePathWithoutExtension + '.tsx'\n const jsxPath = filePathWithoutExtension + '.jsx'\n\n if (fs.existsSync(tsxPath)) return tsxPath\n if (fs.existsSync(jsxPath)) return jsxPath\n}\n\nconst getRelativePath = (filePath: string): string => {\n const baseDir = process.cwd()\n return path.relative(baseDir, filePath)\n}\n\nconst createEdge = (\n sourceId: string,\n targetId: string,\n topic: string,\n label: string | undefined,\n variant: 'event' | 'virtual',\n conditional?: boolean,\n): FlowEdge => ({\n id: `${sourceId}-${targetId}`,\n source: sourceId,\n target: targetId,\n data: {\n variant,\n label,\n topic,\n labelVariant: conditional ? 'conditional' : 'default',\n },\n})\n\nconst processEmit = (emit: Emit): { topic: string; label?: string; conditional?: boolean } => {\n const isString = typeof emit === 'string'\n\n return {\n topic: isString ? emit : emit.topic,\n label: isString ? undefined : emit.label,\n conditional: isString ? undefined : emit.conditional,\n }\n}\n\nconst createEdgesForEmits = (\n sourceStep: FlowStepResponse,\n targetSteps: FlowStepResponse[],\n emits: Emit[],\n variant: 'event' | 'virtual',\n): FlowEdge[] => {\n const edges: FlowEdge[] = []\n\n emits.forEach((emit) => {\n const { topic, label, conditional } = processEmit(emit)\n\n targetSteps.forEach((targetStep) => {\n if (targetStep.subscribes?.includes(topic) || targetStep.virtualSubscribes?.includes(topic)) {\n edges.push(createEdge(sourceStep.id, targetStep.id, topic, label, variant, conditional))\n }\n })\n })\n\n return edges\n}\n\nconst createBaseStepResponse = (\n step: Step,\n id: string,\n): Pick<\n FlowStepResponse,\n 'name' | 'description' | 'nodeComponentPath' | 'language' | 'id' | 'filePath' | 'virtualEmits' | 'virtualSubscribes'\n> => ({\n id,\n name: step.config.name,\n description: step.config.description,\n nodeComponentPath: getNodeComponentPath(step.filePath),\n filePath: getRelativePath(step.filePath),\n language: getStepLanguage(step.filePath),\n\n virtualEmits: step.config.virtualEmits ?? undefined,\n virtualSubscribes: step.config.virtualSubscribes ?? undefined,\n})\n\nconst createApiStepResponse = (step: Step, id: string): FlowStepResponse => {\n if (!isApiStep(step)) {\n throw new Error('Attempted to create API step response with non-API step')\n }\n\n return {\n ...createBaseStepResponse(step, id),\n type: 'api',\n emits: step.config.emits,\n subscribes: step.config.virtualSubscribes ?? undefined,\n action: 'webhook',\n webhookUrl: `${step.config.method} ${step.config.path}`,\n bodySchema: step.config.bodySchema ?? undefined,\n }\n}\n\nconst createEventStepResponse = (step: Step, id: string): FlowStepResponse => {\n if (!isEventStep(step)) {\n throw new Error('Attempted to create Event step response with non-Event step')\n }\n\n return {\n ...createBaseStepResponse(step, id),\n type: 'event',\n emits: step.config.emits,\n subscribes: step.config.subscribes,\n }\n}\n\nconst createNoopStepResponse = (step: Step, id: string): FlowStepResponse => {\n if (!isNoopStep(step)) {\n throw new Error('Attempted to create Noop step response with non-Noop step')\n }\n\n return {\n ...createBaseStepResponse(step, id),\n type: 'noop',\n emits: [],\n subscribes: step.config.virtualSubscribes,\n }\n}\n\nconst createCronStepResponse = (step: Step, id: string): FlowStepResponse => {\n if (!isCronStep(step)) {\n throw new Error('Attempted to create Cron step response with non-Cron step')\n }\n\n return {\n ...createBaseStepResponse(step, id),\n type: 'cron',\n emits: step.config.emits,\n cronExpression: step.config.cron,\n }\n}\n\nexport const STEP_NAMESPACE = '7f1c3ff2-9b00-4d0a-bdd7-efb8bca49d4f'\nexport const generateStepId = (filePath: string): string => {\n return uuidv5(filePath, STEP_NAMESPACE)\n}\n\nconst createStepResponse = (step: Step): FlowStepResponse => {\n const id = generateStepId(step.filePath)\n if (isApiStep(step)) return createApiStepResponse(step, id)\n if (isEventStep(step)) return createEventStepResponse(step, id)\n if (isNoopStep(step)) return createNoopStepResponse(step, id)\n if (isCronStep(step)) return createCronStepResponse(step, id)\n\n throw new Error(`Unknown step type for step: ${step.config.name}`)\n}\n\nconst createEdgesForStep = (sourceStep: FlowStepResponse, allSteps: FlowStepResponse[]): FlowEdge[] => {\n const regularEdges = createEdgesForEmits(sourceStep, allSteps, sourceStep.emits, 'event')\n const virtualEdges = sourceStep.virtualEmits\n ? createEdgesForEmits(sourceStep, allSteps, sourceStep.virtualEmits, 'virtual')\n : []\n\n return [...regularEdges, ...virtualEdges]\n}\n\nexport const generateFlow = (flowId: string, flowSteps: Step[]): FlowResponse => {\n const steps = flowSteps.map(createStepResponse)\n\n const edges = steps.flatMap((step) => createEdgesForStep(step, steps))\n\n return { id: flowId, name: flowId, steps, edges }\n}\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ //#region src/infrastructure-validator/defaults.ts
2
+ const DEFAULT_QUEUE_CONFIG = {
3
+ type: "standard",
4
+ maxRetries: 3,
5
+ visibilityTimeout: 900,
6
+ delaySeconds: 0
7
+ };
8
+ function getQueueConfigWithDefaults(infrastructure) {
9
+ return {
10
+ ...DEFAULT_QUEUE_CONFIG,
11
+ ...infrastructure?.queue || {}
12
+ };
13
+ }
14
+
15
+ //#endregion
16
+ export { DEFAULT_QUEUE_CONFIG, getQueueConfigWithDefaults };
17
+ //# sourceMappingURL=defaults.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.mjs","names":["DEFAULT_QUEUE_CONFIG: QueueConfig"],"sources":["../../../src/infrastructure-validator/defaults.ts"],"sourcesContent":["import type { InfrastructureConfig, QueueConfig } from '../types'\n\nexport const DEFAULT_QUEUE_CONFIG: QueueConfig = {\n type: 'standard',\n maxRetries: 3,\n visibilityTimeout: 900,\n delaySeconds: 0,\n}\n\nexport function getQueueConfigWithDefaults(infrastructure?: InfrastructureConfig): QueueConfig {\n return {\n ...DEFAULT_QUEUE_CONFIG,\n ...(infrastructure?.queue || {}),\n }\n}\n"],"mappings":";AAEA,MAAaA,uBAAoC;CAC/C,MAAM;CACN,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACf;AAED,SAAgB,2BAA2B,gBAAoD;AAC7F,QAAO;EACL,GAAG;EACH,GAAI,gBAAgB,SAAS,EAAE;EAChC"}
@@ -0,0 +1,3 @@
1
+ import "./schemas.mjs";
2
+ import { InfrastructureValidationError, InfrastructureValidationResult } from "./types.mjs";
3
+ import { validateInfrastructureConfig } from "./validations.mjs";
@@ -0,0 +1,4 @@
1
+ import { AWS_LAMBDA_CPU_RATIO, AWS_LAMBDA_LIMITS, getProportionalCpu, handlerBaseSchema, handlerSchema, infrastructureSchema, queueSchema } from "./schemas.mjs";
2
+ import { validateInfrastructureConfig } from "./validations.mjs";
3
+
4
+ export { };
@@ -0,0 +1 @@
1
+ import { z } from "zod";
@@ -0,0 +1,77 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/infrastructure-validator/schemas.ts
4
+ const AWS_LAMBDA_LIMITS = {
5
+ MIN_RAM_MB: 128,
6
+ MAX_RAM_MB: 10240,
7
+ MIN_TIMEOUT_SECONDS: 1,
8
+ MAX_TIMEOUT_SECONDS: 900
9
+ };
10
+ const AWS_LAMBDA_CPU_RATIO = {
11
+ 128: .0625,
12
+ 256: .125,
13
+ 512: .25,
14
+ 1024: .5,
15
+ 1536: .75,
16
+ 2048: 1,
17
+ 3008: 1.5,
18
+ 4096: 2,
19
+ 5120: 2.5,
20
+ 6144: 3,
21
+ 7168: 3.5,
22
+ 8192: 4,
23
+ 9216: 4.5,
24
+ 10240: 5
25
+ };
26
+ function getProportionalCpu(ramMb) {
27
+ const ramValues = Object.keys(AWS_LAMBDA_CPU_RATIO).map(Number).sort((a, b) => a - b);
28
+ const exact = AWS_LAMBDA_CPU_RATIO[ramMb];
29
+ if (exact !== void 0) return exact;
30
+ for (let i = 0; i < ramValues.length - 1; i++) {
31
+ const lower = ramValues[i];
32
+ const upper = ramValues[i + 1];
33
+ if (ramMb > lower && ramMb < upper) {
34
+ const lowerCpu = AWS_LAMBDA_CPU_RATIO[lower];
35
+ const upperCpu = AWS_LAMBDA_CPU_RATIO[upper];
36
+ const ratio = (ramMb - lower) / (upper - lower);
37
+ return lowerCpu + (upperCpu - lowerCpu) * ratio;
38
+ }
39
+ }
40
+ return ramMb <= ramValues[0] ? AWS_LAMBDA_CPU_RATIO[ramValues[0]] : AWS_LAMBDA_CPU_RATIO[ramValues[ramValues.length - 1]];
41
+ }
42
+ const handlerBaseSchema = z.object({
43
+ ram: z.number().min(AWS_LAMBDA_LIMITS.MIN_RAM_MB, `RAM must be at least ${AWS_LAMBDA_LIMITS.MIN_RAM_MB} MB`).max(AWS_LAMBDA_LIMITS.MAX_RAM_MB, `RAM cannot exceed ${AWS_LAMBDA_LIMITS.MAX_RAM_MB} MB`),
44
+ timeout: z.number().min(AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS, `Timeout must be at least ${AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS}s`).max(AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS, `Timeout cannot exceed ${AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS}s`),
45
+ cpu: z.number().optional()
46
+ });
47
+ const handlerSchema = handlerBaseSchema.partial().superRefine((handler, ctx) => {
48
+ if (handler.cpu === void 0 || handler.ram === void 0) return;
49
+ const expectedCpu = getProportionalCpu(handler.ram);
50
+ if (Math.abs(handler.cpu - expectedCpu) > .1) ctx.addIssue({
51
+ code: z.ZodIssueCode.custom,
52
+ path: ["handler", "cpu"],
53
+ message: `CPU (${handler.cpu} vCPU) is not proportional to RAM (${handler.ram} MB). Expected approximately ${expectedCpu.toFixed(2)} vCPU`
54
+ });
55
+ });
56
+ const queueSchema = z.object({
57
+ type: z.enum(["standard", "fifo"]),
58
+ visibilityTimeout: z.number(),
59
+ maxRetries: z.number().min(0, "maxRetries cannot be negative"),
60
+ delaySeconds: z.number().min(0, "delaySeconds cannot be negative").max(900, "delaySeconds cannot exceed 900 seconds (15 minutes)").optional()
61
+ });
62
+ const infrastructureSchema = z.object({
63
+ handler: handlerSchema.optional(),
64
+ queue: queueSchema.partial().optional()
65
+ }).superRefine((config, ctx) => {
66
+ if (config.queue?.visibilityTimeout !== void 0 && config.handler?.timeout !== void 0) {
67
+ if (config.queue.visibilityTimeout <= config.handler.timeout) ctx.addIssue({
68
+ code: z.ZodIssueCode.custom,
69
+ path: ["queue", "visibilityTimeout"],
70
+ message: `Visibility timeout (${config.queue.visibilityTimeout}s) must be greater than handler timeout (${config.handler.timeout}s) to prevent premature message redelivery`
71
+ });
72
+ }
73
+ });
74
+
75
+ //#endregion
76
+ export { AWS_LAMBDA_CPU_RATIO, AWS_LAMBDA_LIMITS, getProportionalCpu, handlerBaseSchema, handlerSchema, infrastructureSchema, queueSchema };
77
+ //# sourceMappingURL=schemas.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.mjs","names":["AWS_LAMBDA_CPU_RATIO: Record<number, number>"],"sources":["../../../src/infrastructure-validator/schemas.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const AWS_LAMBDA_LIMITS = {\n MIN_RAM_MB: 128,\n MAX_RAM_MB: 10240,\n MIN_TIMEOUT_SECONDS: 1,\n MAX_TIMEOUT_SECONDS: 900,\n} as const\n\nexport const AWS_LAMBDA_CPU_RATIO: Record<number, number> = {\n 128: 0.0625,\n 256: 0.125,\n 512: 0.25,\n 1024: 0.5,\n 1536: 0.75,\n 2048: 1,\n 3008: 1.5,\n 4096: 2,\n 5120: 2.5,\n 6144: 3,\n 7168: 3.5,\n 8192: 4,\n 9216: 4.5,\n 10240: 5,\n}\n\nexport function getProportionalCpu(ramMb: number): number {\n const ramValues = Object.keys(AWS_LAMBDA_CPU_RATIO)\n .map(Number)\n .sort((a, b) => a - b)\n\n const exact = AWS_LAMBDA_CPU_RATIO[ramMb]\n if (exact !== undefined) {\n return exact\n }\n\n for (let i = 0; i < ramValues.length - 1; i++) {\n const lower = ramValues[i]\n const upper = ramValues[i + 1]\n\n if (ramMb > lower && ramMb < upper) {\n const lowerCpu = AWS_LAMBDA_CPU_RATIO[lower]\n const upperCpu = AWS_LAMBDA_CPU_RATIO[upper]\n const ratio = (ramMb - lower) / (upper - lower)\n return lowerCpu + (upperCpu - lowerCpu) * ratio\n }\n }\n\n return ramMb <= ramValues[0]\n ? AWS_LAMBDA_CPU_RATIO[ramValues[0]]\n : AWS_LAMBDA_CPU_RATIO[ramValues[ramValues.length - 1]]\n}\n\nexport const handlerBaseSchema = z.object({\n ram: z\n .number()\n .min(AWS_LAMBDA_LIMITS.MIN_RAM_MB, `RAM must be at least ${AWS_LAMBDA_LIMITS.MIN_RAM_MB} MB`)\n .max(AWS_LAMBDA_LIMITS.MAX_RAM_MB, `RAM cannot exceed ${AWS_LAMBDA_LIMITS.MAX_RAM_MB} MB`),\n timeout: z\n .number()\n .min(AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS, `Timeout must be at least ${AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS}s`)\n .max(AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS, `Timeout cannot exceed ${AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS}s`),\n cpu: z.number().optional(),\n})\n\nexport const handlerSchema = handlerBaseSchema.partial().superRefine((handler, ctx) => {\n if (handler.cpu === undefined || handler.ram === undefined) {\n return\n }\n\n const expectedCpu = getProportionalCpu(handler.ram)\n const tolerance = 0.1\n\n if (Math.abs(handler.cpu - expectedCpu) > tolerance) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['handler', 'cpu'],\n message: `CPU (${handler.cpu} vCPU) is not proportional to RAM (${handler.ram} MB). Expected approximately ${expectedCpu.toFixed(2)} vCPU`,\n })\n }\n})\n\nexport const queueSchema = z.object({\n type: z.enum(['standard', 'fifo']),\n visibilityTimeout: z.number(),\n maxRetries: z.number().min(0, 'maxRetries cannot be negative'),\n delaySeconds: z\n .number()\n .min(0, 'delaySeconds cannot be negative')\n .max(900, 'delaySeconds cannot exceed 900 seconds (15 minutes)')\n .optional(),\n})\n\nexport const infrastructureSchema = z\n .object({\n handler: handlerSchema.optional(),\n queue: queueSchema.partial().optional(),\n })\n .superRefine((config, ctx) => {\n if (config.queue?.visibilityTimeout !== undefined && config.handler?.timeout !== undefined) {\n if (config.queue.visibilityTimeout <= config.handler.timeout) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['queue', 'visibilityTimeout'],\n message: `Visibility timeout (${config.queue.visibilityTimeout}s) must be greater than handler timeout (${config.handler.timeout}s) to prevent premature message redelivery`,\n })\n }\n }\n })\n"],"mappings":";;;AAEA,MAAa,oBAAoB;CAC/B,YAAY;CACZ,YAAY;CACZ,qBAAqB;CACrB,qBAAqB;CACtB;AAED,MAAaA,uBAA+C;CAC1D,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,OAAO;CACR;AAED,SAAgB,mBAAmB,OAAuB;CACxD,MAAM,YAAY,OAAO,KAAK,qBAAqB,CAChD,IAAI,OAAO,CACX,MAAM,GAAG,MAAM,IAAI,EAAE;CAExB,MAAM,QAAQ,qBAAqB;AACnC,KAAI,UAAU,OACZ,QAAO;AAGT,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,SAAS,GAAG,KAAK;EAC7C,MAAM,QAAQ,UAAU;EACxB,MAAM,QAAQ,UAAU,IAAI;AAE5B,MAAI,QAAQ,SAAS,QAAQ,OAAO;GAClC,MAAM,WAAW,qBAAqB;GACtC,MAAM,WAAW,qBAAqB;GACtC,MAAM,SAAS,QAAQ,UAAU,QAAQ;AACzC,UAAO,YAAY,WAAW,YAAY;;;AAI9C,QAAO,SAAS,UAAU,KACtB,qBAAqB,UAAU,MAC/B,qBAAqB,UAAU,UAAU,SAAS;;AAGxD,MAAa,oBAAoB,EAAE,OAAO;CACxC,KAAK,EACF,QAAQ,CACR,IAAI,kBAAkB,YAAY,wBAAwB,kBAAkB,WAAW,KAAK,CAC5F,IAAI,kBAAkB,YAAY,qBAAqB,kBAAkB,WAAW,KAAK;CAC5F,SAAS,EACN,QAAQ,CACR,IAAI,kBAAkB,qBAAqB,4BAA4B,kBAAkB,oBAAoB,GAAG,CAChH,IAAI,kBAAkB,qBAAqB,yBAAyB,kBAAkB,oBAAoB,GAAG;CAChH,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC3B,CAAC;AAEF,MAAa,gBAAgB,kBAAkB,SAAS,CAAC,aAAa,SAAS,QAAQ;AACrF,KAAI,QAAQ,QAAQ,UAAa,QAAQ,QAAQ,OAC/C;CAGF,MAAM,cAAc,mBAAmB,QAAQ,IAAI;AAGnD,KAAI,KAAK,IAAI,QAAQ,MAAM,YAAY,GAFrB,GAGhB,KAAI,SAAS;EACX,MAAM,EAAE,aAAa;EACrB,MAAM,CAAC,WAAW,MAAM;EACxB,SAAS,QAAQ,QAAQ,IAAI,qCAAqC,QAAQ,IAAI,+BAA+B,YAAY,QAAQ,EAAE,CAAC;EACrI,CAAC;EAEJ;AAEF,MAAa,cAAc,EAAE,OAAO;CAClC,MAAM,EAAE,KAAK,CAAC,YAAY,OAAO,CAAC;CAClC,mBAAmB,EAAE,QAAQ;CAC7B,YAAY,EAAE,QAAQ,CAAC,IAAI,GAAG,gCAAgC;CAC9D,cAAc,EACX,QAAQ,CACR,IAAI,GAAG,kCAAkC,CACzC,IAAI,KAAK,sDAAsD,CAC/D,UAAU;CACd,CAAC;AAEF,MAAa,uBAAuB,EACjC,OAAO;CACN,SAAS,cAAc,UAAU;CACjC,OAAO,YAAY,SAAS,CAAC,UAAU;CACxC,CAAC,CACD,aAAa,QAAQ,QAAQ;AAC5B,KAAI,OAAO,OAAO,sBAAsB,UAAa,OAAO,SAAS,YAAY,QAC/E;MAAI,OAAO,MAAM,qBAAqB,OAAO,QAAQ,QACnD,KAAI,SAAS;GACX,MAAM,EAAE,aAAa;GACrB,MAAM,CAAC,SAAS,oBAAoB;GACpC,SAAS,uBAAuB,OAAO,MAAM,kBAAkB,2CAA2C,OAAO,QAAQ,QAAQ;GAClI,CAAC;;EAGN"}
@@ -0,0 +1,14 @@
1
+ //#region src/infrastructure-validator/types.d.ts
2
+ type InfrastructureValidationError = {
3
+ path: string;
4
+ message: string;
5
+ };
6
+ type InfrastructureValidationResult = {
7
+ success: true;
8
+ } | {
9
+ success: false;
10
+ errors?: InfrastructureValidationError[];
11
+ };
12
+ //#endregion
13
+ export { InfrastructureValidationError, InfrastructureValidationResult };
14
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/infrastructure-validator/types.ts"],"sourcesContent":[],"mappings":";KAAY,6BAAA;EAAA,IAAA,EAAA,MAAA;EAKA,OAAA,EAAA,MAAA;;KAAA,8BAAA;;;;WAMG"}
@@ -0,0 +1,7 @@
1
+ import { InfrastructureValidationResult } from "./types.mjs";
2
+
3
+ //#region src/infrastructure-validator/validations.d.ts
4
+ declare const validateInfrastructureConfig: (infrastructureConfig: unknown) => InfrastructureValidationResult;
5
+ //#endregion
6
+ export { validateInfrastructureConfig };
7
+ //# sourceMappingURL=validations.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.d.mts","names":[],"sources":["../../../src/infrastructure-validator/validations.ts"],"sourcesContent":[],"mappings":";;;cAuCa,iEAAgE"}
@@ -0,0 +1,29 @@
1
+ import { infrastructureSchema } from "./schemas.mjs";
2
+ import { z } from "zod";
3
+
4
+ //#region src/infrastructure-validator/validations.ts
5
+ const validateInfrastructureConfig = (infrastructureConfig) => {
6
+ try {
7
+ infrastructureSchema.parse(infrastructureConfig);
8
+ return { success: true };
9
+ } catch (error) {
10
+ if (error instanceof z.ZodError) return {
11
+ success: false,
12
+ errors: error.issues.map((err) => ({
13
+ path: err.path.length > 0 ? err.path.join(".") : "infrastructure",
14
+ message: err.message
15
+ }))
16
+ };
17
+ return {
18
+ success: false,
19
+ errors: [{
20
+ path: "infrastructure",
21
+ message: `Unexpected validation error: ${error instanceof Error ? error.message : "Unknown error"}`
22
+ }]
23
+ };
24
+ }
25
+ };
26
+
27
+ //#endregion
28
+ export { validateInfrastructureConfig };
29
+ //# sourceMappingURL=validations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.mjs","names":[],"sources":["../../../src/infrastructure-validator/validations.ts"],"sourcesContent":["import { z } from 'zod'\nimport { infrastructureSchema, queueSchema } from './schemas'\nimport type {\n InfrastructureValidationError,\n InfrastructureValidationResult,\n QueueValidationError,\n QueueValidationResult,\n} from './types'\n\nexport const validateQueueConfig = (queueConfig: unknown): QueueValidationResult => {\n try {\n const schema = queueSchema\n schema.parse(queueConfig)\n\n return { success: true }\n } catch (error) {\n if (error instanceof z.ZodError) {\n const errors: QueueValidationError[] = error.issues.map((err) => ({\n path: err.path.length > 0 ? err.path.join('.') : 'queue',\n message: err.message,\n }))\n\n return {\n success: false,\n errors,\n }\n }\n\n return {\n success: false,\n errors: [\n {\n path: 'queue',\n message: `Unexpected validation error: ${error instanceof Error ? error.message : 'Unknown error'}`,\n },\n ],\n }\n }\n}\nexport const validateInfrastructureConfig = (infrastructureConfig: unknown): InfrastructureValidationResult => {\n try {\n infrastructureSchema.parse(infrastructureConfig)\n\n return { success: true }\n } catch (error) {\n if (error instanceof z.ZodError) {\n const errors: InfrastructureValidationError[] = error.issues.map((err) => ({\n path: err.path.length > 0 ? err.path.join('.') : 'infrastructure',\n message: err.message,\n }))\n\n return {\n success: false,\n errors,\n }\n }\n\n return {\n success: false,\n errors: [\n {\n path: 'infrastructure',\n message: `Unexpected validation error: ${error instanceof Error ? error.message : 'Unknown error'}`,\n },\n ],\n }\n }\n}\n"],"mappings":";;;;AAuCA,MAAa,gCAAgC,yBAAkE;AAC7G,KAAI;AACF,uBAAqB,MAAM,qBAAqB;AAEhD,SAAO,EAAE,SAAS,MAAM;UACjB,OAAO;AACd,MAAI,iBAAiB,EAAE,SAMrB,QAAO;GACL,SAAS;GACT,QAP8C,MAAM,OAAO,KAAK,SAAS;IACzE,MAAM,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG;IACjD,SAAS,IAAI;IACd,EAAE;GAKF;AAGH,SAAO;GACL,SAAS;GACT,QAAQ,CACN;IACE,MAAM;IACN,SAAS,gCAAgC,iBAAiB,QAAQ,MAAM,UAAU;IACnF,CACF;GACF"}
@@ -0,0 +1,55 @@
1
+ import path from "path";
2
+ import { createRequire } from "module";
3
+ import { fileURLToPath } from "url";
4
+
5
+ //#region src/language-runner.ts
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
+ const require = createRequire(import.meta.url);
8
+ const getTsxPath = () => {
9
+ try {
10
+ const tsxModule = require.resolve("tsx/package.json");
11
+ return path.join(path.dirname(tsxModule), "dist", "cli.mjs");
12
+ } catch {
13
+ return "tsx";
14
+ }
15
+ };
16
+ const getLanguageBasedRunner = (stepFilePath = "", overrides) => {
17
+ const isPython = stepFilePath.endsWith(".py");
18
+ const isRuby = stepFilePath.endsWith(".rb");
19
+ const isNode = stepFilePath.endsWith(".js") || stepFilePath.endsWith(".ts");
20
+ if (isPython) return {
21
+ runner: path.join(__dirname, "python", overrides?.python ?? "python-runner.py"),
22
+ command: "python",
23
+ args: []
24
+ };
25
+ else if (isRuby) return {
26
+ runner: path.join(__dirname, "ruby", overrides?.ruby ?? "ruby-runner.rb"),
27
+ command: "ruby",
28
+ args: []
29
+ };
30
+ else if (isNode) {
31
+ const defaultNodeOverrides = overrides?.node;
32
+ if (process.env._MOTIA_TEST_MODE === "true") {
33
+ const runnerFile = defaultNodeOverrides?.ts ?? "node-runner.ts";
34
+ return {
35
+ runner: path.join(__dirname, "node", runnerFile),
36
+ command: "node",
37
+ args: [
38
+ "--loader",
39
+ "ts-node/esm",
40
+ "--no-warnings=ExperimentalWarning"
41
+ ]
42
+ };
43
+ }
44
+ return {
45
+ runner: path.join(__dirname, "node", defaultNodeOverrides?.js ?? "node-runner.mjs"),
46
+ command: getTsxPath(),
47
+ args: []
48
+ };
49
+ }
50
+ throw Error(`Unsupported file extension ${stepFilePath}`);
51
+ };
52
+
53
+ //#endregion
54
+ export { getLanguageBasedRunner };
55
+ //# sourceMappingURL=language-runner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-runner.mjs","names":[],"sources":["../../src/language-runner.ts"],"sourcesContent":["import { createRequire } from 'module'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nexport type LanguageRunnerConfig = {\n command: string\n runner: string\n args: string[]\n}\n\nexport type LanguageRunnerOverrides = {\n python?: string\n ruby?: string\n node?: {\n js: string\n ts?: string\n }\n}\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\nconst require = createRequire(import.meta.url)\n\nconst getTsxPath = () => {\n try {\n const tsxModule = require.resolve('tsx/package.json')\n return path.join(path.dirname(tsxModule), 'dist', 'cli.mjs')\n } catch {\n return 'tsx'\n }\n}\n\nexport const getLanguageBasedRunner = (\n stepFilePath = '',\n overrides?: LanguageRunnerOverrides,\n): LanguageRunnerConfig => {\n const isPython = stepFilePath.endsWith('.py')\n const isRuby = stepFilePath.endsWith('.rb')\n const isNode = stepFilePath.endsWith('.js') || stepFilePath.endsWith('.ts')\n\n if (isPython) {\n const pythonRunner = path.join(__dirname, 'python', overrides?.python ?? 'python-runner.py')\n return { runner: pythonRunner, command: 'python', args: [] }\n } else if (isRuby) {\n const rubyRunner = path.join(__dirname, 'ruby', overrides?.ruby ?? 'ruby-runner.rb')\n return { runner: rubyRunner, command: 'ruby', args: [] }\n } else if (isNode) {\n const defaultNodeOverrides = overrides?.node\n\n if (process.env._MOTIA_TEST_MODE === 'true') {\n const runnerFile = defaultNodeOverrides?.ts ?? 'node-runner.ts'\n return {\n runner: path.join(__dirname, 'node', runnerFile),\n command: 'node',\n args: ['--loader', 'ts-node/esm', '--no-warnings=ExperimentalWarning'],\n }\n }\n const jsRunner = path.join(__dirname, 'node', defaultNodeOverrides?.js ?? 'node-runner.mjs')\n\n const tsxPath = getTsxPath()\n return { runner: jsRunner, command: tsxPath, args: [] }\n }\n\n throw Error(`Unsupported file extension ${stepFilePath}`)\n}\n"],"mappings":";;;;;AAmBA,MAAM,YAAY,KAAK,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAC9D,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;AAE9C,MAAM,mBAAmB;AACvB,KAAI;EACF,MAAM,YAAY,QAAQ,QAAQ,mBAAmB;AACrD,SAAO,KAAK,KAAK,KAAK,QAAQ,UAAU,EAAE,QAAQ,UAAU;SACtD;AACN,SAAO;;;AAIX,MAAa,0BACX,eAAe,IACf,cACyB;CACzB,MAAM,WAAW,aAAa,SAAS,MAAM;CAC7C,MAAM,SAAS,aAAa,SAAS,MAAM;CAC3C,MAAM,SAAS,aAAa,SAAS,MAAM,IAAI,aAAa,SAAS,MAAM;AAE3E,KAAI,SAEF,QAAO;EAAE,QADY,KAAK,KAAK,WAAW,UAAU,WAAW,UAAU,mBAAmB;EAC7D,SAAS;EAAU,MAAM,EAAE;EAAE;UACnD,OAET,QAAO;EAAE,QADU,KAAK,KAAK,WAAW,QAAQ,WAAW,QAAQ,iBAAiB;EACvD,SAAS;EAAQ,MAAM,EAAE;EAAE;UAC/C,QAAQ;EACjB,MAAM,uBAAuB,WAAW;AAExC,MAAI,QAAQ,IAAI,qBAAqB,QAAQ;GAC3C,MAAM,aAAa,sBAAsB,MAAM;AAC/C,UAAO;IACL,QAAQ,KAAK,KAAK,WAAW,QAAQ,WAAW;IAChD,SAAS;IACT,MAAM;KAAC;KAAY;KAAe;KAAoC;IACvE;;AAKH,SAAO;GAAE,QAHQ,KAAK,KAAK,WAAW,QAAQ,sBAAsB,MAAM,kBAAkB;GAGjE,SADX,YAAY;GACiB,MAAM,EAAE;GAAE;;AAGzD,OAAM,MAAM,8BAA8B,eAAe"}
@@ -0,0 +1,81 @@
1
+ import { JsonSchema } from "./types/schema.types.mjs";
2
+ import { StreamFactory } from "./streams/stream-factory.mjs";
3
+ import { Stream } from "./types-stream.mjs";
4
+ import { StreamAdapterManager } from "./adapters/interfaces/stream-adapter-manager.interface.mjs";
5
+ import { Printer } from "./printer.mjs";
6
+ import { StreamAuthConfig } from "./types/app-config-types.mjs";
7
+ import { ApiRouteConfig, CronConfig, EventConfig, Flow, Step } from "./types.mjs";
8
+ import { RedisClientType } from "redis";
9
+
10
+ //#region src/locked-data.d.ts
11
+ type FlowEvent = 'flow-created' | 'flow-removed' | 'flow-updated';
12
+ type StepEvent = 'step-created' | 'step-removed' | 'step-updated';
13
+ type StreamEvent = 'stream-created' | 'stream-removed' | 'stream-updated';
14
+ type StreamWrapper<TData> = (streamName: string, factory: StreamFactory<TData>) => StreamFactory<TData>;
15
+ declare class LockedData {
16
+ readonly baseDir: string;
17
+ readonly streamAdapter: StreamAdapterManager;
18
+ private readonly printer;
19
+ readonly redisClient: RedisClientType;
20
+ flows: Record<string, Flow>;
21
+ activeSteps: Step[];
22
+ devSteps: Step[];
23
+ private stepsMap;
24
+ private handlers;
25
+ private stepHandlers;
26
+ private streamHandlers;
27
+ private streams;
28
+ private streamWrapper?;
29
+ private streamAuthContextType?;
30
+ private streamAuthConfig?;
31
+ constructor(baseDir: string, streamAdapter: StreamAdapterManager, printer: Printer, redisClient: RedisClientType);
32
+ applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void;
33
+ setStreamAuthConfig(config?: {
34
+ authenticate: StreamAuthConfig['authenticate'];
35
+ contextSchema?: JsonSchema;
36
+ }): void;
37
+ getStreamAuthConfig(): {
38
+ authenticate: StreamAuthConfig["authenticate"];
39
+ } | undefined;
40
+ saveTypes(): void;
41
+ on(event: FlowEvent, handler: (flowName: string) => void): void;
42
+ onStep(event: StepEvent, handler: (step: Step) => void): void;
43
+ onStream(event: StreamEvent, handler: (stream: Stream) => void): void;
44
+ getActiveSteps(): Step[];
45
+ eventSteps(): Step<EventConfig>[];
46
+ apiSteps(): Step<ApiRouteConfig>[];
47
+ cronSteps(): Step<CronConfig>[];
48
+ pythonSteps(): Step[];
49
+ tsSteps(): Step[];
50
+ getStreams(): Record<string, StreamFactory<any>>;
51
+ listStreams(): Stream[];
52
+ getStreamByName(streamName: string): Stream | undefined;
53
+ findStream(path: string): Stream | undefined;
54
+ updateStep(oldStep: Step, newStep: Step, options?: {
55
+ disableTypeCreation?: boolean;
56
+ }): boolean;
57
+ createStep(step: Step, options?: {
58
+ disableTypeCreation?: boolean;
59
+ }): boolean;
60
+ deleteStep(step: Step, options?: {
61
+ disableTypeCreation?: boolean;
62
+ }): void;
63
+ private createFactoryWrapper;
64
+ createStream<TData>(baseStream: Omit<Stream, 'factory'>, options?: {
65
+ disableTypeCreation?: boolean;
66
+ }): StreamFactory<TData>;
67
+ deleteStream(stream: Stream, options?: {
68
+ disableTypeCreation?: boolean;
69
+ }): void;
70
+ updateStream(oldStream: Stream, stream: Stream, options?: {
71
+ disableTypeCreation?: boolean;
72
+ }): void;
73
+ private createFlow;
74
+ private removeFlow;
75
+ private onFlowUpdated;
76
+ private isValidStep;
77
+ private createStreamAdapter;
78
+ }
79
+ //#endregion
80
+ export { LockedData };
81
+ //# sourceMappingURL=locked-data.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locked-data.d.mts","names":[],"sources":["../../src/locked-data.ts"],"sourcesContent":[],"mappings":"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"}