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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/dist/index.d.mts +38 -0
  2. package/dist/index.mjs +30 -0
  3. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +17 -0
  4. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +1 -0
  5. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +51 -0
  6. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +1 -0
  7. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +19 -0
  8. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +1 -0
  9. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +54 -0
  10. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +1 -0
  11. package/dist/src/adapters/defaults/index.d.mts +8 -0
  12. package/dist/src/adapters/defaults/index.mjs +10 -0
  13. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +27 -0
  14. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +1 -0
  15. package/dist/src/adapters/defaults/state/file-state-adapter.mjs +105 -0
  16. package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +1 -0
  17. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +20 -0
  18. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +1 -0
  19. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +58 -0
  20. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +1 -0
  21. package/dist/src/adapters/defaults/state/utils.mjs +40 -0
  22. package/dist/src/adapters/defaults/state/utils.mjs.map +1 -0
  23. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +13 -0
  24. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +1 -0
  25. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +16 -0
  26. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +1 -0
  27. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +24 -0
  28. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +1 -0
  29. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +84 -0
  30. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +1 -0
  31. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +10 -0
  32. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +1 -0
  33. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +12 -0
  34. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +1 -0
  35. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +20 -0
  36. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +1 -0
  37. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +58 -0
  38. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +1 -0
  39. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +32 -0
  40. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +1 -0
  41. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +19 -0
  42. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +1 -0
  43. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +27 -0
  44. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +1 -0
  45. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +28 -0
  46. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +1 -0
  47. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +10 -0
  48. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +1 -0
  49. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +26 -0
  50. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +1 -0
  51. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +17 -0
  52. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +1 -0
  53. package/dist/src/analytics/utils.d.mts +9 -0
  54. package/dist/src/analytics/utils.d.mts.map +1 -0
  55. package/dist/src/analytics/utils.mjs +35 -0
  56. package/dist/src/analytics/utils.mjs.map +1 -0
  57. package/dist/src/call-step-file.mjs +213 -0
  58. package/dist/src/call-step-file.mjs.map +1 -0
  59. package/dist/src/config.d.mts +7 -0
  60. package/dist/src/config.d.mts.map +1 -0
  61. package/dist/src/config.mjs +6 -0
  62. package/dist/src/config.mjs.map +1 -0
  63. package/dist/src/cron-handler.d.mts +18 -0
  64. package/dist/src/cron-handler.d.mts.map +1 -0
  65. package/dist/src/cron-handler.mjs +103 -0
  66. package/dist/src/cron-handler.mjs.map +1 -0
  67. package/dist/src/endpoints/analytics-endpoint.mjs +29 -0
  68. package/dist/src/endpoints/analytics-endpoint.mjs.map +1 -0
  69. package/dist/src/endpoints/flows-config-endpoint.mjs +38 -0
  70. package/dist/src/endpoints/flows-config-endpoint.mjs.map +1 -0
  71. package/dist/src/endpoints/flows-endpoint.mjs +39 -0
  72. package/dist/src/endpoints/flows-endpoint.mjs.map +1 -0
  73. package/dist/src/endpoints/step-endpoint.mjs +41 -0
  74. package/dist/src/endpoints/step-endpoint.mjs.map +1 -0
  75. package/dist/src/generate-trace-id.mjs +13 -0
  76. package/dist/src/generate-trace-id.mjs.map +1 -0
  77. package/dist/src/get-step-config.d.mts +9 -0
  78. package/dist/src/get-step-config.d.mts.map +1 -0
  79. package/dist/src/get-step-config.mjs +63 -0
  80. package/dist/src/get-step-config.mjs.map +1 -0
  81. package/dist/src/get-step-language.mjs +14 -0
  82. package/dist/src/get-step-language.mjs.map +1 -0
  83. package/dist/src/guards.d.mts +10 -0
  84. package/dist/src/guards.d.mts.map +1 -0
  85. package/dist/src/guards.mjs +9 -0
  86. package/dist/src/guards.mjs.map +1 -0
  87. package/dist/src/helper/flows-helper.mjs +126 -0
  88. package/dist/src/helper/flows-helper.mjs.map +1 -0
  89. package/dist/src/infrastructure-validator/defaults.mjs +17 -0
  90. package/dist/src/infrastructure-validator/defaults.mjs.map +1 -0
  91. package/dist/src/infrastructure-validator/index.d.mts +3 -0
  92. package/dist/src/infrastructure-validator/index.mjs +4 -0
  93. package/dist/src/infrastructure-validator/schemas.d.mts +1 -0
  94. package/dist/src/infrastructure-validator/schemas.mjs +77 -0
  95. package/dist/src/infrastructure-validator/schemas.mjs.map +1 -0
  96. package/dist/src/infrastructure-validator/types.d.mts +14 -0
  97. package/dist/src/infrastructure-validator/types.d.mts.map +1 -0
  98. package/dist/src/infrastructure-validator/validations.d.mts +7 -0
  99. package/dist/src/infrastructure-validator/validations.d.mts.map +1 -0
  100. package/dist/src/infrastructure-validator/validations.mjs +29 -0
  101. package/dist/src/infrastructure-validator/validations.mjs.map +1 -0
  102. package/dist/src/language-runner.mjs +55 -0
  103. package/dist/src/language-runner.mjs.map +1 -0
  104. package/dist/src/locked-data.d.mts +81 -0
  105. package/dist/src/locked-data.d.mts.map +1 -0
  106. package/dist/src/locked-data.mjs +223 -0
  107. package/dist/src/locked-data.mjs.map +1 -0
  108. package/dist/src/logger-factory.d.mts +16 -0
  109. package/dist/src/logger-factory.d.mts.map +1 -0
  110. package/dist/src/logger-factory.mjs +33 -0
  111. package/dist/src/logger-factory.mjs.map +1 -0
  112. package/dist/src/logger.d.mts +28 -0
  113. package/dist/src/logger.d.mts.map +1 -0
  114. package/dist/src/logger.mjs +64 -0
  115. package/dist/src/logger.mjs.map +1 -0
  116. package/dist/src/mermaid-generator.d.mts +9 -0
  117. package/dist/src/mermaid-generator.d.mts.map +1 -0
  118. package/dist/src/mermaid-generator.mjs +126 -0
  119. package/dist/src/mermaid-generator.mjs.map +1 -0
  120. package/dist/src/motia.d.mts +36 -0
  121. package/dist/src/motia.d.mts.map +1 -0
  122. package/dist/src/motia.mjs +6 -0
  123. package/dist/src/motia.mjs.map +1 -0
  124. package/dist/src/node/can-access.d.mts +1 -0
  125. package/dist/src/node/can-access.mjs +36 -0
  126. package/dist/src/node/can-access.mjs.map +1 -0
  127. package/dist/src/node/get-config.d.mts +1 -0
  128. package/dist/src/node/get-config.mjs +49 -0
  129. package/dist/src/node/get-config.mjs.map +1 -0
  130. package/dist/src/node/logger.mjs +47 -0
  131. package/dist/src/node/logger.mjs.map +1 -0
  132. package/dist/src/node/middleware-compose.mjs +10 -0
  133. package/dist/src/node/middleware-compose.mjs.map +1 -0
  134. package/dist/src/node/node-runner.d.mts +1 -0
  135. package/dist/src/node/node-runner.mjs +94 -0
  136. package/dist/src/node/node-runner.mjs.map +1 -0
  137. package/dist/src/node/rpc-state-manager.mjs +35 -0
  138. package/dist/src/node/rpc-state-manager.mjs.map +1 -0
  139. package/dist/src/node/rpc.mjs +55 -0
  140. package/dist/src/node/rpc.mjs.map +1 -0
  141. package/dist/src/observability/create-trace.mjs +26 -0
  142. package/dist/src/observability/create-trace.mjs.map +1 -0
  143. package/dist/src/observability/index.d.mts +7 -0
  144. package/dist/src/observability/index.d.mts.map +1 -0
  145. package/dist/src/observability/no-tracer.d.mts +15 -0
  146. package/dist/src/observability/no-tracer.d.mts.map +1 -0
  147. package/dist/src/observability/no-tracer.mjs +15 -0
  148. package/dist/src/observability/no-tracer.mjs.map +1 -0
  149. package/dist/src/observability/redis-trace-stream-adapter.mjs +76 -0
  150. package/dist/src/observability/redis-trace-stream-adapter.mjs.map +1 -0
  151. package/dist/src/observability/stream-tracer.mjs +87 -0
  152. package/dist/src/observability/stream-tracer.mjs.map +1 -0
  153. package/dist/src/observability/trace-manager.mjs +24 -0
  154. package/dist/src/observability/trace-manager.mjs.map +1 -0
  155. package/dist/src/observability/tracer.mjs +87 -0
  156. package/dist/src/observability/tracer.mjs.map +1 -0
  157. package/dist/src/observability/types.d.mts +14 -0
  158. package/dist/src/observability/types.d.mts.map +1 -0
  159. package/dist/src/pretty-print.mjs +50 -0
  160. package/dist/src/pretty-print.mjs.map +1 -0
  161. package/dist/src/printer.d.mts +65 -0
  162. package/dist/src/printer.d.mts.map +1 -0
  163. package/dist/src/printer.mjs +147 -0
  164. package/dist/src/printer.mjs.map +1 -0
  165. package/dist/src/process-communication/communication-config.mjs +26 -0
  166. package/dist/src/process-communication/communication-config.mjs.map +1 -0
  167. package/dist/src/process-communication/process-manager.mjs +67 -0
  168. package/dist/src/process-communication/process-manager.mjs.map +1 -0
  169. package/dist/src/queue-manager.d.mts +37 -0
  170. package/dist/src/queue-manager.d.mts.map +1 -0
  171. package/dist/src/queue-manager.mjs +209 -0
  172. package/dist/src/queue-manager.mjs.map +1 -0
  173. package/dist/src/run-stream-can-access.mjs +59 -0
  174. package/dist/src/run-stream-can-access.mjs.map +1 -0
  175. package/dist/src/schema-utils.mjs +30 -0
  176. package/dist/src/schema-utils.mjs.map +1 -0
  177. package/dist/src/server.d.mts +40 -0
  178. package/dist/src/server.d.mts.map +1 -0
  179. package/dist/src/server.mjs +332 -0
  180. package/dist/src/server.mjs.map +1 -0
  181. package/dist/src/socket-server/helpers.mjs +35 -0
  182. package/dist/src/socket-server/helpers.mjs.map +1 -0
  183. package/dist/src/socket-server.mjs +127 -0
  184. package/dist/src/socket-server.mjs.map +1 -0
  185. package/dist/src/state/create-state-adapter.d.mts +11 -0
  186. package/dist/src/state/create-state-adapter.d.mts.map +1 -0
  187. package/dist/src/state/create-state-adapter.mjs +11 -0
  188. package/dist/src/state/create-state-adapter.mjs.map +1 -0
  189. package/dist/src/step-handler-rpc-processor.mjs +56 -0
  190. package/dist/src/step-handler-rpc-processor.mjs.map +1 -0
  191. package/dist/src/step-handler-rpc-stdin-processor.mjs +71 -0
  192. package/dist/src/step-handler-rpc-stdin-processor.mjs.map +1 -0
  193. package/dist/src/step-handlers.d.mts +13 -0
  194. package/dist/src/step-handlers.d.mts.map +1 -0
  195. package/dist/src/step-handlers.mjs +93 -0
  196. package/dist/src/step-handlers.mjs.map +1 -0
  197. package/dist/src/step-validator.d.mts +15 -0
  198. package/dist/src/step-validator.d.mts.map +1 -0
  199. package/dist/src/step-validator.mjs +118 -0
  200. package/dist/src/step-validator.mjs.map +1 -0
  201. package/dist/src/steps/emit.step.mjs +20 -0
  202. package/dist/src/steps/emit.step.mjs.map +1 -0
  203. package/dist/src/steps/index.mjs +14 -0
  204. package/dist/src/steps/index.mjs.map +1 -0
  205. package/dist/src/streams/flows-config-stream.mjs +46 -0
  206. package/dist/src/streams/flows-config-stream.mjs.map +1 -0
  207. package/dist/src/streams/flows-stream.mjs +33 -0
  208. package/dist/src/streams/flows-stream.mjs.map +1 -0
  209. package/dist/src/streams/redis-logs-stream.d.mts +3 -0
  210. package/dist/src/streams/redis-logs-stream.mjs +97 -0
  211. package/dist/src/streams/redis-logs-stream.mjs.map +1 -0
  212. package/dist/src/streams/stream-factory.d.mts +7 -0
  213. package/dist/src/streams/stream-factory.d.mts.map +1 -0
  214. package/dist/src/types/app-config-types.d.mts +48 -0
  215. package/dist/src/types/app-config-types.d.mts.map +1 -0
  216. package/dist/src/types/generate-type-from-schema.mjs +30 -0
  217. package/dist/src/types/generate-type-from-schema.mjs.map +1 -0
  218. package/dist/src/types/generate-types-from-response.mjs +12 -0
  219. package/dist/src/types/generate-types-from-response.mjs.map +1 -0
  220. package/dist/src/types/generate-types.mjs +101 -0
  221. package/dist/src/types/generate-types.mjs.map +1 -0
  222. package/dist/src/types/merge-schemas.mjs +102 -0
  223. package/dist/src/types/merge-schemas.mjs.map +1 -0
  224. package/dist/src/types/schema.types.d.mts +13 -0
  225. package/dist/src/types/schema.types.d.mts.map +1 -0
  226. package/dist/src/types/schema.types.mjs +14 -0
  227. package/dist/src/types/schema.types.mjs.map +1 -0
  228. package/dist/src/types-stream.d.mts +46 -0
  229. package/dist/src/types-stream.d.mts.map +1 -0
  230. package/dist/src/types.d.mts +188 -0
  231. package/dist/src/types.d.mts.map +1 -0
  232. package/dist/src/utils.mjs +13 -0
  233. package/dist/src/utils.mjs.map +1 -0
  234. package/dist/src/validate-event-input.mjs +76 -0
  235. package/dist/src/validate-event-input.mjs.map +1 -0
  236. package/jest.config.cjs +20 -0
  237. package/package.json +21 -8
  238. package/tsdown.config.ts +53 -0
  239. package/dist/index.d.ts +0 -30
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/index.js +0 -72
  242. package/dist/jest.config.d.ts +0 -8
  243. package/dist/jest.config.d.ts.map +0 -1
  244. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +0 -13
  245. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +0 -1
  246. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +0 -53
  247. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +0 -15
  248. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +0 -1
  249. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +0 -49
  250. package/dist/src/adapters/defaults/index.d.ts +0 -9
  251. package/dist/src/adapters/defaults/index.d.ts.map +0 -1
  252. package/dist/src/adapters/defaults/index.js +0 -19
  253. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +0 -23
  254. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +0 -1
  255. package/dist/src/adapters/defaults/state/file-state-adapter.js +0 -149
  256. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +0 -16
  257. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +0 -1
  258. package/dist/src/adapters/defaults/state/memory-state-adapter.js +0 -69
  259. package/dist/src/adapters/defaults/state/utils.d.ts +0 -4
  260. package/dist/src/adapters/defaults/state/utils.d.ts.map +0 -1
  261. package/dist/src/adapters/defaults/state/utils.js +0 -66
  262. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +0 -9
  263. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +0 -1
  264. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +0 -14
  265. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +0 -22
  266. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +0 -1
  267. package/dist/src/adapters/defaults/stream/file-stream-adapter.js +0 -125
  268. package/dist/src/adapters/defaults/stream/index.d.ts +0 -5
  269. package/dist/src/adapters/defaults/stream/index.d.ts.map +0 -1
  270. package/dist/src/adapters/defaults/stream/index.js +0 -11
  271. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +0 -6
  272. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +0 -1
  273. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +0 -10
  274. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +0 -16
  275. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +0 -1
  276. package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +0 -55
  277. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +0 -29
  278. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +0 -1
  279. package/dist/src/adapters/interfaces/cron-adapter.interface.js +0 -2
  280. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +0 -15
  281. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +0 -1
  282. package/dist/src/adapters/interfaces/event-adapter.interface.js +0 -2
  283. package/dist/src/adapters/interfaces/index.d.ts +0 -7
  284. package/dist/src/adapters/interfaces/index.d.ts.map +0 -1
  285. package/dist/src/adapters/interfaces/index.js +0 -5
  286. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +0 -23
  287. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +0 -1
  288. package/dist/src/adapters/interfaces/observability-adapter.interface.js +0 -2
  289. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +0 -24
  290. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +0 -1
  291. package/dist/src/adapters/interfaces/state-adapter.interface.js +0 -2
  292. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +0 -6
  293. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +0 -1
  294. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +0 -2
  295. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +0 -22
  296. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +0 -1
  297. package/dist/src/adapters/interfaces/stream-adapter.interface.js +0 -16
  298. package/dist/src/analytics/utils.d.ts +0 -6
  299. package/dist/src/analytics/utils.d.ts.map +0 -1
  300. package/dist/src/analytics/utils.js +0 -51
  301. package/dist/src/call-step-file.d.ts +0 -16
  302. package/dist/src/call-step-file.d.ts.map +0 -1
  303. package/dist/src/call-step-file.js +0 -194
  304. package/dist/src/config.d.ts +0 -3
  305. package/dist/src/config.d.ts.map +0 -1
  306. package/dist/src/config.js +0 -5
  307. package/dist/src/config.types.d.ts +0 -17
  308. package/dist/src/config.types.d.ts.map +0 -1
  309. package/dist/src/config.types.js +0 -2
  310. package/dist/src/cron-handler.d.ts +0 -14
  311. package/dist/src/cron-handler.d.ts.map +0 -1
  312. package/dist/src/cron-handler.js +0 -132
  313. package/dist/src/endpoints/analytics-endpoint.d.ts +0 -3
  314. package/dist/src/endpoints/analytics-endpoint.d.ts.map +0 -1
  315. package/dist/src/endpoints/analytics-endpoint.js +0 -28
  316. package/dist/src/endpoints/flows-config-endpoint.d.ts +0 -4
  317. package/dist/src/endpoints/flows-config-endpoint.d.ts.map +0 -1
  318. package/dist/src/endpoints/flows-config-endpoint.js +0 -34
  319. package/dist/src/endpoints/flows-endpoint.d.ts +0 -3
  320. package/dist/src/endpoints/flows-endpoint.d.ts.map +0 -1
  321. package/dist/src/endpoints/flows-endpoint.js +0 -29
  322. package/dist/src/endpoints/step-endpoint.d.ts +0 -4
  323. package/dist/src/endpoints/step-endpoint.d.ts.map +0 -1
  324. package/dist/src/endpoints/step-endpoint.js +0 -45
  325. package/dist/src/generate-trace-id.d.ts +0 -3
  326. package/dist/src/generate-trace-id.d.ts.map +0 -1
  327. package/dist/src/generate-trace-id.js +0 -14
  328. package/dist/src/get-step-config.d.ts +0 -5
  329. package/dist/src/get-step-config.d.ts.map +0 -1
  330. package/dist/src/get-step-config.js +0 -68
  331. package/dist/src/get-step-language.d.ts +0 -2
  332. package/dist/src/get-step-language.d.ts.map +0 -1
  333. package/dist/src/get-step-language.js +0 -27
  334. package/dist/src/guards.d.ts +0 -6
  335. package/dist/src/guards.d.ts.map +0 -1
  336. package/dist/src/guards.js +0 -11
  337. package/dist/src/helper/flows-helper.d.ts +0 -6
  338. package/dist/src/helper/flows-helper.d.ts.map +0 -1
  339. package/dist/src/helper/flows-helper.js +0 -143
  340. package/dist/src/infrastructure-validator/defaults.d.ts +0 -4
  341. package/dist/src/infrastructure-validator/defaults.d.ts.map +0 -1
  342. package/dist/src/infrastructure-validator/defaults.js +0 -16
  343. package/dist/src/infrastructure-validator/index.d.ts +0 -4
  344. package/dist/src/infrastructure-validator/index.d.ts.map +0 -1
  345. package/dist/src/infrastructure-validator/index.js +0 -13
  346. package/dist/src/infrastructure-validator/schemas.d.ts +0 -45
  347. package/dist/src/infrastructure-validator/schemas.d.ts.map +0 -1
  348. package/dist/src/infrastructure-validator/schemas.js +0 -100
  349. package/dist/src/infrastructure-validator/types.d.ts +0 -21
  350. package/dist/src/infrastructure-validator/types.d.ts.map +0 -1
  351. package/dist/src/infrastructure-validator/types.js +0 -2
  352. package/dist/src/infrastructure-validator/validations.d.ts +0 -4
  353. package/dist/src/infrastructure-validator/validations.d.ts.map +0 -1
  354. package/dist/src/infrastructure-validator/validations.js +0 -62
  355. package/dist/src/language-runner.d.ts +0 -15
  356. package/dist/src/language-runner.d.ts.map +0 -1
  357. package/dist/src/language-runner.js +0 -31
  358. package/dist/src/locked-data.d.ts +0 -78
  359. package/dist/src/locked-data.d.ts.map +0 -1
  360. package/dist/src/locked-data.js +0 -284
  361. package/dist/src/logger-factory.d.ts +0 -19
  362. package/dist/src/logger-factory.d.ts.map +0 -1
  363. package/dist/src/logger-factory.js +0 -27
  364. package/dist/src/logger.d.ts +0 -26
  365. package/dist/src/logger.d.ts.map +0 -1
  366. package/dist/src/logger.js +0 -60
  367. package/dist/src/mermaid-generator.d.ts +0 -5
  368. package/dist/src/mermaid-generator.d.ts.map +0 -1
  369. package/dist/src/mermaid-generator.js +0 -203
  370. package/dist/src/motia.d.ts +0 -32
  371. package/dist/src/motia.d.ts.map +0 -1
  372. package/dist/src/motia.js +0 -4
  373. package/dist/src/node/can-access.d.ts +0 -2
  374. package/dist/src/node/can-access.d.ts.map +0 -1
  375. package/dist/src/node/can-access.js +0 -44
  376. package/dist/src/node/get-config.d.ts +0 -2
  377. package/dist/src/node/get-config.d.ts.map +0 -1
  378. package/dist/src/node/get-config.js +0 -64
  379. package/dist/src/node/logger.d.ts +0 -16
  380. package/dist/src/node/logger.d.ts.map +0 -1
  381. package/dist/src/node/logger.js +0 -48
  382. package/dist/src/node/middleware-compose.d.ts +0 -2
  383. package/dist/src/node/middleware-compose.d.ts.map +0 -1
  384. package/dist/src/node/middleware-compose.js +0 -10
  385. package/dist/src/node/node-runner.d.ts +0 -2
  386. package/dist/src/node/node-runner.d.ts.map +0 -1
  387. package/dist/src/node/node-runner.js +0 -83
  388. package/dist/src/node/rpc-state-manager.d.ts +0 -12
  389. package/dist/src/node/rpc-state-manager.d.ts.map +0 -1
  390. package/dist/src/node/rpc-state-manager.js +0 -24
  391. package/dist/src/node/rpc.d.ts +0 -10
  392. package/dist/src/node/rpc.d.ts.map +0 -1
  393. package/dist/src/node/rpc.js +0 -50
  394. package/dist/src/observability/create-trace.d.ts +0 -4
  395. package/dist/src/observability/create-trace.d.ts.map +0 -1
  396. package/dist/src/observability/create-trace.js +0 -22
  397. package/dist/src/observability/index.d.ts +0 -4
  398. package/dist/src/observability/index.d.ts.map +0 -1
  399. package/dist/src/observability/index.js +0 -2
  400. package/dist/src/observability/no-tracer.d.ts +0 -10
  401. package/dist/src/observability/no-tracer.d.ts.map +0 -1
  402. package/dist/src/observability/no-tracer.js +0 -14
  403. package/dist/src/observability/redis-trace-stream-adapter.d.ts +0 -17
  404. package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +0 -1
  405. package/dist/src/observability/redis-trace-stream-adapter.js +0 -65
  406. package/dist/src/observability/stream-tracer.d.ts +0 -22
  407. package/dist/src/observability/stream-tracer.d.ts.map +0 -1
  408. package/dist/src/observability/stream-tracer.js +0 -97
  409. package/dist/src/observability/trace-manager.d.ts +0 -13
  410. package/dist/src/observability/trace-manager.d.ts.map +0 -1
  411. package/dist/src/observability/trace-manager.js +0 -23
  412. package/dist/src/observability/tracer.d.ts +0 -19
  413. package/dist/src/observability/tracer.d.ts.map +0 -1
  414. package/dist/src/observability/tracer.js +0 -95
  415. package/dist/src/observability/types.d.ts +0 -75
  416. package/dist/src/observability/types.d.ts.map +0 -1
  417. package/dist/src/observability/types.js +0 -2
  418. package/dist/src/pretty-print.d.ts +0 -2
  419. package/dist/src/pretty-print.d.ts.map +0 -1
  420. package/dist/src/pretty-print.js +0 -63
  421. package/dist/src/printer.d.ts +0 -61
  422. package/dist/src/printer.d.ts.map +0 -1
  423. package/dist/src/printer.js +0 -164
  424. package/dist/src/process-communication/communication-config.d.ts +0 -8
  425. package/dist/src/process-communication/communication-config.d.ts.map +0 -1
  426. package/dist/src/process-communication/communication-config.js +0 -18
  427. package/dist/src/process-communication/process-manager.d.ts +0 -32
  428. package/dist/src/process-communication/process-manager.d.ts.map +0 -1
  429. package/dist/src/process-communication/process-manager.js +0 -88
  430. package/dist/src/process-communication/rpc-processor-interface.d.ts +0 -10
  431. package/dist/src/process-communication/rpc-processor-interface.d.ts.map +0 -1
  432. package/dist/src/process-communication/rpc-processor-interface.js +0 -2
  433. package/dist/src/queue-manager.d.ts +0 -42
  434. package/dist/src/queue-manager.d.ts.map +0 -1
  435. package/dist/src/queue-manager.js +0 -252
  436. package/dist/src/ruby/get-ruby-config.d.ts +0 -3
  437. package/dist/src/ruby/get-ruby-config.d.ts.map +0 -1
  438. package/dist/src/ruby/get-ruby-config.js +0 -34
  439. package/dist/src/run-stream-can-access.d.ts +0 -10
  440. package/dist/src/run-stream-can-access.d.ts.map +0 -1
  441. package/dist/src/run-stream-can-access.js +0 -59
  442. package/dist/src/schema-utils.d.ts +0 -9
  443. package/dist/src/schema-utils.d.ts.map +0 -1
  444. package/dist/src/schema-utils.js +0 -80
  445. package/dist/src/server.d.ts +0 -37
  446. package/dist/src/server.d.ts.map +0 -1
  447. package/dist/src/server.js +0 -318
  448. package/dist/src/socket-server/helpers.d.ts +0 -53
  449. package/dist/src/socket-server/helpers.d.ts.map +0 -1
  450. package/dist/src/socket-server/helpers.js +0 -28
  451. package/dist/src/socket-server.d.ts +0 -21
  452. package/dist/src/socket-server.d.ts.map +0 -1
  453. package/dist/src/socket-server.js +0 -127
  454. package/dist/src/state/create-state-adapter.d.ts +0 -8
  455. package/dist/src/state/create-state-adapter.d.ts.map +0 -1
  456. package/dist/src/state/create-state-adapter.js +0 -8
  457. package/dist/src/step-handler-rpc-processor.d.ts +0 -22
  458. package/dist/src/step-handler-rpc-processor.d.ts.map +0 -1
  459. package/dist/src/step-handler-rpc-processor.js +0 -63
  460. package/dist/src/step-handler-rpc-stdin-processor.d.ts +0 -23
  461. package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +0 -1
  462. package/dist/src/step-handler-rpc-stdin-processor.js +0 -83
  463. package/dist/src/step-handlers.d.ts +0 -9
  464. package/dist/src/step-handlers.d.ts.map +0 -1
  465. package/dist/src/step-handlers.js +0 -77
  466. package/dist/src/step-validator.d.ts +0 -15
  467. package/dist/src/step-validator.d.ts.map +0 -1
  468. package/dist/src/step-validator.js +0 -135
  469. package/dist/src/steps/emit.step.d.ts +0 -12
  470. package/dist/src/steps/emit.step.d.ts.map +0 -1
  471. package/dist/src/steps/emit.step.js +0 -27
  472. package/dist/src/steps/index.d.ts +0 -3
  473. package/dist/src/steps/index.d.ts.map +0 -1
  474. package/dist/src/steps/index.js +0 -16
  475. package/dist/src/streams/flows-config-stream.d.ts +0 -14
  476. package/dist/src/streams/flows-config-stream.d.ts.map +0 -1
  477. package/dist/src/streams/flows-config-stream.js +0 -49
  478. package/dist/src/streams/flows-stream.d.ts +0 -12
  479. package/dist/src/streams/flows-stream.d.ts.map +0 -1
  480. package/dist/src/streams/flows-stream.js +0 -35
  481. package/dist/src/streams/redis-logs-stream.d.ts +0 -31
  482. package/dist/src/streams/redis-logs-stream.d.ts.map +0 -1
  483. package/dist/src/streams/redis-logs-stream.js +0 -84
  484. package/dist/src/streams/stream-factory.d.ts +0 -3
  485. package/dist/src/streams/stream-factory.d.ts.map +0 -1
  486. package/dist/src/streams/stream-factory.js +0 -2
  487. package/dist/src/types/app-config-types.d.ts +0 -44
  488. package/dist/src/types/app-config-types.d.ts.map +0 -1
  489. package/dist/src/types/app-config-types.js +0 -2
  490. package/dist/src/types/flows-config-types.d.ts +0 -10
  491. package/dist/src/types/flows-config-types.d.ts.map +0 -1
  492. package/dist/src/types/flows-config-types.js +0 -2
  493. package/dist/src/types/flows-types.d.ts +0 -39
  494. package/dist/src/types/flows-types.d.ts.map +0 -1
  495. package/dist/src/types/flows-types.js +0 -2
  496. package/dist/src/types/generate-type-from-schema.d.ts +0 -3
  497. package/dist/src/types/generate-type-from-schema.d.ts.map +0 -1
  498. package/dist/src/types/generate-type-from-schema.js +0 -49
  499. package/dist/src/types/generate-types-from-response.d.ts +0 -3
  500. package/dist/src/types/generate-types-from-response.d.ts.map +0 -1
  501. package/dist/src/types/generate-types-from-response.js +0 -13
  502. package/dist/src/types/generate-types.d.ts +0 -13
  503. package/dist/src/types/generate-types.d.ts.map +0 -1
  504. package/dist/src/types/generate-types.js +0 -127
  505. package/dist/src/types/merge-schemas.d.ts +0 -5
  506. package/dist/src/types/merge-schemas.d.ts.map +0 -1
  507. package/dist/src/types/merge-schemas.js +0 -183
  508. package/dist/src/types/schema.types.d.ts +0 -9
  509. package/dist/src/types/schema.types.d.ts.map +0 -1
  510. package/dist/src/types/schema.types.js +0 -14
  511. package/dist/src/types-stream.d.ts +0 -42
  512. package/dist/src/types-stream.d.ts.map +0 -1
  513. package/dist/src/types-stream.js +0 -2
  514. package/dist/src/types.d.ts +0 -184
  515. package/dist/src/types.d.ts.map +0 -1
  516. package/dist/src/types.js +0 -17
  517. package/dist/src/utils.d.ts +0 -3
  518. package/dist/src/utils.d.ts.map +0 -1
  519. package/dist/src/utils.js +0 -12
  520. package/dist/src/validate-event-input.d.ts +0 -3
  521. package/dist/src/validate-event-input.d.ts.map +0 -1
  522. package/dist/src/validate-event-input.js +0 -74
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motia.mjs","names":[],"sources":["../../src/motia.ts"],"sourcesContent":["import type { Express } from 'express'\nimport type { EventAdapter } from './adapters/interfaces/event-adapter.interface'\nimport type { StateAdapter } from './adapters/interfaces/state-adapter.interface'\nimport type { LockedData } from './locked-data'\nimport type { LoggerFactory } from './logger-factory'\nimport type { TracerFactory } from './observability'\nimport type { Printer } from './printer'\nimport type { ApiResponse, ApiRouteConfig, ApiRouteHandler, InternalStateManager } from './types'\n\nexport type Motia = {\n loggerFactory: LoggerFactory\n eventAdapter: EventAdapter\n state: InternalStateManager\n lockedData: LockedData\n printer: Printer\n tracerFactory: TracerFactory\n\n app: Express\n stateAdapter: StateAdapter\n}\n\nexport type PluginApiConfig = {\n method: ApiRouteConfig['method']\n path: string\n}\n\nexport type UnregisterMotiaPluginApi = () => void\n\nexport type MotiaPluginContext = {\n printer: Printer\n state: StateAdapter\n lockedData: LockedData\n tracerFactory: TracerFactory\n registerApi: <\n TRequestBody = unknown,\n TResponseBody extends ApiResponse<number, unknown> = ApiResponse<number, unknown>,\n TEmitData = never,\n >(\n config: PluginApiConfig,\n handler: ApiRouteHandler<TRequestBody, TResponseBody, TEmitData>,\n ) => UnregisterMotiaPluginApi\n}\n\nexport const PLUGIN_FLOW_ID = '_plugin'\n"],"mappings":";AA2CA,MAAa,iBAAiB"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,36 @@
1
+ import path from "node:path";
2
+
3
+ //#region src/node/can-access.ts
4
+ function parsePayload(arg) {
5
+ try {
6
+ return JSON.parse(arg);
7
+ } catch {
8
+ throw new Error("Invalid payload for canAccess evaluation");
9
+ }
10
+ }
11
+ async function runCanAccess(filePath$1, payload) {
12
+ const module = await import(path.resolve(filePath$1));
13
+ const config = module.config || module.default?.config;
14
+ if (!config) throw new Error(`Config not found in module ${filePath$1}`);
15
+ const canAccess = config.canAccess;
16
+ if (typeof canAccess !== "function") {
17
+ process.send?.(true);
18
+ process.exit(0);
19
+ }
20
+ const result = await canAccess(payload.subscription, payload.authContext);
21
+ process.send?.(Boolean(result));
22
+ process.exit(0);
23
+ }
24
+ const [, , filePath, payloadArg] = process.argv;
25
+ if (!filePath || !payloadArg) {
26
+ console.error("Usage: node can-access.mjs <file-path> <payload>");
27
+ process.exit(1);
28
+ }
29
+ runCanAccess(filePath, parsePayload(payloadArg)).then(() => process.exit(0)).catch((error) => {
30
+ console.error("Error evaluating canAccess:", error);
31
+ process.exit(1);
32
+ });
33
+
34
+ //#endregion
35
+ export { };
36
+ //# sourceMappingURL=can-access.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"can-access.mjs","names":["filePath"],"sources":["../../../src/node/can-access.ts"],"sourcesContent":["import path from 'node:path'\n\ntype CanAccessPayload = {\n subscription: { groupId: string; id?: string }\n authContext?: unknown\n}\n\nfunction parsePayload(arg: string): CanAccessPayload {\n try {\n return JSON.parse(arg)\n } catch {\n throw new Error('Invalid payload for canAccess evaluation')\n }\n}\n\nasync function runCanAccess(filePath: string, payload: CanAccessPayload) {\n const module = await import(path.resolve(filePath))\n\n const config = module.config || module.default?.config\n\n if (!config) {\n throw new Error(`Config not found in module ${filePath}`)\n }\n\n const canAccess = config.canAccess\n\n if (typeof canAccess !== 'function') {\n process.send?.(true)\n process.exit(0)\n }\n\n const result = await canAccess(payload.subscription, payload.authContext)\n process.send?.(Boolean(result))\n process.exit(0)\n}\n\nconst [, , filePath, payloadArg] = process.argv\n\nif (!filePath || !payloadArg) {\n console.error('Usage: node can-access.mjs <file-path> <payload>')\n process.exit(1)\n}\n\nrunCanAccess(filePath, parsePayload(payloadArg))\n .then(() => process.exit(0))\n .catch((error) => {\n console.error('Error evaluating canAccess:', error)\n process.exit(1)\n })\n"],"mappings":";;;AAOA,SAAS,aAAa,KAA+B;AACnD,KAAI;AACF,SAAO,KAAK,MAAM,IAAI;SAChB;AACN,QAAM,IAAI,MAAM,2CAA2C;;;AAI/D,eAAe,aAAa,YAAkB,SAA2B;CACvE,MAAM,SAAS,MAAM,OAAO,KAAK,QAAQA,WAAS;CAElD,MAAM,SAAS,OAAO,UAAU,OAAO,SAAS;AAEhD,KAAI,CAAC,OACH,OAAM,IAAI,MAAM,8BAA8BA,aAAW;CAG3D,MAAM,YAAY,OAAO;AAEzB,KAAI,OAAO,cAAc,YAAY;AACnC,UAAQ,OAAO,KAAK;AACpB,UAAQ,KAAK,EAAE;;CAGjB,MAAM,SAAS,MAAM,UAAU,QAAQ,cAAc,QAAQ,YAAY;AACzE,SAAQ,OAAO,QAAQ,OAAO,CAAC;AAC/B,SAAQ,KAAK,EAAE;;AAGjB,MAAM,KAAK,UAAU,cAAc,QAAQ;AAE3C,IAAI,CAAC,YAAY,CAAC,YAAY;AAC5B,SAAQ,MAAM,mDAAmD;AACjE,SAAQ,KAAK,EAAE;;AAGjB,aAAa,UAAU,aAAa,WAAW,CAAC,CAC7C,WAAW,QAAQ,KAAK,EAAE,CAAC,CAC3B,OAAO,UAAU;AAChB,SAAQ,MAAM,+BAA+B,MAAM;AACnD,SAAQ,KAAK,EAAE;EACf"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,49 @@
1
+ import { schemaToJsonSchema } from "../schema-utils.mjs";
2
+ import path from "node:path";
3
+
4
+ //#region src/node/get-config.ts
5
+ async function getConfig(filePath$1) {
6
+ try {
7
+ const importedModule = await import(path.resolve(filePath$1));
8
+ const config = importedModule.config || importedModule.default?.config;
9
+ if (!config) throw new Error(`Config not found in module ${filePath$1}`);
10
+ if (config.input) {
11
+ const converted = schemaToJsonSchema(config.input);
12
+ if (converted) config.input = converted;
13
+ }
14
+ if (config.bodySchema) {
15
+ const converted = schemaToJsonSchema(config.bodySchema);
16
+ if (converted) config.bodySchema = converted;
17
+ }
18
+ if (config.responseSchema) for (const [status, schema] of Object.entries(config.responseSchema)) {
19
+ const converted = schemaToJsonSchema(schema);
20
+ if (converted) config.responseSchema[status] = converted;
21
+ }
22
+ if (config.schema) {
23
+ const converted = schemaToJsonSchema(config.schema);
24
+ if (converted) config.schema = converted;
25
+ }
26
+ if (typeof config.canAccess === "function") {
27
+ config.__motia_hasCanAccess = !!config.canAccess;
28
+ delete config.canAccess;
29
+ }
30
+ process.send?.(config);
31
+ process.exit(0);
32
+ } catch (error) {
33
+ console.error("Error running TypeScript module:", error);
34
+ process.exit(1);
35
+ }
36
+ }
37
+ const [, , filePath] = process.argv;
38
+ if (!filePath) {
39
+ console.error("Usage: node get-config.mjs <file-path>");
40
+ process.exit(1);
41
+ }
42
+ getConfig(filePath).catch((err) => {
43
+ console.error("Error:", err);
44
+ process.exit(1);
45
+ });
46
+
47
+ //#endregion
48
+ export { };
49
+ //# sourceMappingURL=get-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-config.mjs","names":["filePath"],"sources":["../../../src/node/get-config.ts"],"sourcesContent":["import path from 'node:path'\nimport { type SchemaInput, schemaToJsonSchema } from '../schema-utils'\n\nasync function getConfig(filePath: string) {\n try {\n const importedModule = await import(path.resolve(filePath))\n const config = importedModule.config || importedModule.default?.config\n\n if (!config) {\n throw new Error(`Config not found in module ${filePath}`)\n }\n\n if (config.input) {\n const converted = schemaToJsonSchema(config.input)\n if (converted) {\n config.input = converted\n }\n }\n\n if (config.bodySchema) {\n const converted = schemaToJsonSchema(config.bodySchema)\n if (converted) {\n config.bodySchema = converted\n }\n }\n\n if (config.responseSchema) {\n for (const [status, schema] of Object.entries(config.responseSchema)) {\n const converted = schemaToJsonSchema(schema as SchemaInput)\n if (converted) {\n config.responseSchema[status] = converted\n }\n }\n }\n\n if (config.schema) {\n const converted = schemaToJsonSchema(config.schema)\n if (converted) {\n config.schema = converted\n }\n }\n\n if (typeof config.canAccess === 'function') {\n config.__motia_hasCanAccess = !!config.canAccess\n delete config.canAccess\n }\n\n process.send?.(config)\n\n process.exit(0)\n } catch (error) {\n console.error('Error running TypeScript module:', error)\n process.exit(1)\n }\n}\n\nconst [, , filePath] = process.argv\n\nif (!filePath) {\n console.error('Usage: node get-config.mjs <file-path>')\n process.exit(1)\n}\n\ngetConfig(filePath).catch((err) => {\n console.error('Error:', err)\n process.exit(1)\n})\n"],"mappings":";;;;AAGA,eAAe,UAAU,YAAkB;AACzC,KAAI;EACF,MAAM,iBAAiB,MAAM,OAAO,KAAK,QAAQA,WAAS;EAC1D,MAAM,SAAS,eAAe,UAAU,eAAe,SAAS;AAEhE,MAAI,CAAC,OACH,OAAM,IAAI,MAAM,8BAA8BA,aAAW;AAG3D,MAAI,OAAO,OAAO;GAChB,MAAM,YAAY,mBAAmB,OAAO,MAAM;AAClD,OAAI,UACF,QAAO,QAAQ;;AAInB,MAAI,OAAO,YAAY;GACrB,MAAM,YAAY,mBAAmB,OAAO,WAAW;AACvD,OAAI,UACF,QAAO,aAAa;;AAIxB,MAAI,OAAO,eACT,MAAK,MAAM,CAAC,QAAQ,WAAW,OAAO,QAAQ,OAAO,eAAe,EAAE;GACpE,MAAM,YAAY,mBAAmB,OAAsB;AAC3D,OAAI,UACF,QAAO,eAAe,UAAU;;AAKtC,MAAI,OAAO,QAAQ;GACjB,MAAM,YAAY,mBAAmB,OAAO,OAAO;AACnD,OAAI,UACF,QAAO,SAAS;;AAIpB,MAAI,OAAO,OAAO,cAAc,YAAY;AAC1C,UAAO,uBAAuB,CAAC,CAAC,OAAO;AACvC,UAAO,OAAO;;AAGhB,UAAQ,OAAO,OAAO;AAEtB,UAAQ,KAAK,EAAE;UACR,OAAO;AACd,UAAQ,MAAM,oCAAoC,MAAM;AACxD,UAAQ,KAAK,EAAE;;;AAInB,MAAM,KAAK,YAAY,QAAQ;AAE/B,IAAI,CAAC,UAAU;AACb,SAAQ,MAAM,yCAAyC;AACvD,SAAQ,KAAK,EAAE;;AAGjB,UAAU,SAAS,CAAC,OAAO,QAAQ;AACjC,SAAQ,MAAM,UAAU,IAAI;AAC5B,SAAQ,KAAK,EAAE;EACf"}
@@ -0,0 +1,47 @@
1
+ //#region src/node/logger.ts
2
+ var Logger = class {
3
+ constructor(traceId, flows, sender) {
4
+ this.traceId = traceId;
5
+ this.flows = flows;
6
+ this.sender = sender;
7
+ this.listeners = [];
8
+ }
9
+ _log(level, message, args) {
10
+ const argsCopy = args ? { ...args } : {};
11
+ if (argsCopy.error && argsCopy.error instanceof Error) argsCopy.error = {
12
+ ...argsCopy.error,
13
+ message: argsCopy.error.message,
14
+ stack: argsCopy.error.stack,
15
+ name: argsCopy.error.name
16
+ };
17
+ const logEntry = {
18
+ ...argsCopy,
19
+ level,
20
+ time: Date.now(),
21
+ traceId: this.traceId,
22
+ flows: this.flows,
23
+ msg: message
24
+ };
25
+ this.sender.sendNoWait("log", logEntry);
26
+ this.listeners.forEach((listener) => listener(level, message, args));
27
+ }
28
+ info(message, args) {
29
+ this._log("info", message, args);
30
+ }
31
+ error(message, args) {
32
+ this._log("error", message, args);
33
+ }
34
+ debug(message, args) {
35
+ this._log("debug", message, args);
36
+ }
37
+ warn(message, args) {
38
+ this._log("warn", message, args);
39
+ }
40
+ addListener(listener) {
41
+ this.listeners.push(listener);
42
+ }
43
+ };
44
+
45
+ //#endregion
46
+ export { Logger };
47
+ //# sourceMappingURL=logger.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.mjs","names":["traceId: string","flows: string[]","sender: RpcSender"],"sources":["../../../src/node/logger.ts"],"sourcesContent":["import type { RpcSender } from './rpc'\n\nexport type LogListener = (level: string, message: string, args?: unknown) => void\n\nexport class Logger {\n private readonly listeners: LogListener[] = []\n\n constructor(\n private readonly traceId: string,\n private readonly flows: string[],\n private readonly sender: RpcSender,\n ) {}\n\n private _log(level: string, message: string, args?: Record<string, unknown>): void {\n const argsCopy = args ? { ...args } : {}\n\n if (argsCopy.error && argsCopy.error instanceof Error) {\n argsCopy.error = {\n ...argsCopy.error,\n message: argsCopy.error.message,\n stack: argsCopy.error.stack,\n name: argsCopy.error.name,\n }\n }\n\n const logEntry = {\n ...argsCopy,\n level,\n time: Date.now(),\n traceId: this.traceId,\n flows: this.flows,\n msg: message,\n }\n\n this.sender.sendNoWait('log', logEntry)\n\n this.listeners.forEach((listener) => listener(level, message, args))\n }\n\n info(message: string, args?: Record<string, unknown>): void {\n this._log('info', message, args)\n }\n\n error(message: string, args?: Record<string, unknown>): void {\n this._log('error', message, args)\n }\n\n debug(message: string, args?: Record<string, unknown>): void {\n this._log('debug', message, args)\n }\n\n warn(message: string, args?: Record<string, unknown>): void {\n this._log('warn', message, args)\n }\n\n addListener(listener: LogListener) {\n this.listeners.push(listener)\n }\n}\n"],"mappings":";AAIA,IAAa,SAAb,MAAoB;CAGlB,YACE,AAAiBA,SACjB,AAAiBC,OACjB,AAAiBC,QACjB;EAHiB;EACA;EACA;mBALyB,EAAE;;CAQ9C,AAAQ,KAAK,OAAe,SAAiB,MAAsC;EACjF,MAAM,WAAW,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE;AAExC,MAAI,SAAS,SAAS,SAAS,iBAAiB,MAC9C,UAAS,QAAQ;GACf,GAAG,SAAS;GACZ,SAAS,SAAS,MAAM;GACxB,OAAO,SAAS,MAAM;GACtB,MAAM,SAAS,MAAM;GACtB;EAGH,MAAM,WAAW;GACf,GAAG;GACH;GACA,MAAM,KAAK,KAAK;GAChB,SAAS,KAAK;GACd,OAAO,KAAK;GACZ,KAAK;GACN;AAED,OAAK,OAAO,WAAW,OAAO,SAAS;AAEvC,OAAK,UAAU,SAAS,aAAa,SAAS,OAAO,SAAS,KAAK,CAAC;;CAGtE,KAAK,SAAiB,MAAsC;AAC1D,OAAK,KAAK,QAAQ,SAAS,KAAK;;CAGlC,MAAM,SAAiB,MAAsC;AAC3D,OAAK,KAAK,SAAS,SAAS,KAAK;;CAGnC,MAAM,SAAiB,MAAsC;AAC3D,OAAK,KAAK,SAAS,SAAS,KAAK;;CAGnC,KAAK,SAAiB,MAAsC;AAC1D,OAAK,KAAK,QAAQ,SAAS,KAAK;;CAGlC,YAAY,UAAuB;AACjC,OAAK,UAAU,KAAK,SAAS"}
@@ -0,0 +1,10 @@
1
+ //#region src/node/middleware-compose.ts
2
+ const composeMiddleware = (...middlewares) => {
3
+ return async (req, ctx, handler) => {
4
+ return middlewares.reduceRight((nextHandler, middleware) => () => middleware(req, ctx, nextHandler), handler)();
5
+ };
6
+ };
7
+
8
+ //#endregion
9
+ export { composeMiddleware };
10
+ //# sourceMappingURL=middleware-compose.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware-compose.mjs","names":[],"sources":["../../../src/node/middleware-compose.ts"],"sourcesContent":["export const composeMiddleware = (...middlewares: any[]) => {\n return async (req: any, ctx: any, handler: () => Promise<any>): Promise<any> => {\n const composedHandler = middlewares.reduceRight<() => Promise<any>>(\n (nextHandler, middleware) => () => middleware(req, ctx, nextHandler),\n handler,\n )\n\n return composedHandler()\n }\n}\n"],"mappings":";AAAA,MAAa,qBAAqB,GAAG,gBAAuB;AAC1D,QAAO,OAAO,KAAU,KAAU,YAA8C;AAM9E,SALwB,YAAY,aACjC,aAAa,qBAAqB,WAAW,KAAK,KAAK,YAAY,EACpE,QACD,EAEuB"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,94 @@
1
+ import { Logger } from "./logger.mjs";
2
+ import { composeMiddleware } from "./middleware-compose.mjs";
3
+ import { RpcSender } from "./rpc.mjs";
4
+ import { RpcStateManager } from "./rpc-state-manager.mjs";
5
+ import path from "path";
6
+ import dotenv from "dotenv";
7
+
8
+ //#region src/node/node-runner.ts
9
+ dotenv.config();
10
+ function parseArgs(arg$1) {
11
+ try {
12
+ return JSON.parse(arg$1);
13
+ } catch {
14
+ return arg$1;
15
+ }
16
+ }
17
+ async function runTypescriptModule(filePath$1, event) {
18
+ const sender = new RpcSender(process);
19
+ try {
20
+ const importedModule = await import(path.resolve(filePath$1));
21
+ const handler = importedModule.handler || importedModule.default?.handler;
22
+ const config = importedModule.config || importedModule.default?.config || {};
23
+ if (typeof handler !== "function") throw new Error(`Function handler not found in module ${filePath$1}`);
24
+ const { traceId, flows, contextInFirstArg } = event;
25
+ const logger = new Logger(traceId, flows, sender);
26
+ const state = new RpcStateManager(sender);
27
+ const emit = async (data) => sender.send("emit", data);
28
+ const context = {
29
+ traceId,
30
+ flows,
31
+ logger,
32
+ state,
33
+ emit,
34
+ streams: (event.streams ?? []).reduce((acc, streams) => {
35
+ acc[streams.name] = {
36
+ get: (groupId, id) => sender.send(`streams.${streams.name}.get`, {
37
+ groupId,
38
+ id
39
+ }),
40
+ set: (groupId, id, data) => sender.send(`streams.${streams.name}.set`, {
41
+ groupId,
42
+ id,
43
+ data
44
+ }),
45
+ delete: (groupId, id) => sender.send(`streams.${streams.name}.delete`, {
46
+ groupId,
47
+ id
48
+ }),
49
+ getGroup: (groupId) => sender.send(`streams.${streams.name}.getGroup`, { groupId }),
50
+ send: (channel, event$1) => sender.send(`streams.${streams.name}.send`, {
51
+ channel,
52
+ event: event$1
53
+ })
54
+ };
55
+ return acc;
56
+ }, {})
57
+ };
58
+ sender.init();
59
+ const composedMiddleware = composeMiddleware(...Array.isArray(config.middleware) ? config.middleware : []);
60
+ const handlerFn = () => {
61
+ return contextInFirstArg ? handler(context) : handler(event.data, context);
62
+ };
63
+ const result = await composedMiddleware(event.data, context, handlerFn);
64
+ await sender.send("result", result);
65
+ await sender.close();
66
+ process.exit(0);
67
+ } catch (err) {
68
+ const stack = err.stack?.split("\n") ?? [];
69
+ if (stack) {
70
+ const index = stack.findIndex((line) => line.includes("src/node/node-runner"));
71
+ stack.splice(index, stack.length - index);
72
+ stack.splice(0, 1);
73
+ }
74
+ const error = {
75
+ message: err.message || "",
76
+ code: err.code || null,
77
+ stack: stack.join("\n")
78
+ };
79
+ sender.sendNoWait("close", error);
80
+ }
81
+ }
82
+ const [, , filePath, arg] = process.argv;
83
+ if (!filePath) {
84
+ console.error("Usage: node node-runner.mjs <file-path> <arg>");
85
+ process.exit(1);
86
+ }
87
+ runTypescriptModule(filePath, parseArgs(arg)).catch((err) => {
88
+ console.error("Error:", err);
89
+ process.exit(1);
90
+ });
91
+
92
+ //#endregion
93
+ export { };
94
+ //# sourceMappingURL=node-runner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runner.mjs","names":["arg","filePath","err: any","stack: string[]"],"sources":["../../../src/node/node-runner.ts"],"sourcesContent":["import dotenv from 'dotenv'\nimport path from 'path'\nimport type { StateStreamEvent, StateStreamEventChannel, StreamConfig } from '../types-stream'\nimport { Logger } from './logger'\nimport { composeMiddleware } from './middleware-compose'\nimport { RpcSender } from './rpc'\nimport { RpcStateManager } from './rpc-state-manager'\n\ndotenv.config()\n\nfunction parseArgs(arg: string) {\n try {\n return JSON.parse(arg)\n } catch {\n return arg\n }\n}\n\nasync function runTypescriptModule(filePath: string, event: Record<string, unknown>) {\n const sender = new RpcSender(process)\n\n try {\n const importedModule = await import(path.resolve(filePath))\n const handler = importedModule.handler || importedModule.default?.handler\n const config = importedModule.config || importedModule.default?.config || {}\n\n // Check if the specified function exists in the module\n if (typeof handler !== 'function') {\n throw new Error(`Function handler not found in module ${filePath}`)\n }\n\n const { traceId, flows, contextInFirstArg } = event\n\n const logger = new Logger(traceId as string, flows as string[], sender)\n const state = new RpcStateManager(sender)\n\n const emit = async (data: unknown) => sender.send('emit', data)\n const streamsConfig = event.streams as StreamConfig[]\n const streams = (streamsConfig ?? []).reduce(\n (acc, streams) => {\n acc[streams.name] = {\n get: (groupId: string, id: string) => sender.send(`streams.${streams.name}.get`, { groupId, id }),\n set: (groupId: string, id: string, data: unknown) =>\n sender.send(`streams.${streams.name}.set`, { groupId, id, data }),\n delete: (groupId: string, id: string) => sender.send(`streams.${streams.name}.delete`, { groupId, id }),\n getGroup: (groupId: string) => sender.send(`streams.${streams.name}.getGroup`, { groupId }),\n send: (channel: StateStreamEventChannel, event: StateStreamEvent<unknown>) =>\n sender.send(`streams.${streams.name}.send`, { channel, event }),\n }\n return acc\n },\n {} as Record<string, unknown>,\n )\n\n const context = { traceId, flows, logger, state, emit, streams }\n\n sender.init()\n\n const middlewares = Array.isArray(config.middleware) ? config.middleware : []\n\n const composedMiddleware = composeMiddleware(...middlewares)\n const handlerFn = () => {\n return contextInFirstArg ? handler(context) : handler(event.data, context)\n }\n\n const result = await composedMiddleware(event.data, context, handlerFn)\n\n await sender.send('result', result)\n await sender.close()\n\n process.exit(0)\n } catch (err: any) {\n const stack: string[] = err.stack?.split('\\n') ?? []\n\n if (stack) {\n const index = stack.findIndex((line) => line.includes('src/node/node-runner'))\n stack.splice(index, stack.length - index)\n stack.splice(0, 1) // remove first line which has the error message\n }\n\n const error = {\n message: err.message || '',\n code: err.code || null,\n stack: stack.join('\\n'),\n }\n sender.sendNoWait('close', error)\n }\n}\n\nconst [, , filePath, arg] = process.argv\n\nif (!filePath) {\n console.error('Usage: node node-runner.mjs <file-path> <arg>')\n process.exit(1)\n}\n\nrunTypescriptModule(filePath, parseArgs(arg)).catch((err) => {\n console.error('Error:', err)\n process.exit(1)\n})\n"],"mappings":";;;;;;;;AAQA,OAAO,QAAQ;AAEf,SAAS,UAAU,OAAa;AAC9B,KAAI;AACF,SAAO,KAAK,MAAMA,MAAI;SAChB;AACN,SAAOA;;;AAIX,eAAe,oBAAoB,YAAkB,OAAgC;CACnF,MAAM,SAAS,IAAI,UAAU,QAAQ;AAErC,KAAI;EACF,MAAM,iBAAiB,MAAM,OAAO,KAAK,QAAQC,WAAS;EAC1D,MAAM,UAAU,eAAe,WAAW,eAAe,SAAS;EAClE,MAAM,SAAS,eAAe,UAAU,eAAe,SAAS,UAAU,EAAE;AAG5E,MAAI,OAAO,YAAY,WACrB,OAAM,IAAI,MAAM,wCAAwCA,aAAW;EAGrE,MAAM,EAAE,SAAS,OAAO,sBAAsB;EAE9C,MAAM,SAAS,IAAI,OAAO,SAAmB,OAAmB,OAAO;EACvE,MAAM,QAAQ,IAAI,gBAAgB,OAAO;EAEzC,MAAM,OAAO,OAAO,SAAkB,OAAO,KAAK,QAAQ,KAAK;EAkB/D,MAAM,UAAU;GAAE;GAAS;GAAO;GAAQ;GAAO;GAAM,UAjBjC,MAAM,WACM,EAAE,EAAE,QACnC,KAAK,YAAY;AAChB,QAAI,QAAQ,QAAQ;KAClB,MAAM,SAAiB,OAAe,OAAO,KAAK,WAAW,QAAQ,KAAK,OAAO;MAAE;MAAS;MAAI,CAAC;KACjG,MAAM,SAAiB,IAAY,SACjC,OAAO,KAAK,WAAW,QAAQ,KAAK,OAAO;MAAE;MAAS;MAAI;MAAM,CAAC;KACnE,SAAS,SAAiB,OAAe,OAAO,KAAK,WAAW,QAAQ,KAAK,UAAU;MAAE;MAAS;MAAI,CAAC;KACvG,WAAW,YAAoB,OAAO,KAAK,WAAW,QAAQ,KAAK,YAAY,EAAE,SAAS,CAAC;KAC3F,OAAO,SAAkC,YACvC,OAAO,KAAK,WAAW,QAAQ,KAAK,QAAQ;MAAE;MAAS;MAAO,CAAC;KAClE;AACD,WAAO;MAET,EAAE,CACH;GAE+D;AAEhE,SAAO,MAAM;EAIb,MAAM,qBAAqB,kBAAkB,GAFzB,MAAM,QAAQ,OAAO,WAAW,GAAG,OAAO,aAAa,EAAE,CAEjB;EAC5D,MAAM,kBAAkB;AACtB,UAAO,oBAAoB,QAAQ,QAAQ,GAAG,QAAQ,MAAM,MAAM,QAAQ;;EAG5E,MAAM,SAAS,MAAM,mBAAmB,MAAM,MAAM,SAAS,UAAU;AAEvE,QAAM,OAAO,KAAK,UAAU,OAAO;AACnC,QAAM,OAAO,OAAO;AAEpB,UAAQ,KAAK,EAAE;UACRC,KAAU;EACjB,MAAMC,QAAkB,IAAI,OAAO,MAAM,KAAK,IAAI,EAAE;AAEpD,MAAI,OAAO;GACT,MAAM,QAAQ,MAAM,WAAW,SAAS,KAAK,SAAS,uBAAuB,CAAC;AAC9E,SAAM,OAAO,OAAO,MAAM,SAAS,MAAM;AACzC,SAAM,OAAO,GAAG,EAAE;;EAGpB,MAAM,QAAQ;GACZ,SAAS,IAAI,WAAW;GACxB,MAAM,IAAI,QAAQ;GAClB,OAAO,MAAM,KAAK,KAAK;GACxB;AACD,SAAO,WAAW,SAAS,MAAM;;;AAIrC,MAAM,KAAK,UAAU,OAAO,QAAQ;AAEpC,IAAI,CAAC,UAAU;AACb,SAAQ,MAAM,gDAAgD;AAC9D,SAAQ,KAAK,EAAE;;AAGjB,oBAAoB,UAAU,UAAU,IAAI,CAAC,CAAC,OAAO,QAAQ;AAC3D,SAAQ,MAAM,UAAU,IAAI;AAC5B,SAAQ,KAAK,EAAE;EACf"}
@@ -0,0 +1,35 @@
1
+ //#region src/node/rpc-state-manager.ts
2
+ var RpcStateManager = class {
3
+ constructor(sender) {
4
+ this.sender = sender;
5
+ }
6
+ async get(traceId, key) {
7
+ return this.sender.send("state.get", {
8
+ traceId,
9
+ key
10
+ });
11
+ }
12
+ async set(traceId, key, value) {
13
+ return this.sender.send("state.set", {
14
+ traceId,
15
+ key,
16
+ value
17
+ });
18
+ }
19
+ async delete(traceId, key) {
20
+ return this.sender.send("state.delete", {
21
+ traceId,
22
+ key
23
+ });
24
+ }
25
+ async clear(traceId) {
26
+ await this.sender.send("state.clear", { traceId });
27
+ }
28
+ async getGroup(groupId) {
29
+ return this.sender.send("state.getGroup", { groupId });
30
+ }
31
+ };
32
+
33
+ //#endregion
34
+ export { RpcStateManager };
35
+ //# sourceMappingURL=rpc-state-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-state-manager.mjs","names":["sender: RpcSender"],"sources":["../../../src/node/rpc-state-manager.ts"],"sourcesContent":["import type { InternalStateManager } from '../types'\nimport type { RpcSender } from './rpc'\n\nexport class RpcStateManager implements InternalStateManager {\n constructor(private readonly sender: RpcSender) {}\n\n async get<T>(traceId: string, key: string) {\n return this.sender.send<T>('state.get', { traceId, key })\n }\n\n async set<T>(traceId: string, key: string, value: T) {\n return this.sender.send<T>('state.set', { traceId, key, value })\n }\n\n async delete<T>(traceId: string, key: string): Promise<T | null> {\n return this.sender.send<T>('state.delete', { traceId, key })\n }\n\n async clear(traceId: string) {\n await this.sender.send('state.clear', { traceId })\n }\n\n async getGroup<T>(groupId: string): Promise<T[]> {\n return this.sender.send<T[]>('state.getGroup', { groupId })\n }\n}\n"],"mappings":";AAGA,IAAa,kBAAb,MAA6D;CAC3D,YAAY,AAAiBA,QAAmB;EAAnB;;CAE7B,MAAM,IAAO,SAAiB,KAAa;AACzC,SAAO,KAAK,OAAO,KAAQ,aAAa;GAAE;GAAS;GAAK,CAAC;;CAG3D,MAAM,IAAO,SAAiB,KAAa,OAAU;AACnD,SAAO,KAAK,OAAO,KAAQ,aAAa;GAAE;GAAS;GAAK;GAAO,CAAC;;CAGlE,MAAM,OAAU,SAAiB,KAAgC;AAC/D,SAAO,KAAK,OAAO,KAAQ,gBAAgB;GAAE;GAAS;GAAK,CAAC;;CAG9D,MAAM,MAAM,SAAiB;AAC3B,QAAM,KAAK,OAAO,KAAK,eAAe,EAAE,SAAS,CAAC;;CAGpD,MAAM,SAAY,SAA+B;AAC/C,SAAO,KAAK,OAAO,KAAU,kBAAkB,EAAE,SAAS,CAAC"}
@@ -0,0 +1,55 @@
1
+ import crypto from "crypto";
2
+
3
+ //#region src/node/rpc.ts
4
+ var RpcSender = class {
5
+ constructor(process) {
6
+ this.process = process;
7
+ this.pendingRequests = {};
8
+ }
9
+ async close() {
10
+ if (Object.values(this.pendingRequests).length > 0) {
11
+ console.error("Process ended while there are some promises outstanding");
12
+ this.process.exit(1);
13
+ }
14
+ }
15
+ send(method, args) {
16
+ return new Promise((resolve, reject) => {
17
+ const id = crypto.randomUUID();
18
+ this.pendingRequests[id] = {
19
+ resolve,
20
+ reject,
21
+ method,
22
+ args
23
+ };
24
+ this.process.send?.({
25
+ type: "rpc_request",
26
+ id,
27
+ method,
28
+ args
29
+ });
30
+ });
31
+ }
32
+ sendNoWait(method, args) {
33
+ this.process.send?.({
34
+ type: "rpc_request",
35
+ method,
36
+ args
37
+ });
38
+ }
39
+ init() {
40
+ this.process.on("message", (msg) => {
41
+ if (msg.type === "rpc_response") {
42
+ const { id, result, error } = msg;
43
+ const callbacks = this.pendingRequests[id];
44
+ if (!callbacks) return;
45
+ else if (error) callbacks.reject(error);
46
+ else callbacks.resolve(result);
47
+ delete this.pendingRequests[id];
48
+ }
49
+ });
50
+ }
51
+ };
52
+
53
+ //#endregion
54
+ export { RpcSender };
55
+ //# sourceMappingURL=rpc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.mjs","names":["process: NodeJS.Process"],"sources":["../../../src/node/rpc.ts"],"sourcesContent":["/// <reference types=\"node\" />\nimport crypto from 'crypto'\n\ntype RpcResponse = {\n type: 'rpc_response'\n id: string\n result: unknown\n error: unknown\n}\n\nexport class RpcSender {\n private readonly pendingRequests: Record<\n string,\n { resolve: (result: any) => void; reject: (error: any) => void; method: string; args: any }\n > = {}\n\n constructor(private readonly process: NodeJS.Process) {}\n\n async close(): Promise<void> {\n const outstandingRequests = Object.values(this.pendingRequests)\n\n if (outstandingRequests.length > 0) {\n console.error('Process ended while there are some promises outstanding')\n this.process.exit(1)\n }\n }\n\n send<T>(method: string, args: unknown): Promise<T> {\n return new Promise((resolve, reject) => {\n const id = crypto.randomUUID()\n this.pendingRequests[id] = { resolve, reject, method, args }\n\n this.process.send?.({ type: 'rpc_request', id, method, args })\n })\n }\n\n sendNoWait(method: string, args: unknown) {\n this.process.send?.({ type: 'rpc_request', method, args })\n }\n\n init() {\n this.process.on('message', (msg: RpcResponse) => {\n if (msg.type === 'rpc_response') {\n const { id, result, error } = msg\n const callbacks = this.pendingRequests[id]\n\n if (!callbacks) {\n return\n } else if (error) {\n callbacks.reject(error)\n } else {\n callbacks.resolve(result)\n }\n\n delete this.pendingRequests[id]\n }\n })\n }\n}\n"],"mappings":";;;AAUA,IAAa,YAAb,MAAuB;CAMrB,YAAY,AAAiBA,SAAyB;EAAzB;yBAFzB,EAAE;;CAIN,MAAM,QAAuB;AAG3B,MAF4B,OAAO,OAAO,KAAK,gBAAgB,CAEvC,SAAS,GAAG;AAClC,WAAQ,MAAM,0DAA0D;AACxE,QAAK,QAAQ,KAAK,EAAE;;;CAIxB,KAAQ,QAAgB,MAA2B;AACjD,SAAO,IAAI,SAAS,SAAS,WAAW;GACtC,MAAM,KAAK,OAAO,YAAY;AAC9B,QAAK,gBAAgB,MAAM;IAAE;IAAS;IAAQ;IAAQ;IAAM;AAE5D,QAAK,QAAQ,OAAO;IAAE,MAAM;IAAe;IAAI;IAAQ;IAAM,CAAC;IAC9D;;CAGJ,WAAW,QAAgB,MAAe;AACxC,OAAK,QAAQ,OAAO;GAAE,MAAM;GAAe;GAAQ;GAAM,CAAC;;CAG5D,OAAO;AACL,OAAK,QAAQ,GAAG,YAAY,QAAqB;AAC/C,OAAI,IAAI,SAAS,gBAAgB;IAC/B,MAAM,EAAE,IAAI,QAAQ,UAAU;IAC9B,MAAM,YAAY,KAAK,gBAAgB;AAEvC,QAAI,CAAC,UACH;aACS,MACT,WAAU,OAAO,MAAM;QAEvB,WAAU,QAAQ,OAAO;AAG3B,WAAO,KAAK,gBAAgB;;IAE9B"}
@@ -0,0 +1,26 @@
1
+ import { randomUUID } from "crypto";
2
+
3
+ //#region src/observability/create-trace.ts
4
+ const createTrace = (traceGroup, step) => {
5
+ const trace = {
6
+ id: randomUUID(),
7
+ name: step.config.name,
8
+ correlationId: traceGroup.correlationId,
9
+ parentTraceId: traceGroup.id,
10
+ status: "running",
11
+ startTime: Date.now(),
12
+ endTime: void 0,
13
+ entryPoint: {
14
+ type: step.config.type,
15
+ stepName: step.config.name
16
+ },
17
+ events: []
18
+ };
19
+ traceGroup.metadata.totalSteps++;
20
+ traceGroup.metadata.activeSteps++;
21
+ return trace;
22
+ };
23
+
24
+ //#endregion
25
+ export { createTrace };
26
+ //# sourceMappingURL=create-trace.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-trace.mjs","names":["trace: Trace"],"sources":["../../../src/observability/create-trace.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\nimport type { Step } from '../types'\nimport type { Trace, TraceGroup } from './types'\n\nexport const createTrace = (traceGroup: TraceGroup, step: Step) => {\n const id = randomUUID()\n const trace: Trace = {\n id,\n name: step.config.name,\n correlationId: traceGroup.correlationId,\n parentTraceId: traceGroup.id,\n status: 'running',\n startTime: Date.now(),\n endTime: undefined,\n entryPoint: { type: step.config.type, stepName: step.config.name },\n events: [],\n }\n\n traceGroup.metadata.totalSteps++\n traceGroup.metadata.activeSteps++\n\n return trace\n}\n"],"mappings":";;;AAIA,MAAa,eAAe,YAAwB,SAAe;CAEjE,MAAMA,QAAe;EACnB,IAFS,YAAY;EAGrB,MAAM,KAAK,OAAO;EAClB,eAAe,WAAW;EAC1B,eAAe,WAAW;EAC1B,QAAQ;EACR,WAAW,KAAK,KAAK;EACrB,SAAS;EACT,YAAY;GAAE,MAAM,KAAK,OAAO;GAAM,UAAU,KAAK,OAAO;GAAM;EAClE,QAAQ,EAAE;EACX;AAED,YAAW,SAAS;AACpB,YAAW,SAAS;AAEpB,QAAO"}
@@ -0,0 +1,7 @@
1
+ import { ObservabilityAdapter, Tracer } from "../adapters/interfaces/observability-adapter.interface.mjs";
2
+
3
+ //#region src/observability/index.d.ts
4
+ type TracerFactory = ObservabilityAdapter;
5
+ //#endregion
6
+ export { TracerFactory };
7
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/observability/index.ts"],"sourcesContent":[],"mappings":";;;KAGY,aAAA,GAAgB"}
@@ -0,0 +1,15 @@
1
+ import { Tracer } from "../adapters/interfaces/observability-adapter.interface.mjs";
2
+ import "./index.mjs";
3
+
4
+ //#region src/observability/no-tracer.d.ts
5
+ declare class NoTracer implements Tracer {
6
+ end(): void;
7
+ stateOperation(): void;
8
+ emitOperation(): void;
9
+ streamOperation(): void;
10
+ clear(): void;
11
+ child(): this;
12
+ }
13
+ //#endregion
14
+ export { NoTracer };
15
+ //# sourceMappingURL=no-tracer.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-tracer.d.mts","names":[],"sources":["../../../src/observability/no-tracer.ts"],"sourcesContent":[],"mappings":";;;;cAEa,QAAA,YAAoB;;;EAApB,aAAS,CAAA,CAAA,EAAA,IAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/observability/no-tracer.ts
2
+ var NoTracer = class {
3
+ end() {}
4
+ stateOperation() {}
5
+ emitOperation() {}
6
+ streamOperation() {}
7
+ clear() {}
8
+ child() {
9
+ return this;
10
+ }
11
+ };
12
+
13
+ //#endregion
14
+ export { NoTracer };
15
+ //# sourceMappingURL=no-tracer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-tracer.mjs","names":[],"sources":["../../../src/observability/no-tracer.ts"],"sourcesContent":["import type { Tracer } from '../observability/index'\n\nexport class NoTracer implements Tracer {\n end() {}\n stateOperation() {}\n emitOperation() {}\n streamOperation() {}\n clear() {}\n child() {\n return this\n }\n}\n"],"mappings":";AAEA,IAAa,WAAb,MAAwC;CACtC,MAAM;CACN,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,QAAQ;CACR,QAAQ;AACN,SAAO"}
@@ -0,0 +1,76 @@
1
+ import { StreamAdapter } from "../adapters/interfaces/stream-adapter.interface.mjs";
2
+
3
+ //#region src/observability/redis-trace-stream-adapter.ts
4
+ const TRACE_TTL_SECONDS = 4320 * 60;
5
+ var RedisTraceStreamAdapter = class extends StreamAdapter {
6
+ constructor(streamName, client, ttl = TRACE_TTL_SECONDS) {
7
+ super(streamName);
8
+ this.keyPrefix = "motia:trace:";
9
+ this.client = client;
10
+ this.ttl = ttl;
11
+ }
12
+ makeGroupKey(groupId) {
13
+ return `${this.keyPrefix}${groupId}`;
14
+ }
15
+ async get(groupId, id) {
16
+ const hashKey = this.makeGroupKey(groupId);
17
+ const value = await this.client.hGet(hashKey, id);
18
+ return value ? JSON.parse(value) : null;
19
+ }
20
+ async set(groupId, id, data) {
21
+ const hashKey = this.makeGroupKey(groupId);
22
+ const item = {
23
+ ...data,
24
+ id
25
+ };
26
+ const itemJson = JSON.stringify(item);
27
+ const eventType = await this.client.hExists(hashKey, id) ? "update" : "create";
28
+ await Promise.all([
29
+ this.client.hSet(hashKey, id, itemJson),
30
+ this.send({
31
+ groupId,
32
+ id
33
+ }, {
34
+ type: eventType,
35
+ data: item
36
+ }),
37
+ this.client.expire(hashKey, this.ttl)
38
+ ]);
39
+ return item;
40
+ }
41
+ async delete(groupId, id) {
42
+ const hashKey = this.makeGroupKey(groupId);
43
+ const value = await this.client.hGet(hashKey, id);
44
+ if (!value) return null;
45
+ const item = JSON.parse(value);
46
+ await Promise.all([this.client.hDel(hashKey, id), this.send({
47
+ groupId,
48
+ id
49
+ }, {
50
+ type: "delete",
51
+ data: item
52
+ })]);
53
+ return item;
54
+ }
55
+ async getGroup(groupId) {
56
+ const hashKey = this.makeGroupKey(groupId);
57
+ const values = await this.client.hGetAll(hashKey);
58
+ const items = Object.values(values).map((v) => JSON.parse(v));
59
+ const sortDesc = (a, b) => {
60
+ return (a.startTime || 0) - (b.startTime || 0);
61
+ };
62
+ return items.sort(sortDesc);
63
+ }
64
+ async send(channel, event) {
65
+ const channelKey = channel.id ? `${this.keyPrefix}events:${this.streamName}:${channel.groupId}:${channel.id}` : `${this.keyPrefix}events:${this.streamName}:${channel.groupId}`;
66
+ await this.client.publish(channelKey, JSON.stringify(event));
67
+ }
68
+ async clear(groupId) {
69
+ const hashKey = this.makeGroupKey(groupId);
70
+ await this.client.del(hashKey);
71
+ }
72
+ };
73
+
74
+ //#endregion
75
+ export { RedisTraceStreamAdapter };
76
+ //# sourceMappingURL=redis-trace-stream-adapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-trace-stream-adapter.mjs","names":["item: BaseStreamItem<TData>"],"sources":["../../../src/observability/redis-trace-stream-adapter.ts"],"sourcesContent":["import type { RedisClientType } from 'redis'\nimport { StreamAdapter } from '../adapters/interfaces/stream-adapter.interface'\nimport type { BaseStreamItem, StateStreamEvent, StateStreamEventChannel } from '../types-stream'\n\nconst TRACE_TTL_SECONDS = 3 * 24 * 60 * 60\n\nexport class RedisTraceStreamAdapter<TData> extends StreamAdapter<TData> {\n private client: RedisClientType\n private readonly keyPrefix: string = 'motia:trace:'\n private ttl: number\n\n constructor(streamName: string, client: RedisClientType, ttl: number = TRACE_TTL_SECONDS) {\n super(streamName)\n this.client = client\n this.ttl = ttl\n }\n\n private makeGroupKey(groupId: string): string {\n return `${this.keyPrefix}${groupId}`\n }\n\n async get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null> {\n const hashKey = this.makeGroupKey(groupId)\n const value = await this.client.hGet(hashKey, id)\n return value ? JSON.parse(value) : null\n }\n\n async set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>> {\n const hashKey = this.makeGroupKey(groupId)\n const item: BaseStreamItem<TData> = { ...data, id } as BaseStreamItem<TData>\n const itemJson = JSON.stringify(item)\n\n const existed = await this.client.hExists(hashKey, id)\n const eventType = existed ? 'update' : 'create'\n\n await Promise.all([\n this.client.hSet(hashKey, id, itemJson),\n this.send({ groupId, id }, { type: eventType, data: item }),\n this.client.expire(hashKey, this.ttl),\n ])\n\n return item\n }\n\n async delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null> {\n const hashKey = this.makeGroupKey(groupId)\n const value = await this.client.hGet(hashKey, id)\n\n if (!value) return null\n\n const item = JSON.parse(value) as BaseStreamItem<TData>\n\n await Promise.all([this.client.hDel(hashKey, id), this.send({ groupId, id }, { type: 'delete', data: item })])\n\n return item\n }\n\n async getGroup(groupId: string): Promise<BaseStreamItem<TData>[]> {\n const hashKey = this.makeGroupKey(groupId)\n const values = await this.client.hGetAll(hashKey)\n\n const items = Object.values(values).map((v: string) => JSON.parse(v) as BaseStreamItem<TData>)\n\n const sortDesc = (a: BaseStreamItem<TData>, b: BaseStreamItem<TData>) => {\n const aTime = (a as { startTime?: number }).startTime || 0\n const bTime = (b as { startTime?: number }).startTime || 0\n return aTime - bTime\n }\n return items.sort(sortDesc)\n }\n\n async send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void> {\n const channelKey = channel.id\n ? `${this.keyPrefix}events:${this.streamName}:${channel.groupId}:${channel.id}`\n : `${this.keyPrefix}events:${this.streamName}:${channel.groupId}`\n await this.client.publish(channelKey, JSON.stringify(event))\n }\n\n async clear(groupId: string): Promise<void> {\n const hashKey = this.makeGroupKey(groupId)\n await this.client.del(hashKey)\n }\n}\n"],"mappings":";;;AAIA,MAAM,oBAAoB,OAAc;AAExC,IAAa,0BAAb,cAAoD,cAAqB;CAKvE,YAAY,YAAoB,QAAyB,MAAc,mBAAmB;AACxF,QAAM,WAAW;mBAJkB;AAKnC,OAAK,SAAS;AACd,OAAK,MAAM;;CAGb,AAAQ,aAAa,SAAyB;AAC5C,SAAO,GAAG,KAAK,YAAY;;CAG7B,MAAM,IAAI,SAAiB,IAAmD;EAC5E,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,SAAS,GAAG;AACjD,SAAO,QAAQ,KAAK,MAAM,MAAM,GAAG;;CAGrC,MAAM,IAAI,SAAiB,IAAY,MAA6C;EAClF,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAMA,OAA8B;GAAE,GAAG;GAAM;GAAI;EACnD,MAAM,WAAW,KAAK,UAAU,KAAK;EAGrC,MAAM,YADU,MAAM,KAAK,OAAO,QAAQ,SAAS,GAAG,GAC1B,WAAW;AAEvC,QAAM,QAAQ,IAAI;GAChB,KAAK,OAAO,KAAK,SAAS,IAAI,SAAS;GACvC,KAAK,KAAK;IAAE;IAAS;IAAI,EAAE;IAAE,MAAM;IAAW,MAAM;IAAM,CAAC;GAC3D,KAAK,OAAO,OAAO,SAAS,KAAK,IAAI;GACtC,CAAC;AAEF,SAAO;;CAGT,MAAM,OAAO,SAAiB,IAAmD;EAC/E,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,SAAS,GAAG;AAEjD,MAAI,CAAC,MAAO,QAAO;EAEnB,MAAM,OAAO,KAAK,MAAM,MAAM;AAE9B,QAAM,QAAQ,IAAI,CAAC,KAAK,OAAO,KAAK,SAAS,GAAG,EAAE,KAAK,KAAK;GAAE;GAAS;GAAI,EAAE;GAAE,MAAM;GAAU,MAAM;GAAM,CAAC,CAAC,CAAC;AAE9G,SAAO;;CAGT,MAAM,SAAS,SAAmD;EAChE,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAM,SAAS,MAAM,KAAK,OAAO,QAAQ,QAAQ;EAEjD,MAAM,QAAQ,OAAO,OAAO,OAAO,CAAC,KAAK,MAAc,KAAK,MAAM,EAAE,CAA0B;EAE9F,MAAM,YAAY,GAA0B,MAA6B;AAGvE,WAFe,EAA6B,aAAa,MAC1C,EAA6B,aAAa;;AAG3D,SAAO,MAAM,KAAK,SAAS;;CAG7B,MAAM,KAAQ,SAAkC,OAA2C;EACzF,MAAM,aAAa,QAAQ,KACvB,GAAG,KAAK,UAAU,SAAS,KAAK,WAAW,GAAG,QAAQ,QAAQ,GAAG,QAAQ,OACzE,GAAG,KAAK,UAAU,SAAS,KAAK,WAAW,GAAG,QAAQ;AAC1D,QAAM,KAAK,OAAO,QAAQ,YAAY,KAAK,UAAU,MAAM,CAAC;;CAG9D,MAAM,MAAM,SAAgC;EAC1C,MAAM,UAAU,KAAK,aAAa,QAAQ;AAC1C,QAAM,KAAK,OAAO,IAAI,QAAQ"}