@motiadev/core 0.13.0-beta.162-846200 → 0.13.1-beta.162

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 +194 -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 +32 -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 +14 -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 +22 -0
  170. package/dist/src/observability/stream-tracer.d.ts.map +1 -0
  171. package/dist/src/observability/stream-tracer.js +97 -0
  172. package/dist/src/observability/trace-manager.d.ts +13 -0
  173. package/dist/src/observability/trace-manager.d.ts.map +1 -0
  174. package/dist/src/observability/trace-manager.js +23 -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 +95 -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 +318 -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 +44 -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 -22
  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 -53
  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 -54
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAnyOf = exports.JsonSchemaError = void 0;
4
+ class JsonSchemaError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = 'JsonSchemaError';
8
+ }
9
+ }
10
+ exports.JsonSchemaError = JsonSchemaError;
11
+ const isAnyOf = (schema) => {
12
+ return typeof schema === 'object' && schema !== null && 'anyOf' in schema;
13
+ };
14
+ exports.isAnyOf = isAnyOf;
@@ -0,0 +1,42 @@
1
+ import type { StreamFactory } from './streams/stream-factory';
2
+ import type { StepSchemaInput } from './types';
3
+ export type StreamSubscription = {
4
+ groupId: string;
5
+ id?: string;
6
+ };
7
+ export interface StreamConfig {
8
+ name: string;
9
+ schema: StepSchemaInput;
10
+ baseConfig: {
11
+ storageType: 'default';
12
+ } | {
13
+ storageType: 'custom';
14
+ factory: () => MotiaStream<any>;
15
+ };
16
+ canAccess?: (subscription: StreamSubscription, authContext: any) => boolean | Promise<boolean>;
17
+ }
18
+ export type StateStreamEventChannel = {
19
+ groupId: string;
20
+ id?: string;
21
+ };
22
+ export type StateStreamEvent<TData> = {
23
+ type: string;
24
+ data: TData;
25
+ };
26
+ export type BaseStreamItem<TData = unknown> = TData & {
27
+ id: string;
28
+ };
29
+ export type Stream<TConfig extends StreamConfig = StreamConfig> = {
30
+ filePath: string;
31
+ config: TConfig;
32
+ hidden?: boolean;
33
+ factory: StreamFactory<unknown>;
34
+ };
35
+ export interface MotiaStream<TData> {
36
+ get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
37
+ set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>>;
38
+ delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
39
+ getGroup(groupId: string): Promise<BaseStreamItem<TData>[]>;
40
+ send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void>;
41
+ }
42
+ //# sourceMappingURL=types-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-stream.d.ts","sourceRoot":"","sources":["../../src/types-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE;QAAE,WAAW,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,WAAW,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;KAAE,CAAA;IACnG,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/F;AAED,MAAM,MAAM,uBAAuB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtE,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAAA;AAEnE,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpE,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,IAAI;IAChE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,WAAW,WAAW,CAAC,KAAK;IAChC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACvE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3D,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrF"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,184 @@
1
+ import type { ZodArray, ZodObject } from 'zod';
2
+ import type { Logger } from './logger';
3
+ import type { Tracer } from './observability';
4
+ import type { JsonSchema } from './types/schema.types';
5
+ export * from './types/app-config-types';
6
+ export type ZodInput = ZodObject<any> | ZodArray<any>;
7
+ export type StepSchemaInput = ZodInput | JsonSchema;
8
+ export type InternalStateManager = {
9
+ get<T>(groupId: string, key: string): Promise<T | null>;
10
+ set<T>(groupId: string, key: string, value: T): Promise<T>;
11
+ delete<T>(groupId: string, key: string): Promise<T | null>;
12
+ getGroup<T>(groupId: string): Promise<T[]>;
13
+ clear(groupId: string): Promise<void>;
14
+ };
15
+ export type EmitData = {
16
+ topic: '';
17
+ data: unknown;
18
+ messageGroupId?: string;
19
+ };
20
+ export type Emitter<TData> = (event: TData) => Promise<void>;
21
+ export interface FlowContextStateStreams {
22
+ }
23
+ export interface FlowContext<TEmitData = never> {
24
+ emit: Emitter<TEmitData>;
25
+ traceId: string;
26
+ state: InternalStateManager;
27
+ logger: Logger;
28
+ streams: FlowContextStateStreams;
29
+ }
30
+ export type EventHandler<TInput, TEmitData> = (input: TInput, ctx: FlowContext<TEmitData>) => Promise<void>;
31
+ export type Emit = string | {
32
+ topic: string;
33
+ label?: string;
34
+ conditional?: boolean;
35
+ };
36
+ export type HandlerConfig = {
37
+ ram: number;
38
+ cpu?: number;
39
+ timeout: number;
40
+ };
41
+ export type QueueConfig = {
42
+ type: 'fifo' | 'standard';
43
+ maxRetries: number;
44
+ visibilityTimeout: number;
45
+ delaySeconds: number;
46
+ };
47
+ export type InfrastructureConfig = {
48
+ handler?: Partial<HandlerConfig>;
49
+ queue?: Partial<QueueConfig>;
50
+ };
51
+ export type EventConfig = {
52
+ type: 'event';
53
+ name: string;
54
+ description?: string;
55
+ subscribes: string[];
56
+ emits: Emit[];
57
+ virtualEmits?: Emit[];
58
+ virtualSubscribes?: string[];
59
+ input?: StepSchemaInput;
60
+ flows?: string[];
61
+ /**
62
+ * Files to include in the step bundle.
63
+ * Needs to be relative to the step file.
64
+ */
65
+ includeFiles?: string[];
66
+ infrastructure?: Partial<InfrastructureConfig>;
67
+ };
68
+ export type NoopConfig = {
69
+ type: 'noop';
70
+ name: string;
71
+ description?: string;
72
+ virtualEmits: Emit[];
73
+ virtualSubscribes: string[];
74
+ flows?: string[];
75
+ };
76
+ export type ApiRouteMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD';
77
+ export type ApiMiddleware<TBody = unknown, TEmitData = never, TResult = unknown> = (req: ApiRequest<TBody>, ctx: FlowContext<TEmitData>, next: () => Promise<ApiResponse<number, TResult>>) => Promise<ApiResponse<number, TResult>>;
78
+ export interface QueryParam {
79
+ name: string;
80
+ description: string;
81
+ }
82
+ export interface ApiRouteConfig {
83
+ type: 'api';
84
+ name: string;
85
+ description?: string;
86
+ path: string;
87
+ method: ApiRouteMethod;
88
+ emits: Emit[];
89
+ virtualEmits?: Emit[];
90
+ virtualSubscribes?: string[];
91
+ flows?: string[];
92
+ middleware?: ApiMiddleware<any, any, any>[];
93
+ bodySchema?: StepSchemaInput;
94
+ responseSchema?: Record<number, StepSchemaInput>;
95
+ queryParams?: QueryParam[];
96
+ /**
97
+ * Files to include in the step bundle.
98
+ * Needs to be relative to the step file.
99
+ */
100
+ includeFiles?: string[];
101
+ }
102
+ export interface ApiRequest<TBody = unknown> {
103
+ pathParams: Record<string, string>;
104
+ queryParams: Record<string, string | string[]>;
105
+ body: TBody;
106
+ headers: Record<string, string | string[]>;
107
+ }
108
+ export type ApiResponse<TStatus extends number = number, TBody = string | Buffer | Record<string, unknown>> = {
109
+ status: TStatus;
110
+ headers?: Record<string, string>;
111
+ body: TBody;
112
+ };
113
+ export type ApiRouteHandler<TRequestBody = unknown, TResponseBody extends ApiResponse<number, unknown> = ApiResponse<number, unknown>, TEmitData = never> = (req: ApiRequest<TRequestBody>, ctx: FlowContext<TEmitData>) => Promise<TResponseBody>;
114
+ export type CronConfig = {
115
+ type: 'cron';
116
+ name: string;
117
+ description?: string;
118
+ cron: string;
119
+ virtualEmits?: Emit[];
120
+ virtualSubscribes?: string[];
121
+ emits: Emit[];
122
+ flows?: string[];
123
+ /**
124
+ * Files to include in the step bundle.
125
+ * Needs to be relative to the step file.
126
+ */
127
+ includeFiles?: string[];
128
+ };
129
+ export type CronHandler<TEmitData = never> = (ctx: FlowContext<TEmitData>) => Promise<void>;
130
+ /**
131
+ * @deprecated Use `Handlers` instead.
132
+ */
133
+ export type StepHandler<T> = T extends EventConfig ? EventHandler<unknown, {
134
+ topic: string;
135
+ data: any;
136
+ }> : T extends ApiRouteConfig ? ApiRouteHandler<any, ApiResponse<number, any>, {
137
+ topic: string;
138
+ data: any;
139
+ }> : T extends CronConfig ? CronHandler<{
140
+ topic: string;
141
+ data: any;
142
+ }> : never;
143
+ export type Event<TData = unknown> = {
144
+ topic: string;
145
+ data: TData;
146
+ traceId: string;
147
+ flows?: string[];
148
+ logger: Logger;
149
+ tracer: Tracer;
150
+ messageGroupId?: string;
151
+ };
152
+ export type Handler<TData = unknown> = (event: Event<TData>) => Promise<void>;
153
+ export type SubscribeConfig<TData> = {
154
+ event: string;
155
+ handlerName: string;
156
+ filePath: string;
157
+ handler: Handler<TData>;
158
+ };
159
+ export type UnsubscribeConfig = {
160
+ filePath: string;
161
+ event: string;
162
+ };
163
+ export type StepConfig = EventConfig | NoopConfig | ApiRouteConfig | CronConfig;
164
+ export type Step<TConfig extends StepConfig = StepConfig> = {
165
+ filePath: string;
166
+ version: string;
167
+ config: TConfig;
168
+ };
169
+ export type PluginStep<TConfig extends StepConfig = ApiRouteConfig> = Step<TConfig> & {
170
+ handler?: ApiRouteHandler<any, any, any>;
171
+ };
172
+ export type Flow = {
173
+ name: string;
174
+ description?: string;
175
+ steps: Step[];
176
+ };
177
+ export interface Handlers {
178
+ }
179
+ declare module 'http' {
180
+ interface IncomingMessage {
181
+ authContext?: unknown | null;
182
+ }
183
+ }
184
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types/app-config-types"), exports);
@@ -0,0 +1,3 @@
1
+ import type { Step } from './types';
2
+ export declare const isAllowedToEmit: (step: Step, emit: string) => boolean;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,SAAS,CAAA;AAIzC,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,KAAG,OAK1D,CAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAllowedToEmit = void 0;
4
+ const guards_1 = require("./guards");
5
+ const toTopic = (emit) => (typeof emit === 'string' ? emit : emit.topic);
6
+ const isAllowedToEmit = (step, emit) => {
7
+ if (!(0, guards_1.isApiStep)(step) && !(0, guards_1.isCronStep)(step) && !(0, guards_1.isEventStep)(step))
8
+ return false;
9
+ const emitsTopics = step.config.emits.map(toTopic);
10
+ return emitsTopics.includes(emit) || emitsTopics.length === 0;
11
+ };
12
+ exports.isAllowedToEmit = isAllowedToEmit;
@@ -0,0 +1,3 @@
1
+ import type { Event, EventConfig, Step } from './types';
2
+ export declare const validateEventInput: (step: Step<EventConfig>, event: Event, motia: any) => void;
3
+ //# sourceMappingURL=validate-event-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-event-input.d.ts","sourceRoot":"","sources":["../../src/validate-event-input.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAIvD,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,KAAK,EAAE,OAAO,GAAG,SAwEnF,CAAA"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateEventInput = void 0;
7
+ const ajv_1 = __importDefault(require("ajv"));
8
+ const logger_1 = require("./logger");
9
+ const printer_1 = require("./printer");
10
+ const schema_utils_1 = require("./schema-utils");
11
+ const ajv = new ajv_1.default({ allErrors: true, strict: false });
12
+ const validateEventInput = (step, event, motia) => {
13
+ const { data } = event;
14
+ const logger = event.logger
15
+ ? event.logger.child({ step: step.config.name })
16
+ : motia.loggerFactory.create({ step: step.config.name, traceId: event.traceId });
17
+ if (step.config.input) {
18
+ if (data === null || typeof data !== 'object') {
19
+ logger.warn(`⚠️ Event "${step.config.name}" received non-object data`, { data });
20
+ return;
21
+ }
22
+ let compiledSchema;
23
+ const inputSchema = step.config.input;
24
+ try {
25
+ compiledSchema = (0, schema_utils_1.schemaToJsonSchema)(inputSchema);
26
+ if (!compiledSchema) {
27
+ compiledSchema = inputSchema;
28
+ }
29
+ }
30
+ catch (err) {
31
+ logger.error(`❌ Failed to convert or compile schema for step "${step.config.name}"`, { error: err });
32
+ logger_1.globalLogger.error('[step handler] failed to convert schema', { step: step.config.name, error: err });
33
+ return;
34
+ }
35
+ let validate;
36
+ try {
37
+ validate = ajv.compile(compiledSchema);
38
+ }
39
+ catch (err) {
40
+ logger.error(`❌ Invalid JSON schema for step "${step.config.name}"`, { error: err });
41
+ logger_1.globalLogger.error('[step handler] invalid JSON schema', { step: step.config.name, error: err });
42
+ return;
43
+ }
44
+ const valid = validate(data);
45
+ if (!valid && validate.errors?.length) {
46
+ const missingFields = [];
47
+ const extraFields = [];
48
+ const typeMismatches = [];
49
+ for (const err of validate.errors) {
50
+ const field = err.instancePath ? err.instancePath.replace(/^\//, '').replace(/\//g, '.') : '(root)';
51
+ switch (err.keyword) {
52
+ case 'required':
53
+ if ('missingProperty' in err.params) {
54
+ missingFields.push(field === '(root)' ? err.params.missingProperty : `${field}.${err.params.missingProperty}`);
55
+ }
56
+ break;
57
+ case 'type':
58
+ typeMismatches.push(`Field "${field}": must be ${err.params.type}`);
59
+ break;
60
+ case 'additionalProperties':
61
+ if ('additionalProperty' in err.params) {
62
+ extraFields.push(field === '(root)' ? err.params.additionalProperty : `${field}.${err.params.additionalProperty}`);
63
+ }
64
+ break;
65
+ default:
66
+ typeMismatches.push(`Field "${field}": ${err.message}`);
67
+ }
68
+ }
69
+ const printer = motia?.printer ?? new printer_1.Printer(process.cwd());
70
+ printer.printEventInputValidationError({ topic: event.topic }, { missingFields, extraFields, typeMismatches });
71
+ }
72
+ }
73
+ };
74
+ exports.validateEventInput = validateEventInput;
package/package.json CHANGED
@@ -1,27 +1,15 @@
1
1
  {
2
2
  "name": "@motiadev/core",
3
3
  "description": "Core functionality for the Motia framework, providing the foundation for building event-driven workflows.",
4
- "type": "module",
5
- "main": "dist/index.mjs",
6
- "module": "dist/index.mjs",
7
- "types": "dist/index.d.mts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.mts",
11
- "import": "./dist/index.mjs"
12
- }
13
- },
14
- "version": "0.13.0-beta.162-846200",
4
+ "main": "dist/index.js",
5
+ "version": "0.13.1-beta.162",
15
6
  "dependencies": {
16
- "@amplitude/analytics-node": "^1.5.26",
17
- "@standard-schema/spec": "^1.0.0",
7
+ "@amplitude/analytics-node": "^1.3.8",
18
8
  "ajv": "^8.17.1",
19
9
  "body-parser": "^1.20.3",
20
10
  "colors": "^1.4.0",
21
11
  "dotenv": "^16.4.7",
22
- "esbuild": "^0.24.0",
23
12
  "express": "^4.21.2",
24
- "tsx": "^4.19.0",
25
13
  "node-cron": "^3.0.3",
26
14
  "ts-node": "^10.9.2",
27
15
  "tsconfig-paths": "^4.2.0",
@@ -38,9 +26,8 @@
38
26
  "@types/ws": "^8.18.1",
39
27
  "jest": "^29.7.0",
40
28
  "supertest": "^7.1.4",
41
- "ts-jest": "^29.4.5",
42
- "tsdown": "^0.16.6",
43
- "typescript": "^5.9.3"
29
+ "ts-jest": "^29.2.5",
30
+ "typescript": "^5.7.2"
44
31
  },
