@motiadev/core 0.13.2-beta.164-110989 → 0.14.0-beta.164

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/dist/index.d.ts +30 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +72 -0
  4. package/dist/jest.config.d.ts +8 -0
  5. package/dist/jest.config.d.ts.map +1 -0
  6. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +13 -0
  7. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +1 -0
  8. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +53 -0
  9. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +15 -0
  10. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +1 -0
  11. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +49 -0
  12. package/dist/src/adapters/defaults/index.d.ts +9 -0
  13. package/dist/src/adapters/defaults/index.d.ts.map +1 -0
  14. package/dist/src/adapters/defaults/index.js +19 -0
  15. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +23 -0
  16. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +1 -0
  17. package/dist/src/adapters/defaults/state/file-state-adapter.js +149 -0
  18. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +16 -0
  19. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +1 -0
  20. package/dist/src/adapters/defaults/state/memory-state-adapter.js +69 -0
  21. package/dist/src/adapters/defaults/state/utils.d.ts +4 -0
  22. package/dist/src/adapters/defaults/state/utils.d.ts.map +1 -0
  23. package/dist/src/adapters/defaults/state/utils.js +66 -0
  24. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +9 -0
  25. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +1 -0
  26. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +14 -0
  27. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +22 -0
  28. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +1 -0
  29. package/dist/src/adapters/defaults/stream/file-stream-adapter.js +125 -0
  30. package/dist/src/adapters/defaults/stream/index.d.ts +5 -0
  31. package/dist/src/adapters/defaults/stream/index.d.ts.map +1 -0
  32. package/dist/src/adapters/defaults/stream/index.js +11 -0
  33. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +6 -0
  34. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +1 -0
  35. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +10 -0
  36. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +16 -0
  37. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +1 -0
  38. package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +55 -0
  39. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +29 -0
  40. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +1 -0
  41. package/dist/src/adapters/interfaces/cron-adapter.interface.js +2 -0
  42. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +15 -0
  43. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +1 -0
  44. package/dist/src/adapters/interfaces/event-adapter.interface.js +2 -0
  45. package/dist/src/adapters/interfaces/index.d.ts +7 -0
  46. package/dist/src/adapters/interfaces/index.d.ts.map +1 -0
  47. package/dist/src/adapters/interfaces/index.js +5 -0
  48. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +23 -0
  49. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +1 -0
  50. package/dist/src/adapters/interfaces/observability-adapter.interface.js +2 -0
  51. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +24 -0
  52. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +1 -0
  53. package/dist/src/adapters/interfaces/state-adapter.interface.js +2 -0
  54. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +6 -0
  55. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +1 -0
  56. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +2 -0
  57. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +22 -0
  58. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +1 -0
  59. package/dist/src/adapters/interfaces/stream-adapter.interface.js +16 -0
  60. package/dist/src/analytics/utils.d.ts +6 -0
  61. package/dist/src/analytics/utils.d.ts.map +1 -0
  62. package/dist/src/analytics/utils.js +51 -0
  63. package/dist/src/call-step-file.d.ts +16 -0
  64. package/dist/src/call-step-file.d.ts.map +1 -0
  65. package/dist/src/call-step-file.js +198 -0
  66. package/dist/src/config.d.ts +3 -0
  67. package/dist/src/config.d.ts.map +1 -0
  68. package/dist/src/config.js +5 -0
  69. package/dist/src/config.types.d.ts +17 -0
  70. package/dist/src/config.types.d.ts.map +1 -0
  71. package/dist/src/config.types.js +2 -0
  72. package/dist/src/cron-handler.d.ts +14 -0
  73. package/dist/src/cron-handler.d.ts.map +1 -0
  74. package/dist/src/cron-handler.js +132 -0
  75. package/dist/src/endpoints/analytics-endpoint.d.ts +3 -0
  76. package/dist/src/endpoints/analytics-endpoint.d.ts.map +1 -0
  77. package/dist/src/endpoints/analytics-endpoint.js +28 -0
  78. package/dist/src/endpoints/flows-config-endpoint.d.ts +4 -0
  79. package/dist/src/endpoints/flows-config-endpoint.d.ts.map +1 -0
  80. package/dist/src/endpoints/flows-config-endpoint.js +34 -0
  81. package/dist/src/endpoints/flows-endpoint.d.ts +3 -0
  82. package/dist/src/endpoints/flows-endpoint.d.ts.map +1 -0
  83. package/dist/src/endpoints/flows-endpoint.js +29 -0
  84. package/dist/src/endpoints/step-endpoint.d.ts +4 -0
  85. package/dist/src/endpoints/step-endpoint.d.ts.map +1 -0
  86. package/dist/src/endpoints/step-endpoint.js +45 -0
  87. package/dist/src/generate-trace-id.d.ts +3 -0
  88. package/dist/src/generate-trace-id.d.ts.map +1 -0
  89. package/dist/src/generate-trace-id.js +14 -0
  90. package/dist/src/get-step-config.d.ts +5 -0
  91. package/dist/src/get-step-config.d.ts.map +1 -0
  92. package/dist/src/get-step-config.js +68 -0
  93. package/dist/src/get-step-language.d.ts +2 -0
  94. package/dist/src/get-step-language.d.ts.map +1 -0
  95. package/dist/src/get-step-language.js +27 -0
  96. package/dist/src/guards.d.ts +6 -0
  97. package/dist/src/guards.d.ts.map +1 -0
  98. package/dist/src/guards.js +11 -0
  99. package/dist/src/helper/flows-helper.d.ts +6 -0
  100. package/dist/src/helper/flows-helper.d.ts.map +1 -0
  101. package/dist/src/helper/flows-helper.js +143 -0
  102. package/dist/src/infrastructure-validator/defaults.d.ts +4 -0
  103. package/dist/src/infrastructure-validator/defaults.d.ts.map +1 -0
  104. package/dist/src/infrastructure-validator/defaults.js +16 -0
  105. package/dist/src/infrastructure-validator/index.d.ts +4 -0
  106. package/dist/src/infrastructure-validator/index.d.ts.map +1 -0
  107. package/dist/src/infrastructure-validator/index.js +13 -0
  108. package/dist/src/infrastructure-validator/schemas.d.ts +45 -0
  109. package/dist/src/infrastructure-validator/schemas.d.ts.map +1 -0
  110. package/dist/src/infrastructure-validator/schemas.js +100 -0
  111. package/dist/src/infrastructure-validator/types.d.ts +21 -0
  112. package/dist/src/infrastructure-validator/types.d.ts.map +1 -0
  113. package/dist/src/infrastructure-validator/types.js +2 -0
  114. package/dist/src/infrastructure-validator/validations.d.ts +4 -0
  115. package/dist/src/infrastructure-validator/validations.d.ts.map +1 -0
  116. package/dist/src/infrastructure-validator/validations.js +62 -0
  117. package/dist/src/language-runner.d.ts +15 -0
  118. package/dist/src/language-runner.d.ts.map +1 -0
  119. package/dist/src/language-runner.js +31 -0
  120. package/dist/src/locked-data.d.ts +78 -0
  121. package/dist/src/locked-data.d.ts.map +1 -0
  122. package/dist/src/locked-data.js +284 -0
  123. package/dist/src/logger-factory.d.ts +19 -0
  124. package/dist/src/logger-factory.d.ts.map +1 -0
  125. package/dist/src/logger-factory.js +27 -0
  126. package/dist/src/logger.d.ts +26 -0
  127. package/dist/src/logger.d.ts.map +1 -0
  128. package/dist/src/logger.js +60 -0
  129. package/dist/src/mermaid-generator.d.ts +5 -0
  130. package/dist/src/mermaid-generator.d.ts.map +1 -0
  131. package/dist/src/mermaid-generator.js +203 -0
  132. package/dist/src/motia.d.ts +33 -0
  133. package/dist/src/motia.d.ts.map +1 -0
  134. package/dist/src/motia.js +4 -0
  135. package/dist/src/node/can-access.d.ts +2 -0
  136. package/dist/src/node/can-access.d.ts.map +1 -0
  137. package/dist/src/node/can-access.js +44 -0
  138. package/dist/src/node/get-config.d.ts +2 -0
  139. package/dist/src/node/get-config.d.ts.map +1 -0
  140. package/dist/src/node/get-config.js +64 -0
  141. package/dist/src/node/logger.d.ts +16 -0
  142. package/dist/src/node/logger.d.ts.map +1 -0
  143. package/dist/src/node/logger.js +48 -0
  144. package/dist/src/node/middleware-compose.d.ts +2 -0
  145. package/dist/src/node/middleware-compose.d.ts.map +1 -0
  146. package/dist/src/node/middleware-compose.js +10 -0
  147. package/dist/src/node/node-runner.d.ts +2 -0
  148. package/dist/src/node/node-runner.d.ts.map +1 -0
  149. package/dist/src/node/node-runner.js +83 -0
  150. package/dist/src/node/rpc-state-manager.d.ts +12 -0
  151. package/dist/src/node/rpc-state-manager.d.ts.map +1 -0
  152. package/dist/src/node/rpc-state-manager.js +24 -0
  153. package/dist/src/node/rpc.d.ts +10 -0
  154. package/dist/src/node/rpc.d.ts.map +1 -0
  155. package/dist/src/node/rpc.js +50 -0
  156. package/dist/src/observability/create-trace.d.ts +4 -0
  157. package/dist/src/observability/create-trace.d.ts.map +1 -0
  158. package/dist/src/observability/create-trace.js +22 -0
  159. package/dist/src/observability/index.d.ts +4 -0
  160. package/dist/src/observability/index.d.ts.map +1 -0
  161. package/dist/src/observability/index.js +2 -0
  162. package/dist/src/observability/no-tracer.d.ts +10 -0
  163. package/dist/src/observability/no-tracer.d.ts.map +1 -0
  164. package/dist/src/observability/no-tracer.js +22 -0
  165. package/dist/src/observability/redis-trace-stream-adapter.d.ts +17 -0
  166. package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +1 -0
  167. package/dist/src/observability/redis-trace-stream-adapter.js +65 -0
  168. package/dist/src/observability/stream-tracer.d.ts +23 -0
  169. package/dist/src/observability/stream-tracer.d.ts.map +1 -0
  170. package/dist/src/observability/stream-tracer.js +114 -0
  171. package/dist/src/observability/trace-manager.d.ts +14 -0
  172. package/dist/src/observability/trace-manager.d.ts.map +1 -0
  173. package/dist/src/observability/trace-manager.js +26 -0
  174. package/dist/src/observability/tracer.d.ts +19 -0
  175. package/dist/src/observability/tracer.d.ts.map +1 -0
  176. package/dist/src/observability/tracer.js +98 -0
  177. package/dist/src/observability/types.d.ts +75 -0
  178. package/dist/src/observability/types.d.ts.map +1 -0
  179. package/dist/src/observability/types.js +2 -0
  180. package/dist/src/pretty-print.d.ts +2 -0
  181. package/dist/src/pretty-print.d.ts.map +1 -0
  182. package/dist/src/pretty-print.js +63 -0
  183. package/dist/src/printer.d.ts +61 -0
  184. package/dist/src/printer.d.ts.map +1 -0
  185. package/dist/src/printer.js +164 -0
  186. package/dist/src/process-communication/communication-config.d.ts +8 -0
  187. package/dist/src/process-communication/communication-config.d.ts.map +1 -0
  188. package/dist/src/process-communication/communication-config.js +18 -0
  189. package/dist/src/process-communication/process-manager.d.ts +32 -0
  190. package/dist/src/process-communication/process-manager.d.ts.map +1 -0
  191. package/dist/src/process-communication/process-manager.js +88 -0
  192. package/dist/src/process-communication/rpc-processor-interface.d.ts +10 -0
  193. package/dist/src/process-communication/rpc-processor-interface.d.ts.map +1 -0
  194. package/dist/src/process-communication/rpc-processor-interface.js +2 -0
  195. package/dist/src/queue-manager.d.ts +42 -0
  196. package/dist/src/queue-manager.d.ts.map +1 -0
  197. package/dist/src/queue-manager.js +252 -0
  198. package/dist/src/ruby/get-ruby-config.d.ts +3 -0
  199. package/dist/src/ruby/get-ruby-config.d.ts.map +1 -0
  200. package/dist/src/ruby/get-ruby-config.js +34 -0
  201. package/dist/src/run-stream-can-access.d.ts +10 -0
  202. package/dist/src/run-stream-can-access.d.ts.map +1 -0
  203. package/dist/src/run-stream-can-access.js +59 -0
  204. package/dist/src/schema-utils.d.ts +9 -0
  205. package/dist/src/schema-utils.d.ts.map +1 -0
  206. package/dist/src/schema-utils.js +80 -0
  207. package/dist/src/server.d.ts +37 -0
  208. package/dist/src/server.d.ts.map +1 -0
  209. package/dist/src/server.js +344 -0
  210. package/dist/src/socket-server/helpers.d.ts +53 -0
  211. package/dist/src/socket-server/helpers.d.ts.map +1 -0
  212. package/dist/src/socket-server/helpers.js +28 -0
  213. package/dist/src/socket-server.d.ts +21 -0
  214. package/dist/src/socket-server.d.ts.map +1 -0
  215. package/dist/src/socket-server.js +127 -0
  216. package/dist/src/state/create-state-adapter.d.ts +8 -0
  217. package/dist/src/state/create-state-adapter.d.ts.map +1 -0
  218. package/dist/src/state/create-state-adapter.js +8 -0
  219. package/dist/src/step-handler-rpc-processor.d.ts +22 -0
  220. package/dist/src/step-handler-rpc-processor.d.ts.map +1 -0
  221. package/dist/src/step-handler-rpc-processor.js +63 -0
  222. package/dist/src/step-handler-rpc-stdin-processor.d.ts +23 -0
  223. package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +1 -0
  224. package/dist/src/step-handler-rpc-stdin-processor.js +83 -0
  225. package/dist/src/step-handlers.d.ts +9 -0
  226. package/dist/src/step-handlers.d.ts.map +1 -0
  227. package/dist/src/step-handlers.js +77 -0
  228. package/dist/src/step-validator.d.ts +15 -0
  229. package/dist/src/step-validator.d.ts.map +1 -0
  230. package/dist/src/step-validator.js +135 -0
  231. package/dist/src/steps/emit.step.d.ts +12 -0
  232. package/dist/src/steps/emit.step.d.ts.map +1 -0
  233. package/dist/src/steps/emit.step.js +27 -0
  234. package/dist/src/steps/index.d.ts +3 -0
  235. package/dist/src/steps/index.d.ts.map +1 -0
  236. package/dist/src/steps/index.js +16 -0
  237. package/dist/src/streams/flows-config-stream.d.ts +14 -0
  238. package/dist/src/streams/flows-config-stream.d.ts.map +1 -0
  239. package/dist/src/streams/flows-config-stream.js +49 -0
  240. package/dist/src/streams/flows-stream.d.ts +12 -0
  241. package/dist/src/streams/flows-stream.d.ts.map +1 -0
  242. package/dist/src/streams/flows-stream.js +35 -0
  243. package/dist/src/streams/redis-logs-stream.d.ts +31 -0
  244. package/dist/src/streams/redis-logs-stream.d.ts.map +1 -0
  245. package/dist/src/streams/redis-logs-stream.js +84 -0
  246. package/dist/src/streams/stream-factory.d.ts +3 -0
  247. package/dist/src/streams/stream-factory.d.ts.map +1 -0
  248. package/dist/src/streams/stream-factory.js +2 -0
  249. package/dist/src/types/app-config-types.d.ts +45 -0
  250. package/dist/src/types/app-config-types.d.ts.map +1 -0
  251. package/dist/src/types/app-config-types.js +2 -0
  252. package/dist/src/types/flows-config-types.d.ts +10 -0
  253. package/dist/src/types/flows-config-types.d.ts.map +1 -0
  254. package/dist/src/types/flows-config-types.js +2 -0
  255. package/dist/src/types/flows-types.d.ts +39 -0
  256. package/dist/src/types/flows-types.d.ts.map +1 -0
  257. package/dist/src/types/flows-types.js +2 -0
  258. package/dist/src/types/generate-type-from-schema.d.ts +3 -0
  259. package/dist/src/types/generate-type-from-schema.d.ts.map +1 -0
  260. package/dist/src/types/generate-type-from-schema.js +49 -0
  261. package/dist/src/types/generate-types-from-response.d.ts +3 -0
  262. package/dist/src/types/generate-types-from-response.d.ts.map +1 -0
  263. package/dist/src/types/generate-types-from-response.js +13 -0
  264. package/dist/src/types/generate-types.d.ts +13 -0
  265. package/dist/src/types/generate-types.d.ts.map +1 -0
  266. package/dist/src/types/generate-types.js +127 -0
  267. package/dist/src/types/merge-schemas.d.ts +5 -0
  268. package/dist/src/types/merge-schemas.d.ts.map +1 -0
  269. package/dist/src/types/merge-schemas.js +183 -0
  270. package/dist/src/types/schema.types.d.ts +9 -0
  271. package/dist/src/types/schema.types.d.ts.map +1 -0
  272. package/dist/src/types/schema.types.js +14 -0
  273. package/dist/src/types-stream.d.ts +42 -0
  274. package/dist/src/types-stream.d.ts.map +1 -0
  275. package/dist/src/types-stream.js +2 -0
  276. package/dist/src/types.d.ts +190 -0
  277. package/dist/src/types.d.ts.map +1 -0
  278. package/dist/src/types.js +17 -0
  279. package/dist/src/utils.d.ts +3 -0
  280. package/dist/src/utils.d.ts.map +1 -0
  281. package/dist/src/utils.js +12 -0
  282. package/dist/src/validate-event-input.d.ts +3 -0
  283. package/dist/src/validate-event-input.d.ts.map +1 -0
  284. package/dist/src/validate-event-input.js +74 -0
  285. package/package.json +8 -21
  286. package/dist/index.d.mts +0 -38
  287. package/dist/index.mjs +0 -30
  288. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +0 -17
  289. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +0 -1
  290. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +0 -51
  291. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +0 -1
  292. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +0 -19
  293. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +0 -1
  294. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +0 -54
  295. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +0 -1
  296. package/dist/src/adapters/defaults/index.d.mts +0 -8
  297. package/dist/src/adapters/defaults/index.mjs +0 -10
  298. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +0 -27
  299. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +0 -1
  300. package/dist/src/adapters/defaults/state/file-state-adapter.mjs +0 -105
  301. package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +0 -1
  302. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +0 -20
  303. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +0 -1
  304. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +0 -58
  305. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +0 -1
  306. package/dist/src/adapters/defaults/state/utils.mjs +0 -40
  307. package/dist/src/adapters/defaults/state/utils.mjs.map +0 -1
  308. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +0 -13
  309. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +0 -1
  310. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +0 -16
  311. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +0 -1
  312. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +0 -24
  313. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +0 -1
  314. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +0 -84
  315. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +0 -1
  316. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +0 -10
  317. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +0 -1
  318. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +0 -12
  319. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +0 -1
  320. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +0 -20
  321. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +0 -1
  322. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +0 -58
  323. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +0 -1
  324. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +0 -32
  325. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +0 -1
  326. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +0 -19
  327. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +0 -1
  328. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +0 -27
  329. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +0 -1
  330. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +0 -28
  331. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +0 -1
  332. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +0 -10
  333. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +0 -1
  334. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +0 -26
  335. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +0 -1
  336. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +0 -17
  337. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +0 -1
  338. package/dist/src/analytics/utils.d.mts +0 -9
  339. package/dist/src/analytics/utils.d.mts.map +0 -1
  340. package/dist/src/analytics/utils.mjs +0 -35
  341. package/dist/src/analytics/utils.mjs.map +0 -1
  342. package/dist/src/call-step-file.mjs +0 -213
  343. package/dist/src/call-step-file.mjs.map +0 -1
  344. package/dist/src/config.d.mts +0 -7
  345. package/dist/src/config.d.mts.map +0 -1
  346. package/dist/src/config.mjs +0 -6
  347. package/dist/src/config.mjs.map +0 -1
  348. package/dist/src/cron-handler.d.mts +0 -18
  349. package/dist/src/cron-handler.d.mts.map +0 -1
  350. package/dist/src/cron-handler.mjs +0 -103
  351. package/dist/src/cron-handler.mjs.map +0 -1
  352. package/dist/src/endpoints/analytics-endpoint.mjs +0 -29
  353. package/dist/src/endpoints/analytics-endpoint.mjs.map +0 -1
  354. package/dist/src/endpoints/flows-config-endpoint.mjs +0 -38
  355. package/dist/src/endpoints/flows-config-endpoint.mjs.map +0 -1
  356. package/dist/src/endpoints/flows-endpoint.mjs +0 -39
  357. package/dist/src/endpoints/flows-endpoint.mjs.map +0 -1
  358. package/dist/src/endpoints/step-endpoint.mjs +0 -41
  359. package/dist/src/endpoints/step-endpoint.mjs.map +0 -1
  360. package/dist/src/generate-trace-id.mjs +0 -13
  361. package/dist/src/generate-trace-id.mjs.map +0 -1
  362. package/dist/src/get-step-config.d.mts +0 -9
  363. package/dist/src/get-step-config.d.mts.map +0 -1
  364. package/dist/src/get-step-config.mjs +0 -63
  365. package/dist/src/get-step-config.mjs.map +0 -1
  366. package/dist/src/get-step-language.mjs +0 -14
  367. package/dist/src/get-step-language.mjs.map +0 -1
  368. package/dist/src/guards.d.mts +0 -10
  369. package/dist/src/guards.d.mts.map +0 -1
  370. package/dist/src/guards.mjs +0 -9
  371. package/dist/src/guards.mjs.map +0 -1
  372. package/dist/src/helper/flows-helper.mjs +0 -126
  373. package/dist/src/helper/flows-helper.mjs.map +0 -1
  374. package/dist/src/infrastructure-validator/defaults.mjs +0 -17
  375. package/dist/src/infrastructure-validator/defaults.mjs.map +0 -1
  376. package/dist/src/infrastructure-validator/index.d.mts +0 -3
  377. package/dist/src/infrastructure-validator/index.mjs +0 -4
  378. package/dist/src/infrastructure-validator/schemas.d.mts +0 -1
  379. package/dist/src/infrastructure-validator/schemas.mjs +0 -77
  380. package/dist/src/infrastructure-validator/schemas.mjs.map +0 -1
  381. package/dist/src/infrastructure-validator/types.d.mts +0 -14
  382. package/dist/src/infrastructure-validator/types.d.mts.map +0 -1
  383. package/dist/src/infrastructure-validator/validations.d.mts +0 -7
  384. package/dist/src/infrastructure-validator/validations.d.mts.map +0 -1
  385. package/dist/src/infrastructure-validator/validations.mjs +0 -29
  386. package/dist/src/infrastructure-validator/validations.mjs.map +0 -1
  387. package/dist/src/language-runner.mjs +0 -55
  388. package/dist/src/language-runner.mjs.map +0 -1
  389. package/dist/src/locked-data.d.mts +0 -81
  390. package/dist/src/locked-data.d.mts.map +0 -1
  391. package/dist/src/locked-data.mjs +0 -223
  392. package/dist/src/locked-data.mjs.map +0 -1
  393. package/dist/src/logger-factory.d.mts +0 -16
  394. package/dist/src/logger-factory.d.mts.map +0 -1
  395. package/dist/src/logger-factory.mjs +0 -33
  396. package/dist/src/logger-factory.mjs.map +0 -1
  397. package/dist/src/logger.d.mts +0 -28
  398. package/dist/src/logger.d.mts.map +0 -1
  399. package/dist/src/logger.mjs +0 -64
  400. package/dist/src/logger.mjs.map +0 -1
  401. package/dist/src/mermaid-generator.d.mts +0 -9
  402. package/dist/src/mermaid-generator.d.mts.map +0 -1
  403. package/dist/src/mermaid-generator.mjs +0 -126
  404. package/dist/src/mermaid-generator.mjs.map +0 -1
  405. package/dist/src/motia.d.mts +0 -36
  406. package/dist/src/motia.d.mts.map +0 -1
  407. package/dist/src/motia.mjs +0 -6
  408. package/dist/src/motia.mjs.map +0 -1
  409. package/dist/src/node/can-access.d.mts +0 -1
  410. package/dist/src/node/can-access.mjs +0 -36
  411. package/dist/src/node/can-access.mjs.map +0 -1
  412. package/dist/src/node/get-config.d.mts +0 -1
  413. package/dist/src/node/get-config.mjs +0 -49
  414. package/dist/src/node/get-config.mjs.map +0 -1
  415. package/dist/src/node/logger.mjs +0 -47
  416. package/dist/src/node/logger.mjs.map +0 -1
  417. package/dist/src/node/middleware-compose.mjs +0 -10
  418. package/dist/src/node/middleware-compose.mjs.map +0 -1
  419. package/dist/src/node/node-runner.d.mts +0 -1
  420. package/dist/src/node/node-runner.mjs +0 -94
  421. package/dist/src/node/node-runner.mjs.map +0 -1
  422. package/dist/src/node/rpc-state-manager.mjs +0 -35
  423. package/dist/src/node/rpc-state-manager.mjs.map +0 -1
  424. package/dist/src/node/rpc.mjs +0 -55
  425. package/dist/src/node/rpc.mjs.map +0 -1
  426. package/dist/src/observability/create-trace.mjs +0 -26
  427. package/dist/src/observability/create-trace.mjs.map +0 -1
  428. package/dist/src/observability/index.d.mts +0 -7
  429. package/dist/src/observability/index.d.mts.map +0 -1
  430. package/dist/src/observability/no-tracer.d.mts +0 -15
  431. package/dist/src/observability/no-tracer.d.mts.map +0 -1
  432. package/dist/src/observability/no-tracer.mjs +0 -15
  433. package/dist/src/observability/no-tracer.mjs.map +0 -1
  434. package/dist/src/observability/redis-trace-stream-adapter.mjs +0 -76
  435. package/dist/src/observability/redis-trace-stream-adapter.mjs.map +0 -1
  436. package/dist/src/observability/stream-tracer.mjs +0 -87
  437. package/dist/src/observability/stream-tracer.mjs.map +0 -1
  438. package/dist/src/observability/trace-manager.mjs +0 -24
  439. package/dist/src/observability/trace-manager.mjs.map +0 -1
  440. package/dist/src/observability/tracer.mjs +0 -87
  441. package/dist/src/observability/tracer.mjs.map +0 -1
  442. package/dist/src/observability/types.d.mts +0 -14
  443. package/dist/src/observability/types.d.mts.map +0 -1
  444. package/dist/src/pretty-print.mjs +0 -50
  445. package/dist/src/pretty-print.mjs.map +0 -1
  446. package/dist/src/printer.d.mts +0 -65
  447. package/dist/src/printer.d.mts.map +0 -1
  448. package/dist/src/printer.mjs +0 -147
  449. package/dist/src/printer.mjs.map +0 -1
  450. package/dist/src/process-communication/communication-config.mjs +0 -26
  451. package/dist/src/process-communication/communication-config.mjs.map +0 -1
  452. package/dist/src/process-communication/process-manager.mjs +0 -67
  453. package/dist/src/process-communication/process-manager.mjs.map +0 -1
  454. package/dist/src/queue-manager.d.mts +0 -37
  455. package/dist/src/queue-manager.d.mts.map +0 -1
  456. package/dist/src/queue-manager.mjs +0 -209
  457. package/dist/src/queue-manager.mjs.map +0 -1
  458. package/dist/src/run-stream-can-access.mjs +0 -59
  459. package/dist/src/run-stream-can-access.mjs.map +0 -1
  460. package/dist/src/schema-utils.mjs +0 -30
  461. package/dist/src/schema-utils.mjs.map +0 -1
  462. package/dist/src/server.d.mts +0 -40
  463. package/dist/src/server.d.mts.map +0 -1
  464. package/dist/src/server.mjs +0 -352
  465. package/dist/src/server.mjs.map +0 -1
  466. package/dist/src/socket-server/helpers.mjs +0 -35
  467. package/dist/src/socket-server/helpers.mjs.map +0 -1
  468. package/dist/src/socket-server.mjs +0 -127
  469. package/dist/src/socket-server.mjs.map +0 -1
  470. package/dist/src/state/create-state-adapter.d.mts +0 -11
  471. package/dist/src/state/create-state-adapter.d.mts.map +0 -1
  472. package/dist/src/state/create-state-adapter.mjs +0 -11
  473. package/dist/src/state/create-state-adapter.mjs.map +0 -1
  474. package/dist/src/step-handler-rpc-processor.mjs +0 -56
  475. package/dist/src/step-handler-rpc-processor.mjs.map +0 -1
  476. package/dist/src/step-handler-rpc-stdin-processor.mjs +0 -71
  477. package/dist/src/step-handler-rpc-stdin-processor.mjs.map +0 -1
  478. package/dist/src/step-handlers.d.mts +0 -13
  479. package/dist/src/step-handlers.d.mts.map +0 -1
  480. package/dist/src/step-handlers.mjs +0 -93
  481. package/dist/src/step-handlers.mjs.map +0 -1
  482. package/dist/src/step-validator.d.mts +0 -15
  483. package/dist/src/step-validator.d.mts.map +0 -1
  484. package/dist/src/step-validator.mjs +0 -118
  485. package/dist/src/step-validator.mjs.map +0 -1
  486. package/dist/src/steps/emit.step.mjs +0 -20
  487. package/dist/src/steps/emit.step.mjs.map +0 -1
  488. package/dist/src/steps/index.mjs +0 -14
  489. package/dist/src/steps/index.mjs.map +0 -1
  490. package/dist/src/streams/flows-config-stream.mjs +0 -46
  491. package/dist/src/streams/flows-config-stream.mjs.map +0 -1
  492. package/dist/src/streams/flows-stream.mjs +0 -33
  493. package/dist/src/streams/flows-stream.mjs.map +0 -1
  494. package/dist/src/streams/redis-logs-stream.d.mts +0 -3
  495. package/dist/src/streams/redis-logs-stream.mjs +0 -97
  496. package/dist/src/streams/redis-logs-stream.mjs.map +0 -1
  497. package/dist/src/streams/stream-factory.d.mts +0 -7
  498. package/dist/src/streams/stream-factory.d.mts.map +0 -1
  499. package/dist/src/types/app-config-types.d.mts +0 -48
  500. package/dist/src/types/app-config-types.d.mts.map +0 -1
  501. package/dist/src/types/generate-type-from-schema.mjs +0 -30
  502. package/dist/src/types/generate-type-from-schema.mjs.map +0 -1
  503. package/dist/src/types/generate-types-from-response.mjs +0 -12
  504. package/dist/src/types/generate-types-from-response.mjs.map +0 -1
  505. package/dist/src/types/generate-types.mjs +0 -101
  506. package/dist/src/types/generate-types.mjs.map +0 -1
  507. package/dist/src/types/merge-schemas.mjs +0 -102
  508. package/dist/src/types/merge-schemas.mjs.map +0 -1
  509. package/dist/src/types/schema.types.d.mts +0 -13
  510. package/dist/src/types/schema.types.d.mts.map +0 -1
  511. package/dist/src/types/schema.types.mjs +0 -14
  512. package/dist/src/types/schema.types.mjs.map +0 -1
  513. package/dist/src/types-stream.d.mts +0 -46
  514. package/dist/src/types-stream.d.mts.map +0 -1
  515. package/dist/src/types.d.mts +0 -194
  516. package/dist/src/types.d.mts.map +0 -1
  517. package/dist/src/utils.mjs +0 -13
  518. package/dist/src/utils.mjs.map +0 -1
  519. package/dist/src/validate-event-input.mjs +0 -76
  520. package/dist/src/validate-event-input.mjs.map +0 -1
  521. package/jest.config.cjs +0 -20
  522. package/tsdown.config.ts +0 -53
