@motiadev/core 0.13.0-beta.162-850424 → 0.13.0-beta.162-717198

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 (523) hide show
  1. package/LICENSE +93 -21
  2. package/dist/index.d.ts +30 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +72 -0
  5. package/dist/jest.config.d.ts +8 -0
  6. package/dist/jest.config.d.ts.map +1 -0
  7. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +13 -0
  8. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +1 -0
  9. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +53 -0
  10. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +15 -0
  11. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +1 -0
  12. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +49 -0
  13. package/dist/src/adapters/defaults/index.d.ts +9 -0
  14. package/dist/src/adapters/defaults/index.d.ts.map +1 -0
  15. package/dist/src/adapters/defaults/index.js +19 -0
  16. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +23 -0
  17. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +1 -0
  18. package/dist/src/adapters/defaults/state/file-state-adapter.js +149 -0
  19. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +16 -0
  20. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +1 -0
  21. package/dist/src/adapters/defaults/state/memory-state-adapter.js +69 -0
  22. package/dist/src/adapters/defaults/state/utils.d.ts +4 -0
  23. package/dist/src/adapters/defaults/state/utils.d.ts.map +1 -0
  24. package/dist/src/adapters/defaults/state/utils.js +66 -0
  25. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +9 -0
  26. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +1 -0
  27. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +14 -0
  28. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +22 -0
  29. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +1 -0
  30. package/dist/src/adapters/defaults/stream/file-stream-adapter.js +125 -0
  31. package/dist/src/adapters/defaults/stream/index.d.ts +5 -0
  32. package/dist/src/adapters/defaults/stream/index.d.ts.map +1 -0
  33. package/dist/src/adapters/defaults/stream/index.js +11 -0
  34. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +6 -0
  35. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +1 -0
  36. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +10 -0
  37. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +16 -0
  38. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +1 -0
  39. package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +55 -0
  40. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +29 -0
  41. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +1 -0
  42. package/dist/src/adapters/interfaces/cron-adapter.interface.js +2 -0
  43. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +15 -0
  44. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +1 -0
  45. package/dist/src/adapters/interfaces/event-adapter.interface.js +2 -0
  46. package/dist/src/adapters/interfaces/index.d.ts +7 -0
  47. package/dist/src/adapters/interfaces/index.d.ts.map +1 -0
  48. package/dist/src/adapters/interfaces/index.js +5 -0
  49. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +23 -0
  50. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +1 -0
  51. package/dist/src/adapters/interfaces/observability-adapter.interface.js +2 -0
  52. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +24 -0
  53. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +1 -0
  54. package/dist/src/adapters/interfaces/state-adapter.interface.js +2 -0
  55. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +6 -0
  56. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +1 -0
  57. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +2 -0
  58. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +22 -0
  59. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +1 -0
  60. package/dist/src/adapters/interfaces/stream-adapter.interface.js +16 -0
  61. package/dist/src/analytics/utils.d.ts +6 -0
  62. package/dist/src/analytics/utils.d.ts.map +1 -0
  63. package/dist/src/analytics/utils.js +51 -0
  64. package/dist/src/call-step-file.d.ts +16 -0
  65. package/dist/src/call-step-file.d.ts.map +1 -0
  66. package/dist/src/call-step-file.js +198 -0
  67. package/dist/src/config.d.ts +3 -0
  68. package/dist/src/config.d.ts.map +1 -0
  69. package/dist/src/config.js +5 -0
  70. package/dist/src/config.types.d.ts +17 -0
  71. package/dist/src/config.types.d.ts.map +1 -0
  72. package/dist/src/config.types.js +2 -0
  73. package/dist/src/cron-handler.d.ts +14 -0
  74. package/dist/src/cron-handler.d.ts.map +1 -0
  75. package/dist/src/cron-handler.js +132 -0
  76. package/dist/src/endpoints/analytics-endpoint.d.ts +3 -0
  77. package/dist/src/endpoints/analytics-endpoint.d.ts.map +1 -0
  78. package/dist/src/endpoints/analytics-endpoint.js +28 -0
  79. package/dist/src/endpoints/flows-config-endpoint.d.ts +4 -0
  80. package/dist/src/endpoints/flows-config-endpoint.d.ts.map +1 -0
  81. package/dist/src/endpoints/flows-config-endpoint.js +34 -0
  82. package/dist/src/endpoints/flows-endpoint.d.ts +3 -0
  83. package/dist/src/endpoints/flows-endpoint.d.ts.map +1 -0
  84. package/dist/src/endpoints/flows-endpoint.js +29 -0
  85. package/dist/src/endpoints/step-endpoint.d.ts +4 -0
  86. package/dist/src/endpoints/step-endpoint.d.ts.map +1 -0
  87. package/dist/src/endpoints/step-endpoint.js +45 -0
  88. package/dist/src/generate-trace-id.d.ts +3 -0
  89. package/dist/src/generate-trace-id.d.ts.map +1 -0
  90. package/dist/src/generate-trace-id.js +14 -0
  91. package/dist/src/get-step-config.d.ts +5 -0
  92. package/dist/src/get-step-config.d.ts.map +1 -0
  93. package/dist/src/get-step-config.js +68 -0
  94. package/dist/src/get-step-language.d.ts +2 -0
  95. package/dist/src/get-step-language.d.ts.map +1 -0
  96. package/dist/src/get-step-language.js +27 -0
  97. package/dist/src/guards.d.ts +6 -0
  98. package/dist/src/guards.d.ts.map +1 -0
  99. package/dist/src/guards.js +11 -0
  100. package/dist/src/helper/flows-helper.d.ts +6 -0
  101. package/dist/src/helper/flows-helper.d.ts.map +1 -0
  102. package/dist/src/helper/flows-helper.js +143 -0
  103. package/dist/src/infrastructure-validator/defaults.d.ts +4 -0
  104. package/dist/src/infrastructure-validator/defaults.d.ts.map +1 -0
  105. package/dist/src/infrastructure-validator/defaults.js +16 -0
  106. package/dist/src/infrastructure-validator/index.d.ts +4 -0
  107. package/dist/src/infrastructure-validator/index.d.ts.map +1 -0
  108. package/dist/src/infrastructure-validator/index.js +13 -0
  109. package/dist/src/infrastructure-validator/schemas.d.ts +45 -0
  110. package/dist/src/infrastructure-validator/schemas.d.ts.map +1 -0
  111. package/dist/src/infrastructure-validator/schemas.js +100 -0
  112. package/dist/src/infrastructure-validator/types.d.ts +21 -0
  113. package/dist/src/infrastructure-validator/types.d.ts.map +1 -0
  114. package/dist/src/infrastructure-validator/types.js +2 -0
  115. package/dist/src/infrastructure-validator/validations.d.ts +4 -0
  116. package/dist/src/infrastructure-validator/validations.d.ts.map +1 -0
  117. package/dist/src/infrastructure-validator/validations.js +62 -0
  118. package/dist/src/language-runner.d.ts +15 -0
  119. package/dist/src/language-runner.d.ts.map +1 -0
  120. package/dist/src/language-runner.js +31 -0
  121. package/dist/src/locked-data.d.ts +78 -0
  122. package/dist/src/locked-data.d.ts.map +1 -0
  123. package/dist/src/locked-data.js +284 -0
  124. package/dist/src/logger-factory.d.ts +19 -0
  125. package/dist/src/logger-factory.d.ts.map +1 -0
  126. package/dist/src/logger-factory.js +27 -0
  127. package/dist/src/logger.d.ts +26 -0
  128. package/dist/src/logger.d.ts.map +1 -0
  129. package/dist/src/logger.js +60 -0
  130. package/dist/src/mermaid-generator.d.ts +5 -0
  131. package/dist/src/mermaid-generator.d.ts.map +1 -0
  132. package/dist/src/mermaid-generator.js +203 -0
  133. package/dist/src/motia.d.ts +33 -0
  134. package/dist/src/motia.d.ts.map +1 -0
  135. package/dist/src/motia.js +4 -0
  136. package/dist/src/node/can-access.d.ts +2 -0
  137. package/dist/src/node/can-access.d.ts.map +1 -0
  138. package/dist/src/node/can-access.js +44 -0
  139. package/dist/src/node/get-config.d.ts +2 -0
  140. package/dist/src/node/get-config.d.ts.map +1 -0
  141. package/dist/src/node/get-config.js +64 -0
  142. package/dist/src/node/logger.d.ts +16 -0
  143. package/dist/src/node/logger.d.ts.map +1 -0
  144. package/dist/src/node/logger.js +48 -0
  145. package/dist/src/node/middleware-compose.d.ts +2 -0
  146. package/dist/src/node/middleware-compose.d.ts.map +1 -0
  147. package/dist/src/node/middleware-compose.js +10 -0
  148. package/dist/src/node/node-runner.d.ts +2 -0
  149. package/dist/src/node/node-runner.d.ts.map +1 -0
  150. package/dist/src/node/node-runner.js +83 -0
  151. package/dist/src/node/rpc-state-manager.d.ts +12 -0
  152. package/dist/src/node/rpc-state-manager.d.ts.map +1 -0
  153. package/dist/src/node/rpc-state-manager.js +24 -0
  154. package/dist/src/node/rpc.d.ts +10 -0
  155. package/dist/src/node/rpc.d.ts.map +1 -0
  156. package/dist/src/node/rpc.js +50 -0
  157. package/dist/src/observability/create-trace.d.ts +4 -0
  158. package/dist/src/observability/create-trace.d.ts.map +1 -0
  159. package/dist/src/observability/create-trace.js +22 -0
  160. package/dist/src/observability/index.d.ts +4 -0
  161. package/dist/src/observability/index.d.ts.map +1 -0
  162. package/dist/src/observability/index.js +2 -0
  163. package/dist/src/observability/no-tracer.d.ts +10 -0
  164. package/dist/src/observability/no-tracer.d.ts.map +1 -0
  165. package/dist/src/observability/no-tracer.js +22 -0
  166. package/dist/src/observability/redis-trace-stream-adapter.d.ts +17 -0
  167. package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +1 -0
  168. package/dist/src/observability/redis-trace-stream-adapter.js +65 -0
  169. package/dist/src/observability/stream-tracer.d.ts +23 -0
  170. package/dist/src/observability/stream-tracer.d.ts.map +1 -0
  171. package/dist/src/observability/stream-tracer.js +114 -0
  172. package/dist/src/observability/trace-manager.d.ts +14 -0
  173. package/dist/src/observability/trace-manager.d.ts.map +1 -0
  174. package/dist/src/observability/trace-manager.js +26 -0
  175. package/dist/src/observability/tracer.d.ts +19 -0
  176. package/dist/src/observability/tracer.d.ts.map +1 -0
  177. package/dist/src/observability/tracer.js +98 -0
  178. package/dist/src/observability/types.d.ts +75 -0
  179. package/dist/src/observability/types.d.ts.map +1 -0
  180. package/dist/src/observability/types.js +2 -0
  181. package/dist/src/pretty-print.d.ts +2 -0
  182. package/dist/src/pretty-print.d.ts.map +1 -0
  183. package/dist/src/pretty-print.js +63 -0
  184. package/dist/src/printer.d.ts +61 -0
  185. package/dist/src/printer.d.ts.map +1 -0
  186. package/dist/src/printer.js +164 -0
  187. package/dist/src/process-communication/communication-config.d.ts +8 -0
  188. package/dist/src/process-communication/communication-config.d.ts.map +1 -0
  189. package/dist/src/process-communication/communication-config.js +18 -0
  190. package/dist/src/process-communication/process-manager.d.ts +32 -0
  191. package/dist/src/process-communication/process-manager.d.ts.map +1 -0
  192. package/dist/src/process-communication/process-manager.js +88 -0
  193. package/dist/src/process-communication/rpc-processor-interface.d.ts +10 -0
  194. package/dist/src/process-communication/rpc-processor-interface.d.ts.map +1 -0
  195. package/dist/src/process-communication/rpc-processor-interface.js +2 -0
  196. package/dist/src/queue-manager.d.ts +42 -0
  197. package/dist/src/queue-manager.d.ts.map +1 -0
  198. package/dist/src/queue-manager.js +252 -0
  199. package/dist/src/ruby/get-ruby-config.d.ts +3 -0
  200. package/dist/src/ruby/get-ruby-config.d.ts.map +1 -0
  201. package/dist/src/ruby/get-ruby-config.js +34 -0
  202. package/dist/src/run-stream-can-access.d.ts +10 -0
  203. package/dist/src/run-stream-can-access.d.ts.map +1 -0
  204. package/dist/src/run-stream-can-access.js +59 -0
  205. package/dist/src/schema-utils.d.ts +9 -0
  206. package/dist/src/schema-utils.d.ts.map +1 -0
  207. package/dist/src/schema-utils.js +80 -0
  208. package/dist/src/server.d.ts +37 -0
  209. package/dist/src/server.d.ts.map +1 -0
  210. package/dist/src/server.js +321 -0
  211. package/dist/src/socket-server/helpers.d.ts +53 -0
  212. package/dist/src/socket-server/helpers.d.ts.map +1 -0
  213. package/dist/src/socket-server/helpers.js +28 -0
  214. package/dist/src/socket-server.d.ts +21 -0
  215. package/dist/src/socket-server.d.ts.map +1 -0
  216. package/dist/src/socket-server.js +127 -0
  217. package/dist/src/state/create-state-adapter.d.ts +8 -0
  218. package/dist/src/state/create-state-adapter.d.ts.map +1 -0
  219. package/dist/src/state/create-state-adapter.js +8 -0
  220. package/dist/src/step-handler-rpc-processor.d.ts +22 -0
  221. package/dist/src/step-handler-rpc-processor.d.ts.map +1 -0
  222. package/dist/src/step-handler-rpc-processor.js +63 -0
  223. package/dist/src/step-handler-rpc-stdin-processor.d.ts +23 -0
  224. package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +1 -0
  225. package/dist/src/step-handler-rpc-stdin-processor.js +83 -0
  226. package/dist/src/step-handlers.d.ts +9 -0
  227. package/dist/src/step-handlers.d.ts.map +1 -0
  228. package/dist/src/step-handlers.js +77 -0
  229. package/dist/src/step-validator.d.ts +15 -0
  230. package/dist/src/step-validator.d.ts.map +1 -0
  231. package/dist/src/step-validator.js +135 -0
  232. package/dist/src/steps/emit.step.d.ts +12 -0
  233. package/dist/src/steps/emit.step.d.ts.map +1 -0
  234. package/dist/src/steps/emit.step.js +27 -0
  235. package/dist/src/steps/index.d.ts +3 -0
  236. package/dist/src/steps/index.d.ts.map +1 -0
  237. package/dist/src/steps/index.js +16 -0
  238. package/dist/src/streams/flows-config-stream.d.ts +14 -0
  239. package/dist/src/streams/flows-config-stream.d.ts.map +1 -0
  240. package/dist/src/streams/flows-config-stream.js +49 -0
  241. package/dist/src/streams/flows-stream.d.ts +12 -0
  242. package/dist/src/streams/flows-stream.d.ts.map +1 -0
  243. package/dist/src/streams/flows-stream.js +35 -0
  244. package/dist/src/streams/redis-logs-stream.d.ts +31 -0
  245. package/dist/src/streams/redis-logs-stream.d.ts.map +1 -0
  246. package/dist/src/streams/redis-logs-stream.js +84 -0
  247. package/dist/src/streams/stream-factory.d.ts +3 -0
  248. package/dist/src/streams/stream-factory.d.ts.map +1 -0
  249. package/dist/src/streams/stream-factory.js +2 -0
  250. package/dist/src/types/app-config-types.d.ts +45 -0
  251. package/dist/src/types/app-config-types.d.ts.map +1 -0
  252. package/dist/src/types/app-config-types.js +2 -0
  253. package/dist/src/types/flows-config-types.d.ts +10 -0
  254. package/dist/src/types/flows-config-types.d.ts.map +1 -0
  255. package/dist/src/types/flows-config-types.js +2 -0
  256. package/dist/src/types/flows-types.d.ts +39 -0
  257. package/dist/src/types/flows-types.d.ts.map +1 -0
  258. package/dist/src/types/flows-types.js +2 -0
  259. package/dist/src/types/generate-type-from-schema.d.ts +3 -0
  260. package/dist/src/types/generate-type-from-schema.d.ts.map +1 -0
  261. package/dist/src/types/generate-type-from-schema.js +49 -0
  262. package/dist/src/types/generate-types-from-response.d.ts +3 -0
  263. package/dist/src/types/generate-types-from-response.d.ts.map +1 -0
  264. package/dist/src/types/generate-types-from-response.js +13 -0
  265. package/dist/src/types/generate-types.d.ts +13 -0
  266. package/dist/src/types/generate-types.d.ts.map +1 -0
  267. package/dist/src/types/generate-types.js +127 -0
  268. package/dist/src/types/merge-schemas.d.ts +5 -0
  269. package/dist/src/types/merge-schemas.d.ts.map +1 -0
  270. package/dist/src/types/merge-schemas.js +183 -0
  271. package/dist/src/types/schema.types.d.ts +9 -0
  272. package/dist/src/types/schema.types.d.ts.map +1 -0
  273. package/dist/src/types/schema.types.js +14 -0
  274. package/dist/src/types-stream.d.ts +42 -0
  275. package/dist/src/types-stream.d.ts.map +1 -0
  276. package/dist/src/types-stream.js +2 -0
  277. package/dist/src/types.d.ts +184 -0
  278. package/dist/src/types.d.ts.map +1 -0
  279. package/dist/src/types.js +17 -0
  280. package/dist/src/utils.d.ts +3 -0
  281. package/dist/src/utils.d.ts.map +1 -0
  282. package/dist/src/utils.js +12 -0
  283. package/dist/src/validate-event-input.d.ts +3 -0
  284. package/dist/src/validate-event-input.d.ts.map +1 -0
  285. package/dist/src/validate-event-input.js +74 -0
  286. package/package.json +8 -20
  287. package/dist/index.d.mts +0 -38
  288. package/dist/index.mjs +0 -30
  289. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +0 -17
  290. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +0 -1
  291. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +0 -51
  292. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +0 -1
  293. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +0 -19
  294. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +0 -1
  295. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +0 -54
  296. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +0 -1
  297. package/dist/src/adapters/defaults/index.d.mts +0 -8
  298. package/dist/src/adapters/defaults/index.mjs +0 -10
  299. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +0 -27
  300. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +0 -1
  301. package/dist/src/adapters/defaults/state/file-state-adapter.mjs +0 -105
  302. package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +0 -1
  303. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +0 -20
  304. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +0 -1
  305. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +0 -58
  306. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +0 -1
  307. package/dist/src/adapters/defaults/state/utils.mjs +0 -40
  308. package/dist/src/adapters/defaults/state/utils.mjs.map +0 -1
  309. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +0 -13
  310. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +0 -1
  311. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +0 -16
  312. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +0 -1
  313. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +0 -24
  314. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +0 -1
  315. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +0 -84
  316. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +0 -1
  317. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +0 -10
  318. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +0 -1
  319. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +0 -12
  320. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +0 -1
  321. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +0 -20
  322. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +0 -1
  323. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +0 -58
  324. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +0 -1
  325. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +0 -32
  326. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +0 -1
  327. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +0 -19
  328. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +0 -1
  329. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +0 -27
  330. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +0 -1
  331. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +0 -28
  332. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +0 -1
  333. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +0 -10
  334. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +0 -1
  335. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +0 -26
  336. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +0 -1
  337. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +0 -17
  338. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +0 -1
  339. package/dist/src/analytics/utils.d.mts +0 -9
  340. package/dist/src/analytics/utils.d.mts.map +0 -1
  341. package/dist/src/analytics/utils.mjs +0 -35
  342. package/dist/src/analytics/utils.mjs.map +0 -1
  343. package/dist/src/call-step-file.mjs +0 -213
  344. package/dist/src/call-step-file.mjs.map +0 -1
  345. package/dist/src/config.d.mts +0 -7
  346. package/dist/src/config.d.mts.map +0 -1
  347. package/dist/src/config.mjs +0 -6
  348. package/dist/src/config.mjs.map +0 -1
  349. package/dist/src/cron-handler.d.mts +0 -18
  350. package/dist/src/cron-handler.d.mts.map +0 -1
  351. package/dist/src/cron-handler.mjs +0 -103
  352. package/dist/src/cron-handler.mjs.map +0 -1
  353. package/dist/src/endpoints/analytics-endpoint.mjs +0 -29
  354. package/dist/src/endpoints/analytics-endpoint.mjs.map +0 -1
  355. package/dist/src/endpoints/flows-config-endpoint.mjs +0 -38
  356. package/dist/src/endpoints/flows-config-endpoint.mjs.map +0 -1
  357. package/dist/src/endpoints/flows-endpoint.mjs +0 -39
  358. package/dist/src/endpoints/flows-endpoint.mjs.map +0 -1
  359. package/dist/src/endpoints/step-endpoint.mjs +0 -41
  360. package/dist/src/endpoints/step-endpoint.mjs.map +0 -1
  361. package/dist/src/generate-trace-id.mjs +0 -13
  362. package/dist/src/generate-trace-id.mjs.map +0 -1
  363. package/dist/src/get-step-config.d.mts +0 -9
  364. package/dist/src/get-step-config.d.mts.map +0 -1
  365. package/dist/src/get-step-config.mjs +0 -63
  366. package/dist/src/get-step-config.mjs.map +0 -1
  367. package/dist/src/get-step-language.mjs +0 -14
  368. package/dist/src/get-step-language.mjs.map +0 -1
  369. package/dist/src/guards.d.mts +0 -10
  370. package/dist/src/guards.d.mts.map +0 -1
  371. package/dist/src/guards.mjs +0 -9
  372. package/dist/src/guards.mjs.map +0 -1
  373. package/dist/src/helper/flows-helper.mjs +0 -126
  374. package/dist/src/helper/flows-helper.mjs.map +0 -1
  375. package/dist/src/infrastructure-validator/defaults.mjs +0 -17
  376. package/dist/src/infrastructure-validator/defaults.mjs.map +0 -1
  377. package/dist/src/infrastructure-validator/index.d.mts +0 -3
  378. package/dist/src/infrastructure-validator/index.mjs +0 -4
  379. package/dist/src/infrastructure-validator/schemas.d.mts +0 -1
  380. package/dist/src/infrastructure-validator/schemas.mjs +0 -77
  381. package/dist/src/infrastructure-validator/schemas.mjs.map +0 -1
  382. package/dist/src/infrastructure-validator/types.d.mts +0 -14
  383. package/dist/src/infrastructure-validator/types.d.mts.map +0 -1
  384. package/dist/src/infrastructure-validator/validations.d.mts +0 -7
  385. package/dist/src/infrastructure-validator/validations.d.mts.map +0 -1
  386. package/dist/src/infrastructure-validator/validations.mjs +0 -29
  387. package/dist/src/infrastructure-validator/validations.mjs.map +0 -1
  388. package/dist/src/language-runner.mjs +0 -44
  389. package/dist/src/language-runner.mjs.map +0 -1
  390. package/dist/src/locked-data.d.mts +0 -81
  391. package/dist/src/locked-data.d.mts.map +0 -1
  392. package/dist/src/locked-data.mjs +0 -223
  393. package/dist/src/locked-data.mjs.map +0 -1
  394. package/dist/src/logger-factory.d.mts +0 -16
  395. package/dist/src/logger-factory.d.mts.map +0 -1
  396. package/dist/src/logger-factory.mjs +0 -33
  397. package/dist/src/logger-factory.mjs.map +0 -1
  398. package/dist/src/logger.d.mts +0 -28
  399. package/dist/src/logger.d.mts.map +0 -1
  400. package/dist/src/logger.mjs +0 -64
  401. package/dist/src/logger.mjs.map +0 -1
  402. package/dist/src/mermaid-generator.d.mts +0 -9
  403. package/dist/src/mermaid-generator.d.mts.map +0 -1
  404. package/dist/src/mermaid-generator.mjs +0 -126
  405. package/dist/src/mermaid-generator.mjs.map +0 -1
  406. package/dist/src/motia.d.mts +0 -36
  407. package/dist/src/motia.d.mts.map +0 -1
  408. package/dist/src/motia.mjs +0 -6
  409. package/dist/src/motia.mjs.map +0 -1
  410. package/dist/src/node/can-access.d.mts +0 -1
  411. package/dist/src/node/can-access.mjs +0 -36
  412. package/dist/src/node/can-access.mjs.map +0 -1
  413. package/dist/src/node/get-config.d.mts +0 -1
  414. package/dist/src/node/get-config.mjs +0 -49
  415. package/dist/src/node/get-config.mjs.map +0 -1
  416. package/dist/src/node/logger.mjs +0 -47
  417. package/dist/src/node/logger.mjs.map +0 -1
  418. package/dist/src/node/middleware-compose.mjs +0 -10
  419. package/dist/src/node/middleware-compose.mjs.map +0 -1
  420. package/dist/src/node/node-runner.d.mts +0 -1
  421. package/dist/src/node/node-runner.mjs +0 -94
  422. package/dist/src/node/node-runner.mjs.map +0 -1
  423. package/dist/src/node/rpc-state-manager.mjs +0 -35
  424. package/dist/src/node/rpc-state-manager.mjs.map +0 -1
  425. package/dist/src/node/rpc.mjs +0 -55
  426. package/dist/src/node/rpc.mjs.map +0 -1
  427. package/dist/src/observability/create-trace.mjs +0 -26
  428. package/dist/src/observability/create-trace.mjs.map +0 -1
  429. package/dist/src/observability/index.d.mts +0 -7
  430. package/dist/src/observability/index.d.mts.map +0 -1
  431. package/dist/src/observability/no-tracer.d.mts +0 -15
  432. package/dist/src/observability/no-tracer.d.mts.map +0 -1
  433. package/dist/src/observability/no-tracer.mjs +0 -15
  434. package/dist/src/observability/no-tracer.mjs.map +0 -1
  435. package/dist/src/observability/redis-trace-stream-adapter.mjs +0 -76
  436. package/dist/src/observability/redis-trace-stream-adapter.mjs.map +0 -1
  437. package/dist/src/observability/stream-tracer.mjs +0 -87
  438. package/dist/src/observability/stream-tracer.mjs.map +0 -1
  439. package/dist/src/observability/trace-manager.mjs +0 -24
  440. package/dist/src/observability/trace-manager.mjs.map +0 -1
  441. package/dist/src/observability/tracer.mjs +0 -87
  442. package/dist/src/observability/tracer.mjs.map +0 -1
  443. package/dist/src/observability/types.d.mts +0 -14
  444. package/dist/src/observability/types.d.mts.map +0 -1
  445. package/dist/src/pretty-print.mjs +0 -50
  446. package/dist/src/pretty-print.mjs.map +0 -1
  447. package/dist/src/printer.d.mts +0 -65
  448. package/dist/src/printer.d.mts.map +0 -1
  449. package/dist/src/printer.mjs +0 -147
  450. package/dist/src/printer.mjs.map +0 -1
  451. package/dist/src/process-communication/communication-config.mjs +0 -26
  452. package/dist/src/process-communication/communication-config.mjs.map +0 -1
  453. package/dist/src/process-communication/process-manager.mjs +0 -67
  454. package/dist/src/process-communication/process-manager.mjs.map +0 -1
  455. package/dist/src/queue-manager.d.mts +0 -37
  456. package/dist/src/queue-manager.d.mts.map +0 -1
  457. package/dist/src/queue-manager.mjs +0 -209
  458. package/dist/src/queue-manager.mjs.map +0 -1
  459. package/dist/src/run-stream-can-access.mjs +0 -59
  460. package/dist/src/run-stream-can-access.mjs.map +0 -1
  461. package/dist/src/schema-utils.mjs +0 -30
  462. package/dist/src/schema-utils.mjs.map +0 -1
  463. package/dist/src/server.d.mts +0 -40
  464. package/dist/src/server.d.mts.map +0 -1
  465. package/dist/src/server.mjs +0 -332
  466. package/dist/src/server.mjs.map +0 -1
  467. package/dist/src/socket-server/helpers.mjs +0 -35
  468. package/dist/src/socket-server/helpers.mjs.map +0 -1
  469. package/dist/src/socket-server.mjs +0 -127
  470. package/dist/src/socket-server.mjs.map +0 -1
  471. package/dist/src/state/create-state-adapter.d.mts +0 -11
  472. package/dist/src/state/create-state-adapter.d.mts.map +0 -1
  473. package/dist/src/state/create-state-adapter.mjs +0 -11
  474. package/dist/src/state/create-state-adapter.mjs.map +0 -1
  475. package/dist/src/step-handler-rpc-processor.mjs +0 -56
  476. package/dist/src/step-handler-rpc-processor.mjs.map +0 -1
  477. package/dist/src/step-handler-rpc-stdin-processor.mjs +0 -71
  478. package/dist/src/step-handler-rpc-stdin-processor.mjs.map +0 -1
  479. package/dist/src/step-handlers.d.mts +0 -13
  480. package/dist/src/step-handlers.d.mts.map +0 -1
  481. package/dist/src/step-handlers.mjs +0 -93
  482. package/dist/src/step-handlers.mjs.map +0 -1
  483. package/dist/src/step-validator.d.mts +0 -15
  484. package/dist/src/step-validator.d.mts.map +0 -1
  485. package/dist/src/step-validator.mjs +0 -118
  486. package/dist/src/step-validator.mjs.map +0 -1
  487. package/dist/src/steps/emit.step.mjs +0 -20
  488. package/dist/src/steps/emit.step.mjs.map +0 -1
  489. package/dist/src/steps/index.mjs +0 -14
  490. package/dist/src/steps/index.mjs.map +0 -1
  491. package/dist/src/streams/flows-config-stream.mjs +0 -46
  492. package/dist/src/streams/flows-config-stream.mjs.map +0 -1
  493. package/dist/src/streams/flows-stream.mjs +0 -33
  494. package/dist/src/streams/flows-stream.mjs.map +0 -1
  495. package/dist/src/streams/redis-logs-stream.d.mts +0 -3
  496. package/dist/src/streams/redis-logs-stream.mjs +0 -97
  497. package/dist/src/streams/redis-logs-stream.mjs.map +0 -1
  498. package/dist/src/streams/stream-factory.d.mts +0 -7
  499. package/dist/src/streams/stream-factory.d.mts.map +0 -1
  500. package/dist/src/types/app-config-types.d.mts +0 -48
  501. package/dist/src/types/app-config-types.d.mts.map +0 -1
  502. package/dist/src/types/generate-type-from-schema.mjs +0 -30
  503. package/dist/src/types/generate-type-from-schema.mjs.map +0 -1
  504. package/dist/src/types/generate-types-from-response.mjs +0 -12
  505. package/dist/src/types/generate-types-from-response.mjs.map +0 -1
  506. package/dist/src/types/generate-types.mjs +0 -101
  507. package/dist/src/types/generate-types.mjs.map +0 -1
  508. package/dist/src/types/merge-schemas.mjs +0 -102
  509. package/dist/src/types/merge-schemas.mjs.map +0 -1
  510. package/dist/src/types/schema.types.d.mts +0 -13
  511. package/dist/src/types/schema.types.d.mts.map +0 -1
  512. package/dist/src/types/schema.types.mjs +0 -14
  513. package/dist/src/types/schema.types.mjs.map +0 -1
  514. package/dist/src/types-stream.d.mts +0 -46
  515. package/dist/src/types-stream.d.mts.map +0 -1
  516. package/dist/src/types.d.mts +0 -188
  517. package/dist/src/types.d.mts.map +0 -1
  518. package/dist/src/utils.mjs +0 -13
  519. package/dist/src/utils.mjs.map +0 -1
  520. package/dist/src/validate-event-input.mjs +0 -76
  521. package/dist/src/validate-event-input.mjs.map +0 -1
  522. package/jest.config.cjs +0 -20
  523. package/tsdown.config.ts +0 -52