45
32
  "peerDependencies": {
46
33
  "redis": "^5.0.0"
@@ -49,12 +36,11 @@
49
36
  "python-setup": "python3 -m venv python_modules && python_modules/bin/pip install -r requirements.txt",
50
37
  "move:python": "mkdir -p dist/src/python && cp src/python/*.py dist/src/python",
51
38
  "move:rb": "mkdir -p dist/src/ruby && cp src/ruby/*.rb dist/src/ruby",
52
- "move:steps": "mkdir -p dist/src/steps && cp src/steps/*.ts dist/src/steps",
53
- "build": "tsdown && npm run move:python && npm run move:rb && npm run move:steps",
54
- "dev": "tsdown --watch",
39
+ "move:steps": "cp src/steps/*.ts dist/src/steps",
40
+ "build": "rm -rf dist && tsc && npm run move:python && npm run move:rb && npm run move:steps",
55
41
  "lint": "biome check .",
56
42
  "watch": "tsc --watch",
57
- "test": "NODE_OPTIONS='--experimental-vm-modules --no-warnings=ExperimentalWarning' jest",
43
+ "test": "jest",
58
44
  "clean": "rm -rf python_modules dist"
59
45
  }
60
46
  }
package/dist/index.d.mts DELETED
@@ -1,38 +0,0 @@
1
- import { CronAdapter, CronAdapterConfig, CronLock, CronLockInfo } from "./src/adapters/interfaces/cron-adapter.interface.mjs";
2
- import { InMemoryCronAdapter } from "./src/adapters/defaults/cron/in-memory-cron-adapter.mjs";
3
- import { Logger } from "./src/logger.mjs";
4
- import { Metric, ObservabilityAdapter, Tracer } from "./src/adapters/interfaces/observability-adapter.interface.mjs";
5
- import { JsonSchema, JsonSchemaError, isAnyOf } from "./src/types/schema.types.mjs";
6
- import { EventAdapter, SubscriptionHandle } from "./src/adapters/interfaces/event-adapter.interface.mjs";
7
- import { StateAdapter, StateFilter, StateItem, StateItemsInput } from "./src/adapters/interfaces/state-adapter.interface.mjs";
8
- import { BaseStreamItem, MotiaStream, StateStreamEvent, StateStreamEventChannel, Stream, StreamConfig, StreamSubscription } from "./src/types-stream.mjs";
9
- import { StreamAdapter, StreamQueryFilter } from "./src/adapters/interfaces/stream-adapter.interface.mjs";
10
- import { StreamAdapterManager } from "./src/adapters/interfaces/stream-adapter-manager.interface.mjs";
11
- import { NoPrinter, Printer } from "./src/printer.mjs";
12
- import { LockedData } from "./src/locked-data.mjs";
13
- import { Motia, MotiaPluginContext, PLUGIN_FLOW_ID, PluginApiConfig, UnregisterMotiaPluginApi } from "./src/motia.mjs";
14
- import { AdapterConfig, Config, MotiaPlugin, MotiaPluginBuilder, StreamAuthConfig, StreamAuthRequest, WorkbenchPlugin } from "./src/types/app-config-types.mjs";
15
- import { ApiMiddleware, ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteHandler, ApiRouteMethod, CronConfig, CronHandler, Emit, EmitData, Emitter, Event, EventConfig, EventHandler, Flow, FlowContext, FlowContextStateStreams, Handler, HandlerConfig, Handlers, InfrastructureConfig, InternalStateManager, NoopConfig, PluginStep, QueryParam, QueueConfig, Step, StepConfig, StepHandler, StepSchemaInput, SubscribeConfig, UnsubscribeConfig, ZodInput } from "./src/types.mjs";
16
- import { QueueManager, QueueMetrics } from "./src/queue-manager.mjs";
17
- import { InMemoryQueueEventAdapter } from "./src/adapters/defaults/event/in-memory-queue-event-adapter.mjs";
18
- import { FileStateAdapter } from "./src/adapters/defaults/state/file-state-adapter.mjs";
19
- import { MemoryStateAdapter } from "./src/adapters/defaults/state/memory-state-adapter.mjs";
20
- import { FileStreamAdapter } from "./src/adapters/defaults/stream/file-stream-adapter.mjs";
21
- import { FileStreamAdapterManager } from "./src/adapters/defaults/stream/file-stream-adapter-manager.mjs";
22
- import { MemoryStreamAdapter } from "./src/adapters/defaults/stream/memory-stream-adapter.mjs";
23
- import { MemoryStreamAdapterManager } from "./src/adapters/defaults/stream/memory-stream-adapter-manager.mjs";
24
- import "./src/adapters/defaults/index.mjs";
25
- import { getProjectIdentifier, getProjectName, getUserIdentifier, isAnalyticsEnabled, trackEvent } from "./src/analytics/utils.mjs";
26
- import { config } from "./src/config.mjs";
27
- import { CronManager, setupCronHandlers } from "./src/cron-handler.mjs";
28
- import { getStepConfig, getStreamConfig } from "./src/get-step-config.mjs";
29
- import { isApiStep, isCronStep, isEventStep, isNoopStep } from "./src/guards.mjs";
30
- import { InfrastructureValidationError, InfrastructureValidationResult } from "./src/infrastructure-validator/types.mjs";
31
- import { validateInfrastructureConfig } from "./src/infrastructure-validator/validations.mjs";
32
- import "./src/infrastructure-validator/index.mjs";
33
- import { createMermaidGenerator } from "./src/mermaid-generator.mjs";
34
- import { NoTracer } from "./src/observability/no-tracer.mjs";
35
- import { MotiaEventManager, createStepHandlers } from "./src/step-handlers.mjs";
36
- import { MotiaServer, createServer } from "./src/server.mjs";
37
- import { createStateAdapter } from "./src/state/create-state-adapter.mjs";
38
- export { type AdapterConfig, ApiMiddleware, ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteHandler, ApiRouteMethod, type BaseStreamItem, type Config, type CronAdapter, type CronAdapterConfig, type CronConfig, CronHandler, type CronLock, type CronLockInfo, type CronManager, InMemoryCronAdapter as DefaultCronAdapter, InMemoryQueueEventAdapter as DefaultQueueEventAdapter, Emit, EmitData, Emitter, Event, type EventAdapter, EventConfig, EventHandler, FileStateAdapter, FileStreamAdapter, FileStreamAdapterManager, Flow, FlowContext, FlowContextStateStreams, Handler, HandlerConfig, Handlers, InfrastructureConfig, type InfrastructureValidationError, type InfrastructureValidationResult, InternalStateManager, JsonSchema, JsonSchemaError, LockedData, Logger, MemoryStateAdapter, MemoryStreamAdapter, MemoryStreamAdapterManager, type Metric, type Motia, type MotiaEventManager, MotiaPlugin, MotiaPluginBuilder, type MotiaPluginContext, type MotiaServer, type MotiaStream, NoPrinter, NoTracer, NoopConfig, type ObservabilityAdapter, PLUGIN_FLOW_ID, type PluginApiConfig, PluginStep, Printer, QueryParam, QueueConfig, QueueManager, type QueueMetrics, type StateAdapter, type StateFilter, type StateItem, type StateItemsInput, type StateStreamEvent, type StateStreamEventChannel, Step, StepConfig, StepHandler, StepSchemaInput, type Stream, StreamAdapter, type StreamAdapterManager, StreamAuthConfig, type StreamAuthRequest, type StreamConfig, type StreamQueryFilter, type StreamSubscription, SubscribeConfig, type SubscriptionHandle, type Tracer, type UnregisterMotiaPluginApi, UnsubscribeConfig, WorkbenchPlugin, ZodInput, config, createMermaidGenerator, createServer, createStateAdapter, createStepHandlers, getProjectIdentifier, getProjectName, getStepConfig, getStreamConfig, getUserIdentifier, isAnalyticsEnabled, isAnyOf, isApiStep, isCronStep, isEventStep, isNoopStep, setupCronHandlers, trackEvent, validateInfrastructureConfig };
package/dist/index.mjs DELETED
@@ -1,30 +0,0 @@
1
- import { InMemoryCronAdapter } from "./src/adapters/defaults/cron/in-memory-cron-adapter.mjs";
2
- import { Logger } from "./src/logger.mjs";
3
- import { QueueManager } from "./src/queue-manager.mjs";
4
- import { InMemoryQueueEventAdapter } from "./src/adapters/defaults/event/in-memory-queue-event-adapter.mjs";
5
- import { FileStateAdapter } from "./src/adapters/defaults/state/file-state-adapter.mjs";
6
- import { MemoryStateAdapter } from "./src/adapters/defaults/state/memory-state-adapter.mjs";
7
- import { StreamAdapter } from "./src/adapters/interfaces/stream-adapter.interface.mjs";
8
- import { FileStreamAdapter } from "./src/adapters/defaults/stream/file-stream-adapter.mjs";
9
- import { FileStreamAdapterManager } from "./src/adapters/defaults/stream/file-stream-adapter-manager.mjs";
10
- import { MemoryStreamAdapter } from "./src/adapters/defaults/stream/memory-stream-adapter.mjs";
11
- import { MemoryStreamAdapterManager } from "./src/adapters/defaults/stream/memory-stream-adapter-manager.mjs";
12
- import "./src/adapters/defaults/index.mjs";
13
- import { getProjectIdentifier, getProjectName, getUserIdentifier, isAnalyticsEnabled, trackEvent } from "./src/analytics/utils.mjs";
14
- import { config } from "./src/config.mjs";
15
- import { isApiStep, isCronStep, isEventStep, isNoopStep } from "./src/guards.mjs";
16
- import { setupCronHandlers } from "./src/cron-handler.mjs";
17
- import { getStepConfig, getStreamConfig } from "./src/get-step-config.mjs";
18
- import { validateInfrastructureConfig } from "./src/infrastructure-validator/validations.mjs";
19
- import "./src/infrastructure-validator/index.mjs";
20
- import { PLUGIN_FLOW_ID } from "./src/motia.mjs";
21
- import { JsonSchemaError, isAnyOf } from "./src/types/schema.types.mjs";
22
- import { LockedData } from "./src/locked-data.mjs";
23
- import { createMermaidGenerator } from "./src/mermaid-generator.mjs";
24
- import { NoTracer } from "./src/observability/no-tracer.mjs";
25
- import { NoPrinter, Printer } from "./src/printer.mjs";
26
- import { createStepHandlers } from "./src/step-handlers.mjs";
27
- import { createServer } from "./src/server.mjs";
28
- import { createStateAdapter } from "./src/state/create-state-adapter.mjs";
29
-
30
- export { InMemoryCronAdapter as DefaultCronAdapter, InMemoryQueueEventAdapter as DefaultQueueEventAdapter, FileStateAdapter, FileStreamAdapter, FileStreamAdapterManager, JsonSchemaError, LockedData, Logger, MemoryStateAdapter, MemoryStreamAdapter, MemoryStreamAdapterManager, NoPrinter, NoTracer, PLUGIN_FLOW_ID, Printer, QueueManager, StreamAdapter, config, createMermaidGenerator, createServer, createStateAdapter, createStepHandlers, getProjectIdentifier, getProjectName, getStepConfig, getStreamConfig, getUserIdentifier, isAnalyticsEnabled, isAnyOf, isApiStep, isCronStep, isEventStep, isNoopStep, setupCronHandlers, trackEvent, validateInfrastructureConfig };
@@ -1,17 +0,0 @@
1
- import { CronAdapter, CronLock, CronLockInfo } from "../../interfaces/cron-adapter.interface.mjs";
2
-
3
- //#region src/adapters/defaults/cron/in-memory-cron-adapter.d.ts
4
- declare class InMemoryCronAdapter implements CronAdapter {
5
- private locks;
6
- private instanceId;
7
- constructor();
8
- acquireLock(jobName: string, ttl: number): Promise<CronLock | null>;
9
- releaseLock(lock: CronLock): Promise<void>;
10
- renewLock(lock: CronLock, ttl: number): Promise<boolean>;
11
- isHealthy(): Promise<boolean>;
12
- shutdown(): Promise<void>;
13
- getActiveLocks(): Promise<CronLockInfo[]>;
14
- }
15
- //#endregion
16
- export { InMemoryCronAdapter };
17
- //# sourceMappingURL=in-memory-cron-adapter.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-cron-adapter.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/cron/in-memory-cron-adapter.ts"],"sourcesContent":[],"mappings":";;;cAIa,mBAAA,YAA+B;;EAA/B,QAAA,UAAA;EAQ8C,WAAA,CAAA;EAAR,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAQ,QAAR,GAAA,IAAA,CAAA;EAczB,WAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAW,OAAX,CAAA,IAAA,CAAA;EAAW,SAAA,CAAA,IAAA,EAIb,QAJa,EAAA,GAAA,EAAA,MAAA,CAAA,EAIW,OAJX,CAAA,OAAA,CAAA;EAIb,SAAA,CAAA,CAAA,EAUH,OAVG,CAAA,OAAA,CAAA;EAAwB,QAAA,CAAA,CAAA,EAc5B,OAd4B,CAAA,IAAA,CAAA;EAU3B,cAAA,CAAA,CAAA,EAQK,OARL,CAQa,YARb,EAAA,CAAA"}
@@ -1,51 +0,0 @@
1
- import os from "os";
2
- import { v4 } from "uuid";
3
-
4
- //#region src/adapters/defaults/cron/in-memory-cron-adapter.ts
5
- var InMemoryCronAdapter = class {
6
- constructor() {
7
- this.locks = /* @__PURE__ */ new Map();
8
- this.instanceId = `${os.hostname()}-${v4()}`;
9
- }
10
- async acquireLock(jobName, ttl) {
11
- const now = Date.now();
12
- const lock = {
13
- jobName,
14
- lockId: v4(),
15
- acquiredAt: now,
16
- expiresAt: now + ttl,
17
- instanceId: this.instanceId
18
- };
19
- this.locks.set(jobName, lock);
20
- return lock;
21
- }
22
- async releaseLock(lock) {
23
- this.locks.delete(lock.jobName);
24
- }
25
- async renewLock(lock, ttl) {
26
- const existingLock = this.locks.get(lock.jobName);
27
- if (existingLock && existingLock.lockId === lock.lockId) {
28
- existingLock.expiresAt = Date.now() + ttl;
29
- return true;
30
- }
31
- return true;
32
- }
33
- async isHealthy() {
34
- return true;
35
- }
36
- async shutdown() {
37
- this.locks.clear();
38
- }
39
- async getActiveLocks() {
40
- return Array.from(this.locks.values()).map((lock) => ({
41
- jobName: lock.jobName,
42
- instanceId: lock.instanceId,
43
- acquiredAt: lock.acquiredAt,
44
- expiresAt: lock.expiresAt
45
- }));
46
- }
47
- };
48
-
49
- //#endregion
50
- export { InMemoryCronAdapter };
51
- //# sourceMappingURL=in-memory-cron-adapter.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-cron-adapter.mjs","names":["uuidv4","lock: CronLock"],"sources":["../../../../../src/adapters/defaults/cron/in-memory-cron-adapter.ts"],"sourcesContent":["import os from 'os'\nimport { v4 as uuidv4 } from 'uuid'\nimport type { CronAdapter, CronLock, CronLockInfo } from '../../interfaces/cron-adapter.interface'\n\nexport class InMemoryCronAdapter implements CronAdapter {\n private locks: Map<string, CronLock> = new Map()\n private instanceId: string\n\n constructor() {\n this.instanceId = `${os.hostname()}-${uuidv4()}`\n }\n\n async acquireLock(jobName: string, ttl: number): Promise<CronLock | null> {\n const now = Date.now()\n const lock: CronLock = {\n jobName,\n lockId: uuidv4(),\n acquiredAt: now,\n expiresAt: now + ttl,\n instanceId: this.instanceId,\n }\n\n this.locks.set(jobName, lock)\n return lock\n }\n\n async releaseLock(lock: CronLock): Promise<void> {\n this.locks.delete(lock.jobName)\n }\n\n async renewLock(lock: CronLock, ttl: number): Promise<boolean> {\n const existingLock = this.locks.get(lock.jobName)\n if (existingLock && existingLock.lockId === lock.lockId) {\n const now = Date.now()\n existingLock.expiresAt = now + ttl\n return true\n }\n return true\n }\n\n async isHealthy(): Promise<boolean> {\n return true\n }\n\n async shutdown(): Promise<void> {\n this.locks.clear()\n }\n\n async getActiveLocks(): Promise<CronLockInfo[]> {\n return Array.from(this.locks.values()).map((lock) => ({\n jobName: lock.jobName,\n instanceId: lock.instanceId,\n acquiredAt: lock.acquiredAt,\n expiresAt: lock.expiresAt,\n }))\n }\n}\n"],"mappings":";;;;AAIA,IAAa,sBAAb,MAAwD;CAItD,cAAc;+BAHyB,IAAI,KAAK;AAI9C,OAAK,aAAa,GAAG,GAAG,UAAU,CAAC,GAAGA,IAAQ;;CAGhD,MAAM,YAAY,SAAiB,KAAuC;EACxE,MAAM,MAAM,KAAK,KAAK;EACtB,MAAMC,OAAiB;GACrB;GACA,QAAQD,IAAQ;GAChB,YAAY;GACZ,WAAW,MAAM;GACjB,YAAY,KAAK;GAClB;AAED,OAAK,MAAM,IAAI,SAAS,KAAK;AAC7B,SAAO;;CAGT,MAAM,YAAY,MAA+B;AAC/C,OAAK,MAAM,OAAO,KAAK,QAAQ;;CAGjC,MAAM,UAAU,MAAgB,KAA+B;EAC7D,MAAM,eAAe,KAAK,MAAM,IAAI,KAAK,QAAQ;AACjD,MAAI,gBAAgB,aAAa,WAAW,KAAK,QAAQ;AAEvD,gBAAa,YADD,KAAK,KAAK,GACS;AAC/B,UAAO;;AAET,SAAO;;CAGT,MAAM,YAA8B;AAClC,SAAO;;CAGT,MAAM,WAA0B;AAC9B,OAAK,MAAM,OAAO;;CAGpB,MAAM,iBAA0C;AAC9C,SAAO,MAAM,KAAK,KAAK,MAAM,QAAQ,CAAC,CAAC,KAAK,UAAU;GACpD,SAAS,KAAK;GACd,YAAY,KAAK;GACjB,YAAY,KAAK;GACjB,WAAW,KAAK;GACjB,EAAE"}
@@ -1,19 +0,0 @@
1
- import { EventAdapter, SubscriptionHandle } from "../../interfaces/event-adapter.interface.mjs";
2
- import { Event, QueueConfig } from "../../../types.mjs";
3
- import { QueueMetrics } from "../../../queue-manager.mjs";
4
-
5
- //#region src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts
6
- declare class InMemoryQueueEventAdapter implements EventAdapter {
7
- private queueManager;
8
- private subscriptions;
9
- emit<TData>(event: Event<TData>): Promise<void>;
10
- subscribe<TData>(topic: string, stepName: string, handler: (event: Event<TData>) => void | Promise<void>, queueConfig?: QueueConfig): Promise<SubscriptionHandle>;
11
- unsubscribe(handle: SubscriptionHandle): Promise<void>;
12
- shutdown(): Promise<void>;
13
- getSubscriptionCount(topic: string): Promise<number>;
14
- listTopics(): Promise<string[]>;
15
- getAllMetrics(): Record<string, QueueMetrics>;
16
- }
17
- //#endregion
18
- export { InMemoryQueueEventAdapter };
19
- //# sourceMappingURL=in-memory-queue-event-adapter.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory-queue-event-adapter.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/event/in-memory-queue-event-adapter.ts"],"sourcesContent":[],"mappings":";;;;;cAMa,yBAAA,YAAqC;;EAArC,QAAA,aAAA;EAKoB,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,EAAN,KAAM,CAAA,KAAA,CAAA,CAAA,EAAS,OAAT,CAAA,IAAA,CAAA;EAAN,SAAA,CAAA,KAAA,CAAA,CAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,CAAA,KAAA,EAON,KAPM,CAOA,KAPA,CAAA,EAAA,GAAA,IAAA,GAOkB,OAPlB,CAAA,IAAA,CAAA,EAAA,WAAA,CAAA,EAQT,WARS,CAAA,EAStB,OATsB,CASd,kBATc,CAAA;EAAe,WAAA,CAAA,MAAA,EA4Bd,kBA5Bc,CAAA,EA4BO,OA5BP,CAAA,IAAA,CAAA;EAOf,QAAA,CAAA,CAAA,EA6BP,OA7BO,CAAA,IAAA,CAAA;EAAN,oBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAiCwB,OAjCxB,CAAA,MAAA,CAAA;EAAwB,UAAA,CAAA,CAAA,EAqCvB,OArCuB,CAAA,MAAA,EAAA,CAAA;EAC3B,aAAA,CAAA,CAAA,EAwCC,MAxCD,CAAA,MAAA,EAwCgB,YAxChB,CAAA"}