@@ -1,58 +0,0 @@
1
- import { StreamAdapter } from "../../interfaces/stream-adapter.interface.mjs";
2
-
3
- //#region src/adapters/defaults/stream/memory-stream-adapter.ts
4
- var MemoryStreamAdapter = class extends StreamAdapter {
5
- constructor(streamName) {
6
- super(streamName);
7
- this.state = {};
8
- }
9
- async init() {
10
- this.state = {};
11
- }
12
- async getGroup(groupId) {
13
- const prefix = this._makeKeyPrefix(groupId);
14
- return Object.entries(this.state).filter(([key]) => key.startsWith(prefix)).map(([key, value]) => {
15
- const id = key.split(":").pop();
16
- return {
17
- ...value,
18
- id
19
- };
20
- });
21
- }
22
- async get(groupId, id) {
23
- const key = this._makeKey(groupId, id);
24
- const value = this.state[key];
25
- return value ? {
26
- ...value,
27
- id
28
- } : null;
29
- }
30
- async set(groupId, id, value) {
31
- const key = this._makeKey(groupId, id);
32
- this.state[key] = value;
33
- return {
34
- ...value,
35
- id
36
- };
37
- }
38
- async delete(groupId, id) {
39
- const key = this._makeKey(groupId, id);
40
- const value = await this.get(groupId, id);
41
- if (value) delete this.state[key];
42
- return value;
43
- }
44
- async clear(groupId) {
45
- const prefix = this._makeKeyPrefix(groupId);
46
- for (const key in this.state) if (key.startsWith(prefix)) delete this.state[key];
47
- }
48
- _makeKeyPrefix(groupId) {
49
- return `${this.streamName}:${groupId}`;
50
- }
51
- _makeKey(groupId, id) {
52
- return `${this.streamName}:${groupId}:${id}`;
53
- }
54
- };
55
-
56
- //#endregion
57
- export { MemoryStreamAdapter };
58
- //# sourceMappingURL=memory-stream-adapter.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-stream-adapter.mjs","names":[],"sources":["../../../../../src/adapters/defaults/stream/memory-stream-adapter.ts"],"sourcesContent":["import { StreamAdapter } from '../../interfaces/stream-adapter.interface'\n\nexport class MemoryStreamAdapter<TData> extends StreamAdapter<TData> {\n private state: Record<string, unknown> = {}\n\n constructor(streamName: string) {\n super(streamName)\n }\n\n async init() {\n this.state = {}\n }\n\n async getGroup<T>(groupId: string): Promise<T[]> {\n const prefix = this._makeKeyPrefix(groupId)\n return Object.entries(this.state)\n .filter(([key]) => key.startsWith(prefix))\n .map(([key, value]) => {\n const id = key.split(':').pop()\n return { ...(value as object), id } as T\n })\n }\n\n async get<T>(groupId: string, id: string): Promise<T | null> {\n const key = this._makeKey(groupId, id)\n const value = this.state[key]\n\n return value ? ({ ...(value as object), id } as T) : null\n }\n\n async set<T>(groupId: string, id: string, value: T) {\n const key = this._makeKey(groupId, id)\n\n this.state[key] = value\n\n return { ...value, id }\n }\n\n async delete<T>(groupId: string, id: string): Promise<T | null> {\n const key = this._makeKey(groupId, id)\n const value = await this.get<T>(groupId, id)\n\n if (value) {\n delete this.state[key]\n }\n\n return value\n }\n\n async clear(groupId: string): Promise<void> {\n const prefix = this._makeKeyPrefix(groupId)\n for (const key in this.state) {\n if (key.startsWith(prefix)) {\n delete this.state[key]\n }\n }\n }\n\n private _makeKeyPrefix(groupId: string) {\n return `${this.streamName}:${groupId}`\n }\n\n private _makeKey(groupId: string, id: string) {\n return `${this.streamName}:${groupId}:${id}`\n }\n}\n"],"mappings":";;;AAEA,IAAa,sBAAb,cAAgD,cAAqB;CAGnE,YAAY,YAAoB;AAC9B,QAAM,WAAW;eAHsB,EAAE;;CAM3C,MAAM,OAAO;AACX,OAAK,QAAQ,EAAE;;CAGjB,MAAM,SAAY,SAA+B;EAC/C,MAAM,SAAS,KAAK,eAAe,QAAQ;AAC3C,SAAO,OAAO,QAAQ,KAAK,MAAM,CAC9B,QAAQ,CAAC,SAAS,IAAI,WAAW,OAAO,CAAC,CACzC,KAAK,CAAC,KAAK,WAAW;GACrB,MAAM,KAAK,IAAI,MAAM,IAAI,CAAC,KAAK;AAC/B,UAAO;IAAE,GAAI;IAAkB;IAAI;IACnC;;CAGN,MAAM,IAAO,SAAiB,IAA+B;EAC3D,MAAM,MAAM,KAAK,SAAS,SAAS,GAAG;EACtC,MAAM,QAAQ,KAAK,MAAM;AAEzB,SAAO,QAAS;GAAE,GAAI;GAAkB;GAAI,GAAS;;CAGvD,MAAM,IAAO,SAAiB,IAAY,OAAU;EAClD,MAAM,MAAM,KAAK,SAAS,SAAS,GAAG;AAEtC,OAAK,MAAM,OAAO;AAElB,SAAO;GAAE,GAAG;GAAO;GAAI;;CAGzB,MAAM,OAAU,SAAiB,IAA+B;EAC9D,MAAM,MAAM,KAAK,SAAS,SAAS,GAAG;EACtC,MAAM,QAAQ,MAAM,KAAK,IAAO,SAAS,GAAG;AAE5C,MAAI,MACF,QAAO,KAAK,MAAM;AAGpB,SAAO;;CAGT,MAAM,MAAM,SAAgC;EAC1C,MAAM,SAAS,KAAK,eAAe,QAAQ;AAC3C,OAAK,MAAM,OAAO,KAAK,MACrB,KAAI,IAAI,WAAW,OAAO,CACxB,QAAO,KAAK,MAAM;;CAKxB,AAAQ,eAAe,SAAiB;AACtC,SAAO,GAAG,KAAK,WAAW,GAAG;;CAG/B,AAAQ,SAAS,SAAiB,IAAY;AAC5C,SAAO,GAAG,KAAK,WAAW,GAAG,QAAQ,GAAG"}
@@ -1,32 +0,0 @@
1
- //#region src/adapters/interfaces/cron-adapter.interface.d.ts
2
- interface CronLock {
3
- jobName: string;
4
- lockId: string;
5
- acquiredAt: number;
6
- expiresAt: number;
7
- instanceId: string;
8
- }
9
- interface CronLockInfo {
10
- jobName: string;
11
- instanceId: string;
12
- acquiredAt: number;
13
- expiresAt: number;
14
- }
15
- interface CronAdapterConfig {
16
- lockTTL?: number;
17
- lockRetryDelay?: number;
18
- lockRetryAttempts?: number;
19
- instanceId?: string;
20
- enableHealthCheck?: boolean;
21
- }
22
- interface CronAdapter {
23
- acquireLock(jobName: string, ttl: number): Promise<CronLock | null>;
24
- releaseLock(lock: CronLock): Promise<void>;
25
- renewLock(lock: CronLock, ttl: number): Promise<boolean>;
26
- isHealthy(): Promise<boolean>;
27
- shutdown(): Promise<void>;
28
- getActiveLocks(): Promise<CronLockInfo[]>;
29
- }
30
- //#endregion
31
- export { CronAdapter, CronAdapterConfig, CronLock, CronLockInfo };
32
- //# sourceMappingURL=cron-adapter.interface.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cron-adapter.interface.d.mts","names":[],"sources":["../../../../src/adapters/interfaces/cron-adapter.interface.ts"],"sourcesContent":[],"mappings":";UAAiB,QAAA;EAAA,OAAA,EAAA,MAAQ;EAQR,MAAA,EAAA,MAAA;EAOA,UAAA,EAAA,MAAA;EAQA,SAAA,EAAA,MAAW;EACyB,UAAA,EAAA,MAAA;;AAEjC,UAlBH,YAAA,CAkBG;EAAW,OAAA,EAAA,MAAA;EAEb,UAAA,EAAA,MAAA;EAAwB,UAAA,EAAA,MAAA;EAE3B,SAAA,EAAA,MAAA;;AAIa,UAnBX,iBAAA,CAmBW;EAAR,OAAA,CAAA,EAAA,MAAA;EAAO,cAAA,CAAA,EAAA,MAAA;;;;;UAXV,WAAA;6CAC4B,QAAQ;oBAEjC,WAAW;kBAEb,wBAAwB;eAE3B;cAED;oBAEM,QAAQ"}
@@ -1,19 +0,0 @@
1
- import { Event, QueueConfig } from "../../types.mjs";
2
-
3
- //#region src/adapters/interfaces/event-adapter.interface.d.ts
4
- interface SubscriptionHandle {
5
- topic: string;
6
- id: string;
7
- unsubscribe: () => Promise<void>;
8
- }
9
- interface EventAdapter {
10
- emit<TData>(event: Event<TData>): Promise<void>;
11
- subscribe<TData>(topic: string, stepName: string, handler: (event: Event<TData>) => void | Promise<void>, options?: QueueConfig): Promise<SubscriptionHandle>;
12
- unsubscribe(handle: SubscriptionHandle): Promise<void>;
13
- shutdown(): Promise<void>;
14
- getSubscriptionCount(topic: string): Promise<number>;
15
- listTopics(): Promise<string[]>;
16
- }
17
- //#endregion
18
- export { EventAdapter, SubscriptionHandle };
19
- //# sourceMappingURL=event-adapter.interface.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-adapter.interface.d.mts","names":[],"sources":["../../../../src/adapters/interfaces/event-adapter.interface.ts"],"sourcesContent":[],"mappings":";;;UAEiB,kBAAA;;EAAA,EAAA,EAAA,MAAA;EAMA,WAAA,EAAA,GAAY,GAHR,OAGQ,CAAA,IAAA,CAAA;;AACR,UADJ,YAAA,CACI;EAAe,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,EAAf,KAAe,CAAT,KAAS,CAAA,CAAA,EAAA,OAAA,CAAA,IAAA,CAAA;EAKT,SAAA,CAAA,KAAA,CAAA,CAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,CAAA,KAAA,EAAN,KAAM,CAAA,KAAA,CAAA,EAAA,GAAA,IAAA,GAAkB,OAAlB,CAAA,IAAA,CAAA,EAAA,OAAA,CAAA,EACb,WADa,CAAA,EAEtB,OAFsB,CAEd,kBAFc,CAAA;EAAN,WAAA,CAAA,MAAA,EAIC,kBAJD,CAAA,EAIsB,OAJtB,CAAA,IAAA,CAAA;EAAwB,QAAA,EAAA,EAM/B,OAN+B,CAAA,IAAA,CAAA;EAC/B,oBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAOyB,OAPzB,CAAA,MAAA,CAAA;EACD,UAAA,EAAA,EAQG,OARH,CAAA,MAAA,EAAA,CAAA"}
@@ -1,27 +0,0 @@
1
- import { Logger } from "../../logger.mjs";
2
- import { StateOperation, StreamOperation, TraceError } from "../../observability/types.mjs";
3
- import { Step } from "../../types.mjs";
4
-
5
- //#region src/adapters/interfaces/observability-adapter.interface.d.ts
6
- interface Metric {
7
- name: string;
8
- value: number;
9
- tags?: Record<string, string>;
10
- timestamp?: number;
11
- }
12
- interface Tracer {
13
- end(err?: TraceError): void;
14
- stateOperation(operation: StateOperation, input: unknown): void;
15
- emitOperation(topic: string, data: unknown, success: boolean): void;
16
- streamOperation(streamName: string, operation: StreamOperation, input: unknown): void;
17
- child(step: Step, logger: Logger): Tracer;
18
- }
19
- interface ObservabilityAdapter {
20
- createTracer(traceId: string, step: Step, logger: Logger): Promise<Tracer> | Tracer;
21
- attachToTrace(traceId: string, step: Step, logger: Logger): Promise<Tracer> | Tracer;
22
- clear(): Promise<void>;
23
- recordMetric?(metric: Metric): Promise<void> | void;
24
- }
25
- //#endregion
26
- export { Metric, ObservabilityAdapter, Tracer };
27
- //# sourceMappingURL=observability-adapter.interface.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"observability-adapter.interface.d.mts","names":[],"sources":["../../../../src/adapters/interfaces/observability-adapter.interface.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,MAAA;;EAAA,KAAA,EAAA,MAAM;EAON,IAAA,CAAA,EAJR,MAIc,CAAA,MAAA,EAAA,MAAA,CAAA;EACX,SAAA,CAAA,EAAA,MAAA;;AAGqC,UAJhC,MAAA,CAIgC;EACnC,GAAA,CAAA,GAAA,CAAA,EAJF,UAIE,CAAA,EAAA,IAAA;EAAc,cAAA,CAAA,SAAA,EAHA,cAGA,EAAA,KAAA,EAAA,OAAA,CAAA,EAAA,IAAA;EAAS,aAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,IAAA;EAAM,eAAA,CAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EADM,eACN,EAAA,KAAA,EAAA,OAAA,CAAA,EAAA,IAAA;EAG1B,KAAA,CAAA,IAAA,EAHH,IAGG,EAAA,MAAoB,EAHT,MAGS,CAAA,EAHA,MAGA;;AACe,UADnC,oBAAA,CACmC;EAAiB,YAAA,CAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAA/B,IAA+B,EAAA,MAAA,EAAjB,MAAiB,CAAA,EAAR,OAAQ,CAAA,MAAA,CAAA,GAAU,MAAV;EAAR,aAAA,CAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EACtB,IADsB,EAAA,MAAA,EACR,MADQ,CAAA,EACC,OADD,CACS,MADT,CAAA,GACmB,MADnB;EAAkB,KAAA,EAAA,EAEpE,OAFoE,CAAA,IAAA,CAAA;EACxC,YAAA,EAAA,MAAA,EAEf,MAFe,CAAA,EAEN,OAFM,CAAA,IAAA,CAAA,GAAA,IAAA"}
@@ -1,28 +0,0 @@
1
- import { InternalStateManager } from "../../types.mjs";
2
-
3
- //#region src/adapters/interfaces/state-adapter.interface.d.ts
4
- interface StateItem {
5
- groupId: string;
6
- key: string;
7
- type: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'null';
8
- value: string | number | boolean | object | unknown[] | null;
9
- }
10
- interface StateFilter {
11
- valueKey: string;
12
- operation: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'isNotNull' | 'isNull';
13
- value: string;
14
- }
15
- interface StateItemsInput {
16
- groupId?: string;
17
- filter?: StateFilter[];
18
- }
19
- interface StateAdapter extends InternalStateManager {
20
- clear(traceId: string): Promise<void>;
21
- cleanup(): Promise<void>;
22
- keys(traceId: string): Promise<string[]>;
23
- traceIds(): Promise<string[]>;
24
- items(input: StateItemsInput): Promise<StateItem[]>;
25
- }
26
- //#endregion
27
- export { StateAdapter, StateFilter, StateItem, StateItemsInput };
28
- //# sourceMappingURL=state-adapter.interface.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-adapter.interface.d.mts","names":[],"sources":["../../../../src/adapters/interfaces/state-adapter.interface.ts"],"sourcesContent":[],"mappings":";;;UAEiB,SAAA;;EAAA,GAAA,EAAA,MAAA;EAOA,IAAA,EAAA,QAAW,GAAA,QAAA,GAAA,SAAA,GAAA,QAAA,GAAA,OAAA,GAAA,MAAA;EAkBX,KAAA,EAAA,MAAA,GAAA,MAAe,GAAA,OAErB,GAAA,MAAA,GAAW,OAAA,EAAA,GAAA,IAAA;AAGtB;AAC0B,UAxBT,WAAA,CAwBS;EACb,QAAA,EAAA,MAAA;EAEY,SAAA,EAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,KAAA,GAAA,IAAA,GAAA,KAAA,GAAA,UAAA,GAAA,aAAA,GAAA,YAAA,GAAA,UAAA,GAAA,WAAA,GAAA,QAAA;EACX,KAAA,EAAA,MAAA;;AAE2B,UAZxB,eAAA,CAYwB;EAAR,OAAA,CAAA,EAAA,MAAA;EAPK,MAAA,CAAA,EAH3B,WAG2B,EAAA;;UAArB,YAAA,SAAqB;0BACZ;aACb;yBAEY;cACX;eAEC,kBAAkB,QAAQ"}
@@ -1,10 +0,0 @@
1
- import { StreamAdapter } from "./stream-adapter.interface.mjs";
2
-
3
- //#region src/adapters/interfaces/stream-adapter-manager.interface.d.ts
4
- interface StreamAdapterManager {
5
- createStream<TData>(streamName: string): StreamAdapter<TData>;
6
- shutdown?(): Promise<void>;
7
- }
8
- //#endregion
9
- export { StreamAdapterManager };
10
- //# sourceMappingURL=stream-adapter-manager.interface.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-adapter-manager.interface.d.mts","names":[],"sources":["../../../../src/adapters/interfaces/stream-adapter-manager.interface.ts"],"sourcesContent":[],"mappings":";;;UAEiB,oBAAA;2CAC0B,cAAc;EADxC,QAAA,GAAA,EAEF,OAFE,CAAA,IAAoB,CAAA"}
@@ -1,26 +0,0 @@
1
- import { BaseStreamItem, MotiaStream, StateStreamEvent, StateStreamEventChannel } from "../../types-stream.mjs";
2
-
3
- //#region src/adapters/interfaces/stream-adapter.interface.d.ts
4
- interface StreamQueryFilter<TData> {
5
- limit?: number;
6
- offset?: number;
7
- orderBy?: keyof TData;
8
- orderDirection?: 'asc' | 'desc';
9
- where?: Partial<TData>;
10
- }
11
- declare abstract class StreamAdapter<TData> implements MotiaStream<TData> {
12
- protected streamName: string;
13
- constructor(streamName: string);
14
- abstract get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
15
- abstract set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>>;
16
- abstract delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
17
- abstract getGroup(groupId: string): Promise<BaseStreamItem<TData>[]>;
18
- send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void>;
19
- subscribe<T>(channel: StateStreamEventChannel, handler: (event: StateStreamEvent<T>) => void | Promise<void>): Promise<void>;
20
- unsubscribe(channel: StateStreamEventChannel): Promise<void>;
21
- clear(groupId: string): Promise<void>;
22
- query(groupId: string, filter: StreamQueryFilter<TData>): Promise<BaseStreamItem<TData>[]>;
23
- }
24
- //#endregion
25
- export { StreamAdapter, StreamQueryFilter };
26
- //# sourceMappingURL=stream-adapter.interface.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-adapter.interface.d.mts","names":[],"sources":["../../../../src/adapters/interfaces/stream-adapter.interface.ts"],"sourcesContent":[],"mappings":";;;UAEiB;;EAAA,MAAA,CAAA,EAAA,MAAA;EAGC,OAAA,CAAA,EAAA,MAAA,KAAA;EAEA,cAAA,CAAA,EAAA,KAAA,GAAA,MAAA;EAAR,KAAA,CAAA,EAAA,OAAA,CAAQ,KAAR,CAAA;;AAGY,uBAAA,aAAa,CAAA,KAAA,CAAA,YAAmB,WAAnB,CAA+B,KAA/B,CAAA,CAAA;EAA+B,UAAA,UAAA,EAAA,MAAA;EAOE,WAAA,CAAA,UAAA,EAAA,MAAA;EAAf,SAAA,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,cAAA,CAAe,KAAf,CAAA,GAAA,IAAA,CAAA;EAAR,SAAA,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EACK,KADL,CAAA,EACa,OADb,CACqB,cADrB,CACoC,KADpC,CAAA,CAAA;EACK,SAAA,MAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EACF,OADE,CACM,cADN,CACqB,KADrB,CAAA,GAAA,IAAA,CAAA;EAA+B,SAAA,QAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAE3C,OAF2C,CAEnC,cAFmC,CAEpB,KAFoB,CAAA,EAAA,CAAA;EAAf,IAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAIzC,uBAJyC,EAAA,KAAA,EAIT,gBAJS,CAIQ,CAJR,CAAA,CAAA,EAIa,OAJb,CAAA,IAAA,CAAA;EAAR,SAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAO7C,uBAP6C,EAAA,OAAA,EAAA,CAAA,KAAA,EAQrC,gBARqC,CAQpB,CARoB,CAAA,EAAA,GAAA,IAAA,GAQN,OARM,CAAA,IAAA,CAAA,CAAA,EASrD,OATqD,CAAA,IAAA,CAAA;EACa,WAAA,CAAA,OAAA,EAU1C,uBAV0C,CAAA,EAUhB,OAVgB,CAAA,IAAA,CAAA;EAAf,KAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAYxB,OAZwB,CAAA,IAAA,CAAA;EAAR,KAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAcT,iBAdS,CAcS,KAdT,CAAA,CAAA,EAckB,OAdlB,CAc0B,cAd1B,CAcyC,KAdzC,CAAA,EAAA,CAAA"}
@@ -1,17 +0,0 @@
1
- //#region src/adapters/interfaces/stream-adapter.interface.ts
2
- var StreamAdapter = class {
3
- constructor(streamName) {
4
- this.streamName = streamName;
5
- }
6
- async send(channel, event) {}
7
- async subscribe(channel, handler) {}
8
- async unsubscribe(channel) {}
9
- async clear(groupId) {}
10
- async query(groupId, filter) {
11
- return [];
12
- }
13
- };
14
-
15
- //#endregion
16
- export { StreamAdapter };
17
- //# sourceMappingURL=stream-adapter.interface.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-adapter.interface.mjs","names":[],"sources":["../../../../src/adapters/interfaces/stream-adapter.interface.ts"],"sourcesContent":["import type { BaseStreamItem, MotiaStream, StateStreamEvent, StateStreamEventChannel } from '../../types-stream'\n\nexport interface StreamQueryFilter<TData> {\n limit?: number\n offset?: number\n orderBy?: keyof TData\n orderDirection?: 'asc' | 'desc'\n where?: Partial<TData>\n}\n\nexport abstract class StreamAdapter<TData> implements MotiaStream<TData> {\n protected streamName: string\n\n constructor(streamName: string) {\n this.streamName = streamName\n }\n\n abstract get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>\n abstract set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>>\n abstract delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>\n abstract getGroup(groupId: string): Promise<BaseStreamItem<TData>[]>\n\n async send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void> {}\n\n async subscribe<T>(\n channel: StateStreamEventChannel,\n handler: (event: StateStreamEvent<T>) => void | Promise<void>,\n ): Promise<void> {}\n\n async unsubscribe(channel: StateStreamEventChannel): Promise<void> {}\n\n async clear(groupId: string): Promise<void> {}\n\n async query(groupId: string, filter: StreamQueryFilter<TData>): Promise<BaseStreamItem<TData>[]> {\n return []\n }\n}\n"],"mappings":";AAUA,IAAsB,gBAAtB,MAAyE;CAGvE,YAAY,YAAoB;AAC9B,OAAK,aAAa;;CAQpB,MAAM,KAAQ,SAAkC,OAA2C;CAE3F,MAAM,UACJ,SACA,SACe;CAEjB,MAAM,YAAY,SAAiD;CAEnE,MAAM,MAAM,SAAgC;CAE5C,MAAM,MAAM,SAAiB,QAAoE;AAC/F,SAAO,EAAE"}
@@ -1,9 +0,0 @@
1
- //#region src/analytics/utils.d.ts
2
- declare const getProjectName: (baseDir: string) => string;
3
- declare const getUserIdentifier: () => string;
4
- declare const getProjectIdentifier: (baseDir: string) => string;
5
- declare const isAnalyticsEnabled: () => boolean;
6
- declare const trackEvent: (eventName: string, properties?: Record<string, any>) => void;
7
- //#endregion
8
- export { getProjectIdentifier, getProjectName, getUserIdentifier, isAnalyticsEnabled, trackEvent };
9
- //# sourceMappingURL=utils.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.mts","names":[],"sources":["../../../src/analytics/utils.ts"],"sourcesContent":[],"mappings":";cAMa;AAAA,cAUA,iBAFZ,EAAA,GAAA,GAAA,MAAA;AAEY,cAKA,oBAFZ,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,MAAA;AAEY,cAQA,kBAFZ,EAAA,GAAA,GAAA,OAAA;AAEY,cAIA,UAFZ,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAEyD,MAFzD,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA"}
@@ -1,35 +0,0 @@
1
- import os from "os";
2
- import crypto from "crypto";
3
- import fs from "fs";
4
- import path from "path";
5
- import { track } from "@amplitude/analytics-node";
6
-
7
- //#region src/analytics/utils.ts
8
- const getProjectName = (baseDir) => {
9
- const packageJsonPath = path.join(baseDir, "package.json");
10
- if (fs.existsSync(packageJsonPath)) return JSON.parse(fs.readFileSync(packageJsonPath, "utf8")).name || path.basename(baseDir);
11
- return "unknown";
12
- };
13
- const getUserIdentifier = () => {
14
- const userInfo = `${os.userInfo().username}${os.hostname()}`;
15
- return crypto.createHash("sha256").update(userInfo).digest("hex").substring(0, 16);
16
- };
17
- const getProjectIdentifier = (baseDir) => {
18
- try {
19
- return crypto.createHash("sha256").update(getProjectName(baseDir)).digest("hex").substring(0, 16);
20
- } catch (error) {
21
- return "unknown";
22
- }
23
- };
24
- const isAnalyticsEnabled = () => {
25
- return process.env.MOTIA_ANALYTICS_DISABLED !== "true";
26
- };
27
- const trackEvent = (eventName, properties = {}) => {
28
- try {
29
- if (isAnalyticsEnabled()) track(eventName, properties, { user_id: getUserIdentifier() || "unknown" });
30
- } catch (error) {}
31
- };
32
-
33
- //#endregion
34
- export { getProjectIdentifier, getProjectName, getUserIdentifier, isAnalyticsEnabled, trackEvent };
35
- //# sourceMappingURL=utils.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/analytics/utils.ts"],"sourcesContent":["import { track } from '@amplitude/analytics-node'\nimport crypto from 'crypto'\nimport fs from 'fs'\nimport os from 'os'\nimport path from 'path'\n\nexport const getProjectName = (baseDir: string): string => {\n const packageJsonPath = path.join(baseDir, 'package.json')\n if (fs.existsSync(packageJsonPath)) {\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))\n return packageJson.name || path.basename(baseDir)\n }\n\n return 'unknown'\n}\n\nexport const getUserIdentifier = (): string => {\n const userInfo = `${os.userInfo().username}${os.hostname()}`\n return crypto.createHash('sha256').update(userInfo).digest('hex').substring(0, 16)\n}\n\nexport const getProjectIdentifier = (baseDir: string): string => {\n try {\n return crypto.createHash('sha256').update(getProjectName(baseDir)).digest('hex').substring(0, 16)\n } catch (error) {\n return 'unknown'\n }\n}\n\nexport const isAnalyticsEnabled = (): boolean => {\n return process.env.MOTIA_ANALYTICS_DISABLED !== 'true'\n}\n\nexport const trackEvent = (eventName: string, properties: Record<string, any> = {}) => {\n try {\n if (isAnalyticsEnabled()) {\n track(eventName, properties, {\n user_id: getUserIdentifier() || 'unknown',\n })\n }\n } catch (error) {\n // Silently fail to not disrupt dev server\n }\n}\n"],"mappings":";;;;;;;AAMA,MAAa,kBAAkB,YAA4B;CACzD,MAAM,kBAAkB,KAAK,KAAK,SAAS,eAAe;AAC1D,KAAI,GAAG,WAAW,gBAAgB,CAEhC,QADoB,KAAK,MAAM,GAAG,aAAa,iBAAiB,OAAO,CAAC,CACrD,QAAQ,KAAK,SAAS,QAAQ;AAGnD,QAAO;;AAGT,MAAa,0BAAkC;CAC7C,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,WAAW,GAAG,UAAU;AAC1D,QAAO,OAAO,WAAW,SAAS,CAAC,OAAO,SAAS,CAAC,OAAO,MAAM,CAAC,UAAU,GAAG,GAAG;;AAGpF,MAAa,wBAAwB,YAA4B;AAC/D,KAAI;AACF,SAAO,OAAO,WAAW,SAAS,CAAC,OAAO,eAAe,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,UAAU,GAAG,GAAG;UAC1F,OAAO;AACd,SAAO;;;AAIX,MAAa,2BAAoC;AAC/C,QAAO,QAAQ,IAAI,6BAA6B;;AAGlD,MAAa,cAAc,WAAmB,aAAkC,EAAE,KAAK;AACrF,KAAI;AACF,MAAI,oBAAoB,CACtB,OAAM,WAAW,YAAY,EAC3B,SAAS,mBAAmB,IAAI,WACjC,CAAC;UAEG,OAAO"}
@@ -1,213 +0,0 @@
1
- import { trackEvent } from "./analytics/utils.mjs";
2
- import { getLanguageBasedRunner } from "./language-runner.mjs";
3
- import { ProcessManager } from "./process-communication/process-manager.mjs";
4
- import { isAllowedToEmit } from "./utils.mjs";
5
-
6
- //#region src/call-step-file.ts
7
- const callStepFile = (options, motia) => {
8
- const { step, traceId, data, tracer, logger, contextInFirstArg = false, infrastructure } = options;
9
- const flows = step.config.flows;
10
- return new Promise((resolve, reject) => {
11
- const streamConfig = motia.lockedData.getStreams();
12
- const streams = Object.keys(streamConfig).map((name) => ({ name }));
13
- const jsonData = JSON.stringify({
14
- data,
15
- flows,
16
- traceId,
17
- contextInFirstArg,
18
- streams
19
- });
20
- const { runner, command, args } = getLanguageBasedRunner(step.filePath);
21
- let result;
22
- let timeoutId;
23
- const processManager = new ProcessManager({
24
- command,
25
- args: [
26
- ...args,
27
- runner,
28
- step.filePath,
29
- jsonData
30
- ],
31
- logger,
32
- context: "StepExecution",
33
- projectRoot: motia.lockedData.baseDir
34
- });
35
- trackEvent("step_execution_started", {
36
- stepName: step.config.name,
37
- language: command,
38
- type: step.config.type,
39
- streams: streams.length
40
- });
41
- const timeoutSeconds = infrastructure?.handler?.timeout;
42
- if (timeoutSeconds) timeoutId = setTimeout(() => {
43
- processManager.kill();
44
- const errorMessage = `Step execution timed out after ${timeoutSeconds} seconds`;
45
- logger.error(errorMessage, {
46
- step: step.config.name,
47
- timeout: timeoutSeconds
48
- });
49
- tracer.end({ message: errorMessage });
50
- trackEvent("step_execution_timeout", {
51
- stepName: step.config.name,
52
- traceId,
53
- timeout: timeoutSeconds
54
- });
55
- reject(new Error(errorMessage));
56
- }, timeoutSeconds * 1e3);
57
- processManager.spawn().then(() => {
58
- processManager.handler("close", async (err) => {
59
- processManager.kill();
60
- if (err) {
61
- trackEvent("step_execution_error", {
62
- stepName: step.config.name,
63
- traceId,
64
- message: err.message
65
- });
66
- tracer.end({
67
- message: err.message,
68
- code: err.code,
69
- stack: err.stack?.replace(/* @__PURE__ */ new RegExp(`${motia.lockedData.baseDir}/`), "")
70
- });
71
- reject(new Error(err.message || "Handler execution failed"));
72
- } else tracer.end();
73
- });
74
- processManager.handler("log", async (input) => logger.log(input));
75
- processManager.handler("state.get", async (input) => {
76
- tracer.stateOperation("get", input);
77
- return motia.state.get(input.traceId, input.key);
78
- });
79
- processManager.handler("state.set", async (input) => {
80
- tracer.stateOperation("set", {
81
- traceId: input.traceId,
82
- key: input.key,
83
- value: input.value
84
- });
85
- return motia.state.set(input.traceId, input.key, input.value);
86
- });
87
- processManager.handler("state.delete", async (input) => {
88
- tracer.stateOperation("delete", input);
89
- return motia.state.delete(input.traceId, input.key);
90
- });
91
- processManager.handler("state.clear", async (input) => {
92
- tracer.stateOperation("clear", input);
93
- return motia.state.clear(input.traceId);
94
- });
95
- processManager.handler(`state.getGroup`, (input) => {
96
- tracer.stateOperation("getGroup", input);
97
- return motia.state.getGroup(input.groupId);
98
- });
99
- processManager.handler("result", async (input) => {
100
- const anyInput = { ...input };
101
- if (anyInput.body && anyInput.body.type === "Buffer") anyInput.body = Buffer.from(anyInput.body.data);
102
- result = anyInput;
103
- });
104
- processManager.handler("emit", async (input) => {
105
- const flows$1 = step.config.flows;
106
- if (!isAllowedToEmit(step, input.topic)) {
107
- tracer.emitOperation(input.topic, input.data, false);
108
- return motia.printer.printInvalidEmit(step, input.topic);
109
- }
110
- tracer.emitOperation(input.topic, input.data, true);
111
- return motia.eventAdapter.emit({
112
- ...input,
113
- traceId,
114
- flows: flows$1,
115
- logger,
116
- tracer
117
- });
118
- });
119
- Object.entries(streamConfig).forEach(([name, streamFactory]) => {
120
- const stateStream = streamFactory();
121
- processManager.handler(`streams.${name}.get`, async (input) => {
122
- tracer.streamOperation(name, "get", input);
123
- return stateStream.get(input.groupId, input.id);
124
- });
125
- processManager.handler(`streams.${name}.set`, async (input) => {
126
- tracer.streamOperation(name, "set", {
127
- groupId: input.groupId,
128
- id: input.id,
129
- data: input.data
130
- });
131
- return stateStream.set(input.groupId, input.id, input.data);
132
- });
133
- processManager.handler(`streams.${name}.delete`, async (input) => {
134
- tracer.streamOperation(name, "delete", input);
135
- return stateStream.delete(input.groupId, input.id);
136
- });
137
- processManager.handler(`streams.${name}.getGroup`, async (input) => {
138
- tracer.streamOperation(name, "getGroup", input);
139
- return stateStream.getGroup(input.groupId);
140
- });
141
- processManager.handler(`streams.${name}.send`, async (input) => {
142
- tracer.streamOperation(name, "send", input);
143
- return stateStream.send(input.channel, input.event);
144
- });
145
- });
146
- processManager.onStdout((data$1) => {
147
- try {
148
- const message = JSON.parse(data$1.toString());
149
- logger.log(message);
150
- } catch {
151
- logger.info(Buffer.from(data$1).toString());
152
- }
153
- });
154
- processManager.onStderr((data$1) => logger.error(Buffer.from(data$1).toString()));
155
- processManager.onProcessClose((code) => {
156
- if (timeoutId) clearTimeout(timeoutId);
157
- processManager.close();
158
- if (code !== 0 && code !== null) {
159
- const error = {
160
- message: `Process exited with code ${code}`,
161
- code
162
- };
163
- tracer.end(error);
164
- trackEvent("step_execution_error", {
165
- stepName: step.config.name,
166
- traceId,
167
- code
168
- });
169
- reject(`Process exited with code ${code}`);
170
- } else {
171
- tracer.end();
172
- resolve(result);
173
- }
174
- });
175
- processManager.onProcessError((error) => {
176
- if (timeoutId) clearTimeout(timeoutId);
177
- processManager.close();
178
- tracer.end({
179
- message: error.message,
180
- code: error.code,
181
- stack: error.stack
182
- });
183
- if (error.code === "ENOENT") {
184
- trackEvent("step_execution_error", {
185
- stepName: step.config.name,
186
- traceId,
187
- code: error.code,
188
- message: error.message
189
- });
190
- reject(`Executable ${command} not found`);
191
- } else reject(error);
192
- });
193
- }).catch((error) => {
194
- if (timeoutId) clearTimeout(timeoutId);
195
- tracer.end({
196
- message: error.message,
197
- code: error.code,
198
- stack: error.stack
199
- });
200
- trackEvent("step_execution_error", {
201
- stepName: step.config.name,
202
- traceId,
203
- code: error.code,
204
- message: error.message
205
- });
206
- reject(`Failed to spawn process: ${error}`);
207
- });
208
- });
209
- };
210
-
211
- //#endregion
212
- export { callStepFile };
213
- //# sourceMappingURL=call-step-file.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-step-file.mjs","names":["result: TData | undefined","timeoutId: NodeJS.Timeout | undefined","anyInput: any","flows","data"],"sources":["../../src/call-step-file.ts"],"sourcesContent":["import { trackEvent } from './analytics/utils'\nimport { getLanguageBasedRunner } from './language-runner'\nimport type { Logger } from './logger'\nimport type { Motia } from './motia'\nimport type { Tracer } from './observability'\nimport type { TraceError } from './observability/types'\nimport { ProcessManager } from './process-communication/process-manager'\nimport type { Event, InfrastructureConfig, Step } from './types'\nimport type { BaseStreamItem, StateStreamEvent, StateStreamEventChannel } from './types-stream'\nimport { isAllowedToEmit } from './utils'\n\ntype StateGetInput = { traceId: string; key: string }\ntype StateSetInput = { traceId: string; key: string; value: unknown }\ntype StateDeleteInput = { traceId: string; key: string }\ntype StateClearInput = { traceId: string }\n\ntype StateStreamGetInput = { groupId: string; id: string }\ntype StateStreamSendInput = { channel: StateStreamEventChannel; event: StateStreamEvent<unknown> }\ntype StateStreamMutateInput = { groupId: string; id: string; data: BaseStreamItem }\n\ntype CallStepFileOptions = {\n step: Step\n traceId: string\n data?: unknown\n contextInFirstArg?: boolean\n logger: Logger\n tracer: Tracer\n infrastructure?: Partial<InfrastructureConfig>\n}\n\nexport const callStepFile = <TData>(options: CallStepFileOptions, motia: Motia): Promise<TData | undefined> => {\n const { step, traceId, data, tracer, logger, contextInFirstArg = false, infrastructure } = options\n\n const flows = step.config.flows\n\n return new Promise((resolve, reject) => {\n const streamConfig = motia.lockedData.getStreams()\n const streams = Object.keys(streamConfig).map((name) => ({ name }))\n const jsonData = JSON.stringify({ data, flows, traceId, contextInFirstArg, streams })\n const { runner, command, args } = getLanguageBasedRunner(step.filePath)\n let result: TData | undefined\n let timeoutId: NodeJS.Timeout | undefined\n\n const processManager = new ProcessManager({\n command,\n args: [...args, runner, step.filePath, jsonData],\n logger,\n context: 'StepExecution',\n projectRoot: motia.lockedData.baseDir,\n })\n\n trackEvent('step_execution_started', {\n stepName: step.config.name,\n language: command,\n type: step.config.type,\n streams: streams.length,\n })\n\n const timeoutSeconds = infrastructure?.handler?.timeout\n if (timeoutSeconds) {\n timeoutId = setTimeout(() => {\n processManager.kill()\n const errorMessage = `Step execution timed out after ${timeoutSeconds} seconds`\n logger.error(errorMessage, { step: step.config.name, timeout: timeoutSeconds })\n tracer.end({ message: errorMessage })\n trackEvent('step_execution_timeout', {\n stepName: step.config.name,\n traceId,\n timeout: timeoutSeconds,\n })\n reject(new Error(errorMessage))\n }, timeoutSeconds * 1000)\n }\n\n processManager\n .spawn()\n .then(() => {\n processManager.handler<TraceError | undefined>('close', async (err) => {\n processManager.kill()\n\n if (err) {\n trackEvent('step_execution_error', {\n stepName: step.config.name,\n traceId,\n message: err.message,\n })\n\n tracer.end({\n message: err.message,\n code: err.code,\n stack: err.stack?.replace(new RegExp(`${motia.lockedData.baseDir}/`), ''),\n })\n\n reject(new Error(err.message || 'Handler execution failed'))\n } else {\n tracer.end()\n }\n })\n processManager.handler<unknown>('log', async (input: unknown) => logger.log(input))\n\n processManager.handler<StateGetInput, unknown>('state.get', async (input) => {\n tracer.stateOperation('get', input)\n return motia.state.get(input.traceId, input.key)\n })\n\n processManager.handler<StateSetInput, unknown>('state.set', async (input) => {\n tracer.stateOperation('set', { traceId: input.traceId, key: input.key, value: input.value })\n return motia.state.set(input.traceId, input.key, input.value)\n })\n\n processManager.handler<StateDeleteInput, unknown>('state.delete', async (input) => {\n tracer.stateOperation('delete', input)\n return motia.state.delete(input.traceId, input.key)\n })\n\n processManager.handler<StateClearInput, void>('state.clear', async (input) => {\n tracer.stateOperation('clear', input)\n return motia.state.clear(input.traceId)\n })\n\n processManager.handler<StateStreamGetInput>(`state.getGroup`, (input) => {\n tracer.stateOperation('getGroup', input)\n return motia.state.getGroup(input.groupId)\n })\n\n processManager.handler<TData, void>('result', async (input) => {\n const anyInput: any = { ...input }\n\n if (anyInput.body && anyInput.body.type === 'Buffer') {\n anyInput.body = Buffer.from(anyInput.body.data)\n }\n result = anyInput\n })\n\n processManager.handler<Event, unknown>('emit', async (input) => {\n const flows = step.config.flows\n\n if (!isAllowedToEmit(step, input.topic)) {\n tracer.emitOperation(input.topic, input.data, false)\n return motia.printer.printInvalidEmit(step, input.topic)\n }\n\n tracer.emitOperation(input.topic, input.data, true)\n return motia.eventAdapter.emit({ ...input, traceId, flows, logger, tracer })\n })\n\n Object.entries(streamConfig).forEach(([name, streamFactory]) => {\n const stateStream = streamFactory()\n\n processManager.handler<StateStreamGetInput>(`streams.${name}.get`, async (input) => {\n tracer.streamOperation(name, 'get', input)\n return stateStream.get(input.groupId, input.id)\n })\n\n processManager.handler<StateStreamMutateInput>(`streams.${name}.set`, async (input) => {\n tracer.streamOperation(name, 'set', { groupId: input.groupId, id: input.id, data: input.data })\n return stateStream.set(input.groupId, input.id, input.data)\n })\n\n processManager.handler<StateStreamGetInput>(`streams.${name}.delete`, async (input) => {\n tracer.streamOperation(name, 'delete', input)\n return stateStream.delete(input.groupId, input.id)\n })\n\n processManager.handler<StateStreamGetInput>(`streams.${name}.getGroup`, async (input) => {\n tracer.streamOperation(name, 'getGroup', input)\n return stateStream.getGroup(input.groupId)\n })\n\n processManager.handler<StateStreamSendInput>(`streams.${name}.send`, async (input) => {\n tracer.streamOperation(name, 'send', input)\n return stateStream.send(input.channel, input.event)\n })\n })\n\n processManager.onStdout((data) => {\n try {\n const message = JSON.parse(data.toString())\n logger.log(message)\n } catch {\n logger.info(Buffer.from(data).toString())\n }\n })\n\n processManager.onStderr((data) => logger.error(Buffer.from(data).toString()))\n\n processManager.onProcessClose((code) => {\n if (timeoutId) clearTimeout(timeoutId)\n processManager.close()\n\n if (code !== 0 && code !== null) {\n const error = { message: `Process exited with code ${code}`, code }\n tracer.end(error)\n trackEvent('step_execution_error', { stepName: step.config.name, traceId, code })\n reject(`Process exited with code ${code}`)\n } else {\n tracer.end()\n resolve(result)\n }\n })\n\n processManager.onProcessError((error) => {\n if (timeoutId) clearTimeout(timeoutId)\n processManager.close()\n tracer.end({\n message: error.message,\n code: error.code,\n stack: error.stack,\n })\n\n if (error.code === 'ENOENT') {\n trackEvent('step_execution_error', {\n stepName: step.config.name,\n traceId,\n code: error.code,\n message: error.message,\n })\n reject(`Executable ${command} not found`)\n } else {\n reject(error)\n }\n })\n })\n .catch((error) => {\n if (timeoutId) clearTimeout(timeoutId)\n tracer.end({\n message: error.message,\n code: error.code,\n stack: error.stack,\n })\n\n trackEvent('step_execution_error', {\n stepName: step.config.name,\n traceId,\n code: error.code,\n message: error.message,\n })\n reject(`Failed to spawn process: ${error}`)\n })\n })\n}\n"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Config } from "./types/app-config-types.mjs";
2
-
3
- //#region src/config.d.ts
4
- declare const config: (config: Config) => Config;
5
- //#endregion
6
- export { config };
7
- //# sourceMappingURL=config.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/config.ts"],"sourcesContent":[],"mappings":";;;cAEa,iBAAkB,WAAS"}
@@ -1,6 +0,0 @@
1
- //#region src/config.ts
2
- const config = (config$1) => config$1;
3
-
4
- //#endregion
5
- export { config };
6
- //# sourceMappingURL=config.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.mjs","names":["config"],"sources":["../../src/config.ts"],"sourcesContent":["import type { Config } from './types/app-config-types'\n\nexport const config = (config: Config): Config => config\n"],"mappings":";AAEA,MAAa,UAAU,aAA2BA"}
@@ -1,18 +0,0 @@
1
- import { CronAdapter } from "./adapters/interfaces/cron-adapter.interface.mjs";
2
- import { Motia } from "./motia.mjs";
3
- import { CronConfig, Step } from "./types.mjs";
4
-
5
- //#region src/cron-handler.d.ts
6
- type CronManager = {
7
- createCronJob: (step: Step<CronConfig>) => void;
8
- removeCronJob: (step: Step<CronConfig>) => void;
9
- close: () => Promise<void>;
10
- };
11
- declare const setupCronHandlers: (motia: Motia, cronAdapter?: CronAdapter) => {
12
- createCronJob: (step: Step<CronConfig>) => void;
13
- removeCronJob: (step: Step<CronConfig>) => void;
14
- close: () => Promise<void>;
15
- };
16
- //#endregion
17
- export { CronManager, setupCronHandlers };
18
- //# sourceMappingURL=cron-handler.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cron-handler.d.mts","names":[],"sources":["../../src/cron-handler.ts"],"sourcesContent":[],"mappings":";;;;;KAQY,WAAA;wBACY,KAAK;EADjB,aAAA,EAAW,CAAA,IAAA,EAEC,IAFD,CAEM,UAFN,CAAA,EAAA,GAAA,IAAA;EACM,KAAA,EAAA,GAAA,GAEd,OAFc,CAAA,IAAA,CAAA;CAAL;AACK,cAIhB,iBAJgB,EAAA,CAAA,KAAA,EAIY,KAJZ,EAAA,WAAA,CAAA,EAIiC,WAJjC,EAAA,GAAA;EAAL,aAAA,EAAA,CAAA,IAAA,EAOO,IAPP,CAOY,UAPZ,CAAA,EAAA,GAAA,IAAA;EACT,aAAA,EAAA,CAAA,IAAA,EAoFgB,IApFhB,CAoFqB,UApFrB,CAAA,EAAA,GAAA,IAAA;EAAO,KAAA,EAAA,GAAA,UAAA,CAAA,IAAA,CAAA;AAGtB,CAAA"}