@@ -1,77 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,14 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"validations.d.mts","names":[],"sources":["../../../src/infrastructure-validator/validations.ts"],"sourcesContent":[],"mappings":";;;cAuCa,iEAAgE"}
@@ -1,29 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,44 +0,0 @@
1
- import path from "path";
2
- import { fileURLToPath } from "url";
3
-
4
- //#region src/language-runner.ts
5
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
- const getLanguageBasedRunner = (stepFilePath = "", overrides) => {
7
- const isPython = stepFilePath.endsWith(".py");
8
- const isRuby = stepFilePath.endsWith(".rb");
9
- const isNode = stepFilePath.endsWith(".js") || stepFilePath.endsWith(".ts");
10
- if (isPython) return {
11
- runner: path.join(__dirname, "python", overrides?.python ?? "python-runner.py"),
12
- command: "python",
13
- args: []
14
- };
15
- else if (isRuby) return {
16
- runner: path.join(__dirname, "ruby", overrides?.ruby ?? "ruby-runner.rb"),
17
- command: "ruby",
18
- args: []
19
- };
20
- else if (isNode) {
21
- const defaultNodeOverrides = overrides?.node;
22
- const tsRunner = path.join(__dirname, "node", defaultNodeOverrides?.ts ?? "node-runner.ts");
23
- const jsRunner = path.join(__dirname, "node", defaultNodeOverrides?.js ?? "node-runner.mjs");
24
- if (process.env._MOTIA_TEST_MODE === "true") return {
25
- runner: tsRunner,
26
- command: "node",
27
- args: [
28
- "--loader",
29
- "ts-node/esm",
30
- "--no-warnings=ExperimentalWarning"
31
- ]
32
- };
33
- return {
34
- runner: jsRunner,
35
- command: "node",
36
- args: []
37
- };
38
- }
39
- throw Error(`Unsupported file extension ${stepFilePath}`);
40
- };
41
-
42
- //#endregion
43
- export { getLanguageBasedRunner };
44
- //# sourceMappingURL=language-runner.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"language-runner.mjs","names":[],"sources":["../../src/language-runner.ts"],"sourcesContent":["import 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))\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 const tsRunner = path.join(__dirname, 'node', defaultNodeOverrides?.ts ?? 'node-runner.ts')\n const jsRunner = path.join(__dirname, 'node', defaultNodeOverrides?.js ?? 'node-runner.mjs')\n\n if (process.env._MOTIA_TEST_MODE === 'true') {\n return {\n runner: tsRunner,\n command: 'node',\n args: ['--loader', 'ts-node/esm', '--no-warnings=ExperimentalWarning'],\n }\n }\n\n return { runner: jsRunner, command: 'node', args: [] }\n }\n\n throw Error(`Unsupported file extension ${stepFilePath}`)\n}\n"],"mappings":";;;;AAkBA,MAAM,YAAY,KAAK,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAC9D,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;EACxC,MAAM,WAAW,KAAK,KAAK,WAAW,QAAQ,sBAAsB,MAAM,iBAAiB;EAC3F,MAAM,WAAW,KAAK,KAAK,WAAW,QAAQ,sBAAsB,MAAM,kBAAkB;AAE5F,MAAI,QAAQ,IAAI,qBAAqB,OACnC,QAAO;GACL,QAAQ;GACR,SAAS;GACT,MAAM;IAAC;IAAY;IAAe;IAAoC;GACvE;AAGH,SAAO;GAAE,QAAQ;GAAU,SAAS;GAAQ,MAAM,EAAE;GAAE;;AAGxD,OAAM,MAAM,8BAA8B,eAAe"}
@@ -1,81 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"locked-data.d.mts","names":[],"sources":["../../src/locked-data.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,223 +0,0 @@
1
- import { isApiStep, isCronStep, isEventStep } from "./guards.mjs";
2
- import { PLUGIN_FLOW_ID } from "./motia.mjs";
3
- import { validateStep } from "./step-validator.mjs";
4
- import { generateTypeFromSchema } from "./types/generate-type-from-schema.mjs";
5
- import { generateTypesFromSteps, generateTypesFromStreams, generateTypesString } from "./types/generate-types.mjs";
6
- import fs from "fs";
7
- import path from "path";
8
-
9
- //#region src/locked-data.ts
10
- var LockedData = class {
11
- constructor(baseDir, streamAdapter, printer, redisClient) {
12
- this.baseDir = baseDir;
13
- this.streamAdapter = streamAdapter;
14
- this.printer = printer;
15
- this.redisClient = redisClient;
16
- this.flows = {};
17
- this.activeSteps = [];
18
- this.devSteps = [];
19
- this.stepsMap = {};
20
- this.handlers = {
21
- "flow-created": [],
22
- "flow-removed": [],
23
- "flow-updated": []
24
- };
25
- this.stepHandlers = {
26
- "step-created": [],
27
- "step-removed": [],
28
- "step-updated": []
29
- };
30
- this.streamHandlers = {
31
- "stream-created": [],
32
- "stream-removed": [],
33
- "stream-updated": []
34
- };
35
- this.streams = {};
36
- }
37
- applyStreamWrapper(streamWrapper) {
38
- this.streamWrapper = streamWrapper;
39
- }
40
- setStreamAuthConfig(config) {
41
- this.streamAuthConfig = config ? { authenticate: config.authenticate } : void 0;
42
- this.streamAuthContextType = config?.contextSchema ? generateTypeFromSchema(config.contextSchema) : void 0;
43
- }
44
- getStreamAuthConfig() {
45
- return this.streamAuthConfig;
46
- }
47
- saveTypes() {
48
- const typesString = generateTypesString(generateTypesFromSteps(this.activeSteps, this.printer), generateTypesFromStreams(this.streams), this.streamAuthContextType);
49
- fs.writeFileSync(path.join(this.baseDir, "types.d.ts"), typesString);
50
- }
51
- on(event, handler) {
52
- this.handlers[event].push(handler);
53
- }
54
- onStep(event, handler) {
55
- this.stepHandlers[event].push(handler);
56
- }
57
- onStream(event, handler) {
58
- this.streamHandlers[event].push(handler);
59
- }
60
- getActiveSteps() {
61
- return this.activeSteps.filter((step) => !step.config.flows?.includes(PLUGIN_FLOW_ID));
62
- }
63
- eventSteps() {
64
- return this.getActiveSteps().filter(isEventStep);
65
- }
66
- apiSteps() {
67
- return this.getActiveSteps().filter(isApiStep);
68
- }
69
- cronSteps() {
70
- return this.getActiveSteps().filter(isCronStep);
71
- }
72
- pythonSteps() {
73
- return this.getActiveSteps().filter((step) => step.filePath.endsWith(".py"));
74
- }
75
- tsSteps() {
76
- return this.getActiveSteps().filter((step) => step.filePath.endsWith(".ts"));
77
- }
78
- getStreams() {
79
- const streams = {};
80
- for (const [key, value] of Object.entries(this.streams)) streams[key] = value.factory;
81
- return streams;
82
- }
83
- listStreams() {
84
- return Object.values(this.streams);
85
- }
86
- getStreamByName(streamName) {
87
- return this.streams[streamName];
88
- }
89
- findStream(path$1) {
90
- return Object.values(this.streams).find((stream) => stream.filePath === path$1);
91
- }
92
- updateStep(oldStep, newStep, options = {}) {
93
- if (!this.isValidStep(newStep)) {
94
- this.deleteStep(oldStep);
95
- return false;
96
- }
97
- if (oldStep.config.type !== newStep.config.type) {
98
- this.activeSteps = this.activeSteps.filter((s) => s.filePath !== oldStep.filePath);
99
- this.devSteps = this.devSteps.filter((s) => s.filePath !== oldStep.filePath);
100
- if (newStep.config.type === "noop") this.devSteps.push(newStep);
101
- else this.activeSteps.push(newStep);
102
- }
103
- const savedStep = this.stepsMap[newStep.filePath];
104
- const addedFlows = newStep.config.flows?.filter((flowName) => !oldStep.config.flows?.includes(flowName)) ?? [];
105
- const removedFlows = oldStep.config.flows?.filter((flowName) => !newStep.config.flows?.includes(flowName)) ?? [];
106
- const untouchedFlows = oldStep.config.flows?.filter((flowName) => newStep.config.flows?.includes(flowName)) ?? [];
107
- savedStep.config = newStep.config;
108
- untouchedFlows.forEach((flowName) => this.onFlowUpdated(flowName));
109
- for (const flowName of addedFlows) if (!this.flows[flowName]) this.createFlow(flowName).steps.push(savedStep);
110
- else {
111
- this.flows[flowName].steps.push(savedStep);
112
- this.onFlowUpdated(flowName);
113
- }
114
- for (const flowName of removedFlows) {
115
- const flowSteps = this.flows[flowName].steps;
116
- this.flows[flowName].steps = flowSteps.filter(({ filePath }) => filePath !== newStep.filePath);
117
- if (this.flows[flowName].steps.length === 0) this.removeFlow(flowName);
118
- else this.onFlowUpdated(flowName);
119
- }
120
- if (!options.disableTypeCreation) this.saveTypes();
121
- this.stepHandlers["step-updated"].forEach((handler) => handler(newStep));
122
- this.printer.printStepUpdated(newStep);
123
- return true;
124
- }
125
- createStep(step, options = {}) {
126
- if (!this.isValidStep(step)) return false;
127
- this.stepsMap[step.filePath] = step;
128
- if (step.config.type === "noop") this.devSteps.push(step);
129
- else this.activeSteps.push(step);
130
- for (const flowName of step.config.flows ?? []) if (!this.flows[flowName]) this.createFlow(flowName).steps.push(step);
131
- else {
132
- this.flows[flowName].steps.push(step);
133
- this.onFlowUpdated(flowName);
134
- }
135
- if (!options.disableTypeCreation) this.saveTypes();
136
- this.stepHandlers["step-created"].forEach((handler) => handler(step));
137
- this.printer.printStepCreated(step);
138
- return true;
139
- }
140
- deleteStep(step, options = {}) {
141
- this.activeSteps = this.activeSteps.filter(({ filePath }) => filePath !== step.filePath);
142
- this.devSteps = this.devSteps.filter(({ filePath }) => filePath !== step.filePath);
143
- delete this.stepsMap[step.filePath];
144
- for (const flowName of step.config.flows ?? []) {
145
- const stepFlows = this.flows[flowName]?.steps;
146
- if (stepFlows) this.flows[flowName].steps = stepFlows.filter(({ filePath }) => filePath !== step.filePath);
147
- if (this.flows[flowName].steps.length === 0) this.removeFlow(flowName);
148
- else this.onFlowUpdated(flowName);
149
- }
150
- if (!options.disableTypeCreation) this.saveTypes();
151
- this.stepHandlers["step-removed"].forEach((handler) => handler(step));
152
- this.printer.printStepRemoved(step);
153
- }
154
- createFactoryWrapper(stream, factory) {
155
- return () => {
156
- return (this.streamWrapper ? this.streamWrapper(stream.config.name, factory) : factory)();
157
- };
158
- }
159
- createStream(baseStream, options = {}) {
160
- const stream = baseStream;
161
- this.streams[stream.config.name] = stream;
162
- this.streamHandlers["stream-created"].forEach((handler) => handler(stream));
163
- if (stream.config.baseConfig.storageType === "default") stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
164
- else stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
165
- if (!stream.hidden) {
166
- this.printer.printStreamCreated(stream);
167
- if (!options.disableTypeCreation) this.saveTypes();
168
- }
169
- return stream.factory;
170
- }
171
- deleteStream(stream, options = {}) {
172
- Object.entries(this.streams).forEach(([streamName, { filePath }]) => {
173
- if (stream.filePath === filePath) delete this.streams[streamName];
174
- });
175
- this.streamHandlers["stream-removed"].forEach((handler) => handler(stream));
176
- if (!stream.hidden) {
177
- this.printer.printStreamRemoved(stream);
178
- if (!options.disableTypeCreation) this.saveTypes();
179
- }
180
- }
181
- updateStream(oldStream, stream, options = {}) {
182
- if (oldStream.config.name !== stream.config.name) delete this.streams[oldStream.config.name];
183
- if (stream.config.baseConfig.storageType === "default") stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
184
- else stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
185
- this.streams[stream.config.name] = stream;
186
- this.streamHandlers["stream-updated"].forEach((handler) => handler(stream));
187
- if (!stream.hidden) {
188
- this.printer.printStreamUpdated(stream);
189
- if (!options.disableTypeCreation) this.saveTypes();
190
- }
191
- }
192
- createFlow(flowName) {
193
- const flow = {
194
- name: flowName,
195
- description: "",
196
- steps: []
197
- };
198
- this.flows[flowName] = flow;
199
- this.handlers["flow-created"].forEach((handler) => handler(flowName));
200
- this.printer.printFlowCreated(flowName);
201
- return flow;
202
- }
203
- removeFlow(flowName) {
204
- delete this.flows[flowName];
205
- this.handlers["flow-removed"].forEach((handler) => handler(flowName));
206
- this.printer.printFlowRemoved(flowName);
207
- }
208
- onFlowUpdated(flowName) {
209
- this.handlers["flow-updated"].forEach((handler) => handler(flowName));
210
- }
211
- isValidStep(step) {
212
- const validationResult = validateStep(step);
213
- if (!validationResult.success) this.printer.printValidationError(step.filePath, validationResult);
214
- return validationResult.success;
215
- }
216
- createStreamAdapter(streamName) {
217
- return this.streamAdapter.createStream(streamName);
218
- }
219
- };
220
-
221
- //#endregion
222
- export { LockedData };
223
- //# sourceMappingURL=locked-data.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locked-data.mjs","names":["baseDir: string","streamAdapter: StreamAdapterManager","printer: Printer","redisClient: RedisClientType","streams: Record<string, StreamFactory<unknown>>","path"],"sources":["../../src/locked-data.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport type { RedisClientType } from 'redis'\nimport type { StreamAdapter } from './adapters/interfaces/stream-adapter.interface'\nimport type { StreamAdapterManager } from './adapters/interfaces/stream-adapter-manager.interface'\nimport { isApiStep, isCronStep, isEventStep } from './guards'\nimport { PLUGIN_FLOW_ID } from './motia'\nimport type { Printer } from './printer'\nimport { validateStep } from './step-validator'\nimport type { StreamFactory } from './streams/stream-factory'\nimport type { ApiRouteConfig, CronConfig, EventConfig, Flow, Step } from './types'\nimport type { StreamAuthConfig } from './types/app-config-types'\nimport { generateTypeFromSchema } from './types/generate-type-from-schema'\nimport { generateTypesFromSteps, generateTypesFromStreams, generateTypesString } from './types/generate-types'\nimport type { JsonSchema } from './types/schema.types'\nimport type { Stream } from './types-stream'\n\ntype FlowEvent = 'flow-created' | 'flow-removed' | 'flow-updated'\ntype StepEvent = 'step-created' | 'step-removed' | 'step-updated'\ntype StreamEvent = 'stream-created' | 'stream-removed' | 'stream-updated'\n\ntype StreamWrapper<TData> = (streamName: string, factory: StreamFactory<TData>) => StreamFactory<TData>\n\nexport class LockedData {\n public flows: Record<string, Flow>\n public activeSteps: Step[]\n public devSteps: Step[]\n\n private stepsMap: Record<string, Step>\n private handlers: Record<FlowEvent, ((flowName: string) => void)[]>\n private stepHandlers: Record<StepEvent, ((step: Step) => void)[]>\n private streamHandlers: Record<StreamEvent, ((stream: Stream) => void)[]>\n private streams: Record<string, Stream>\n\n private streamWrapper?: StreamWrapper<any>\n private streamAuthContextType?: string\n private streamAuthConfig?: { authenticate: StreamAuthConfig['authenticate'] }\n\n constructor(\n public readonly baseDir: string,\n public readonly streamAdapter: StreamAdapterManager,\n private readonly printer: Printer,\n public readonly redisClient: RedisClientType,\n ) {\n this.flows = {}\n this.activeSteps = []\n this.devSteps = []\n this.stepsMap = {}\n\n this.handlers = {\n 'flow-created': [],\n 'flow-removed': [],\n 'flow-updated': [],\n }\n\n this.stepHandlers = {\n 'step-created': [],\n 'step-removed': [],\n 'step-updated': [],\n }\n\n this.streamHandlers = {\n 'stream-created': [],\n 'stream-removed': [],\n 'stream-updated': [],\n }\n\n this.streams = {}\n }\n\n applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void {\n this.streamWrapper = streamWrapper\n }\n\n setStreamAuthConfig(config?: { authenticate: StreamAuthConfig['authenticate']; contextSchema?: JsonSchema }): void {\n this.streamAuthConfig = config ? { authenticate: config.authenticate } : undefined\n this.streamAuthContextType = config?.contextSchema ? generateTypeFromSchema(config.contextSchema) : undefined\n }\n\n getStreamAuthConfig() {\n return this.streamAuthConfig\n }\n\n saveTypes() {\n const types = generateTypesFromSteps(this.activeSteps, this.printer)\n const streams = generateTypesFromStreams(this.streams)\n const typesString = generateTypesString(types, streams, this.streamAuthContextType)\n fs.writeFileSync(path.join(this.baseDir, 'types.d.ts'), typesString)\n }\n\n on(event: FlowEvent, handler: (flowName: string) => void) {\n this.handlers[event].push(handler)\n }\n\n onStep(event: StepEvent, handler: (step: Step) => void) {\n this.stepHandlers[event].push(handler)\n }\n\n onStream(event: StreamEvent, handler: (stream: Stream) => void) {\n this.streamHandlers[event].push(handler)\n }\n\n getActiveSteps() {\n return this.activeSteps.filter((step) => !step.config.flows?.includes(PLUGIN_FLOW_ID))\n }\n\n eventSteps(): Step<EventConfig>[] {\n return this.getActiveSteps().filter(isEventStep)\n }\n\n apiSteps(): Step<ApiRouteConfig>[] {\n return this.getActiveSteps().filter(isApiStep)\n }\n\n cronSteps(): Step<CronConfig>[] {\n return this.getActiveSteps().filter(isCronStep)\n }\n\n pythonSteps(): Step[] {\n return this.getActiveSteps().filter((step) => step.filePath.endsWith('.py'))\n }\n\n tsSteps(): Step[] {\n return this.getActiveSteps().filter((step) => step.filePath.endsWith('.ts'))\n }\n\n getStreams(): Record<string, StreamFactory<any>> {\n const streams: Record<string, StreamFactory<unknown>> = {}\n\n for (const [key, value] of Object.entries(this.streams)) {\n streams[key] = value.factory\n }\n\n return streams\n }\n\n listStreams(): Stream[] {\n return Object.values(this.streams)\n }\n\n getStreamByName(streamName: string): Stream | undefined {\n return this.streams[streamName]\n }\n\n findStream(path: string): Stream | undefined {\n return Object.values(this.streams).find((stream) => stream.filePath === path)\n }\n\n updateStep(oldStep: Step, newStep: Step, options: { disableTypeCreation?: boolean } = {}): boolean {\n if (!this.isValidStep(newStep)) {\n this.deleteStep(oldStep)\n\n return false\n }\n\n if (oldStep.config.type !== newStep.config.type) {\n this.activeSteps = this.activeSteps.filter((s) => s.filePath !== oldStep.filePath)\n this.devSteps = this.devSteps.filter((s) => s.filePath !== oldStep.filePath)\n\n if (newStep.config.type === 'noop') {\n this.devSteps.push(newStep)\n } else {\n this.activeSteps.push(newStep)\n }\n }\n\n const savedStep = this.stepsMap[newStep.filePath]\n const addedFlows = newStep.config.flows?.filter((flowName) => !oldStep.config.flows?.includes(flowName)) ?? []\n const removedFlows = oldStep.config.flows?.filter((flowName) => !newStep.config.flows?.includes(flowName)) ?? []\n const untouchedFlows = oldStep.config.flows?.filter((flowName) => newStep.config.flows?.includes(flowName)) ?? []\n savedStep.config = newStep.config\n\n untouchedFlows.forEach((flowName) => this.onFlowUpdated(flowName))\n\n for (const flowName of addedFlows) {\n if (!this.flows[flowName]) {\n const flow = this.createFlow(flowName)\n flow.steps.push(savedStep)\n } else {\n this.flows[flowName].steps.push(savedStep)\n this.onFlowUpdated(flowName)\n }\n }\n\n for (const flowName of removedFlows) {\n const flowSteps = this.flows[flowName].steps\n this.flows[flowName].steps = flowSteps.filter(({ filePath }) => filePath !== newStep.filePath)\n\n if (this.flows[flowName].steps.length === 0) {\n this.removeFlow(flowName)\n } else {\n this.onFlowUpdated(flowName)\n }\n }\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n\n this.stepHandlers['step-updated'].forEach((handler) => handler(newStep))\n this.printer.printStepUpdated(newStep)\n\n return true\n }\n\n createStep(step: Step, options: { disableTypeCreation?: boolean } = {}): boolean {\n if (!this.isValidStep(step)) {\n return false\n }\n\n this.stepsMap[step.filePath] = step\n\n if (step.config.type === 'noop') {\n this.devSteps.push(step)\n } else {\n this.activeSteps.push(step)\n }\n\n for (const flowName of step.config.flows ?? []) {\n if (!this.flows[flowName]) {\n const flow = this.createFlow(flowName)\n flow.steps.push(step)\n } else {\n this.flows[flowName].steps.push(step)\n this.onFlowUpdated(flowName)\n }\n }\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n\n this.stepHandlers['step-created'].forEach((handler) => handler(step))\n this.printer.printStepCreated(step)\n\n return true\n }\n\n deleteStep(step: Step, options: { disableTypeCreation?: boolean } = {}): void {\n // Remove step from active and dev steps\n this.activeSteps = this.activeSteps.filter(({ filePath }) => filePath !== step.filePath)\n this.devSteps = this.devSteps.filter(({ filePath }) => filePath !== step.filePath)\n\n delete this.stepsMap[step.filePath]\n\n for (const flowName of step.config.flows ?? []) {\n const stepFlows = this.flows[flowName]?.steps\n\n if (stepFlows) {\n this.flows[flowName].steps = stepFlows.filter(({ filePath }) => filePath !== step.filePath)\n }\n\n if (this.flows[flowName].steps.length === 0) {\n this.removeFlow(flowName)\n } else {\n this.onFlowUpdated(flowName)\n }\n }\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n\n this.stepHandlers['step-removed'].forEach((handler) => handler(step))\n this.printer.printStepRemoved(step)\n }\n\n private createFactoryWrapper<TData>(stream: Stream, factory: StreamFactory<TData>): StreamFactory<TData> {\n return () => {\n const streamFactory = this.streamWrapper //\n ? this.streamWrapper(stream.config.name, factory)\n : factory\n return streamFactory()\n }\n }\n\n createStream<TData>(\n baseStream: Omit<Stream, 'factory'>,\n options: { disableTypeCreation?: boolean } = {},\n ): StreamFactory<TData> {\n const stream = baseStream as Stream\n\n this.streams[stream.config.name] = stream\n this.streamHandlers['stream-created'].forEach((handler) => handler(stream))\n\n if (stream.config.baseConfig.storageType === 'default') {\n stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name))\n } else {\n stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory)\n }\n\n if (!stream.hidden) {\n this.printer.printStreamCreated(stream)\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n }\n\n return stream.factory as StreamFactory<TData>\n }\n\n deleteStream(stream: Stream, options: { disableTypeCreation?: boolean } = {}): void {\n Object.entries(this.streams).forEach(([streamName, { filePath }]) => {\n if (stream.filePath === filePath) {\n delete this.streams[streamName]\n }\n })\n\n this.streamHandlers['stream-removed'].forEach((handler) => handler(stream))\n\n if (!stream.hidden) {\n this.printer.printStreamRemoved(stream)\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n }\n }\n\n updateStream(oldStream: Stream, stream: Stream, options: { disableTypeCreation?: boolean } = {}): void {\n if (oldStream.config.name !== stream.config.name) {\n delete this.streams[oldStream.config.name]\n }\n\n if (stream.config.baseConfig.storageType === 'default') {\n stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name))\n } else {\n stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory)\n }\n\n this.streams[stream.config.name] = stream\n this.streamHandlers['stream-updated'].forEach((handler) => handler(stream))\n\n if (!stream.hidden) {\n this.printer.printStreamUpdated(stream)\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n }\n }\n\n private createFlow(flowName: string): Flow {\n const flow = { name: flowName, description: '', steps: [] }\n this.flows[flowName] = flow\n this.handlers['flow-created'].forEach((handler) => handler(flowName))\n this.printer.printFlowCreated(flowName)\n\n return flow\n }\n\n private removeFlow(flowName: string): void {\n delete this.flows[flowName]\n this.handlers['flow-removed'].forEach((handler) => handler(flowName))\n this.printer.printFlowRemoved(flowName)\n }\n\n private onFlowUpdated(flowName: string): void {\n this.handlers['flow-updated'].forEach((handler) => handler(flowName))\n }\n\n private isValidStep(step: Step): boolean {\n const validationResult = validateStep(step)\n\n if (!validationResult.success) {\n this.printer.printValidationError(step.filePath, validationResult)\n }\n\n return validationResult.success\n }\n\n private createStreamAdapter<TData>(streamName: string): StreamAdapter<TData> {\n return this.streamAdapter.createStream<TData>(streamName)\n }\n}\n"],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { Logger } from "./logger.mjs";
2
- import "./types-stream.mjs";
3
- import "./streams/redis-logs-stream.mjs";
4
-
5
- //#region src/logger-factory.d.ts
6
- type CreateLogger = {
7
- traceId: string;
8
- flows?: string[];
9
- stepName: string;
10
- };
11
- interface LoggerFactory {
12
- create: (args: CreateLogger) => Logger;
13
- }
14
- //#endregion
15
- export { LoggerFactory };
16
- //# sourceMappingURL=logger-factory.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-factory.d.mts","names":[],"sources":["../../src/logger-factory.ts"],"sourcesContent":[],"mappings":";;;;;KAKK,YAAA;;EAAA,KAAA,CAAA,EAAA,MAAA,EAAY;EAMA,QAAA,EAAA,MAAa;;UAAb,aAAA;iBACA,iBAAiB"}
@@ -1,33 +0,0 @@
1
- import { Logger } from "./logger.mjs";
2
- import { randomUUID } from "crypto";
3
-
4
- //#region src/logger-factory.ts
5
- var BaseLoggerFactory = class {
6
- constructor(isVerbose, logStream) {
7
- this.isVerbose = isVerbose;
8
- this.logStream = logStream;
9
- }
10
- create({ stepName, traceId, flows }) {
11
- const streamListener = (level, msg, args) => {
12
- const id = randomUUID();
13
- this.logStream.set("default", id, {
14
- id,
15
- ...args ?? {},
16
- level,
17
- time: Date.now(),
18
- msg,
19
- traceId,
20
- flows: flows ?? []
21
- });
22
- };
23
- return new Logger(this.isVerbose, {
24
- traceId,
25
- flows,
26
- step: stepName
27
- }, [streamListener]);
28
- }
29
- };
30
-
31
- //#endregion
32
- export { BaseLoggerFactory };
33
- //# sourceMappingURL=logger-factory.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-factory.mjs","names":["isVerbose: boolean","logStream: MotiaStream<Log>","streamListener: LogListener"],"sources":["../../src/logger-factory.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\nimport { Logger, type LogListener } from './logger'\nimport type { Log } from './streams/redis-logs-stream'\nimport type { MotiaStream } from './types-stream'\n\ntype CreateLogger = {\n traceId: string\n flows?: string[]\n stepName: string\n}\n\nexport interface LoggerFactory {\n create: (args: CreateLogger) => Logger\n}\n\nexport class BaseLoggerFactory implements LoggerFactory {\n constructor(\n private readonly isVerbose: boolean,\n private readonly logStream: MotiaStream<Log>,\n ) {}\n\n create({ stepName, traceId, flows }: CreateLogger): Logger {\n const streamListener: LogListener = (level, msg, args) => {\n const id = randomUUID()\n\n this.logStream.set('default', id, {\n id,\n ...(args ?? {}),\n level,\n time: Date.now(),\n msg,\n traceId,\n flows: flows ?? [],\n })\n }\n\n return new Logger(this.isVerbose, { traceId, flows, step: stepName }, [streamListener])\n }\n}\n"],"mappings":";;;;AAeA,IAAa,oBAAb,MAAwD;CACtD,YACE,AAAiBA,WACjB,AAAiBC,WACjB;EAFiB;EACA;;CAGnB,OAAO,EAAE,UAAU,SAAS,SAA+B;EACzD,MAAMC,kBAA+B,OAAO,KAAK,SAAS;GACxD,MAAM,KAAK,YAAY;AAEvB,QAAK,UAAU,IAAI,WAAW,IAAI;IAChC;IACA,GAAI,QAAQ,EAAE;IACd;IACA,MAAM,KAAK,KAAK;IAChB;IACA;IACA,OAAO,SAAS,EAAE;IACnB,CAAC;;AAGJ,SAAO,IAAI,OAAO,KAAK,WAAW;GAAE;GAAS;GAAO,MAAM;GAAU,EAAE,CAAC,eAAe,CAAC"}