@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,35 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,55 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,26 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,7 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/observability/index.ts"],"sourcesContent":[],"mappings":";;;KAGY,aAAA,GAAgB"}
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,76 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,87 +0,0 @@
1
- import { createTrace } from "./create-trace.mjs";
2
-
3
- //#region src/observability/stream-tracer.ts
4
- var StreamTracer = class StreamTracer {
5
- constructor(manager, traceGroup, trace, logger) {
6
- this.manager = manager;
7
- this.traceGroup = traceGroup;
8
- this.trace = trace;
9
- logger.addListener((level, msg, args) => {
10
- this.addEvent({
11
- type: "log",
12
- timestamp: Date.now(),
13
- level,
14
- message: msg,
15
- metadata: args
16
- });
17
- });
18
- }
19
- end(err) {
20
- if (this.trace.endTime) return;
21
- this.trace.status = err ? "failed" : "completed";
22
- this.trace.endTime = Date.now();
23
- this.trace.error = err;
24
- this.traceGroup.metadata.completedSteps++;
25
- this.traceGroup.metadata.activeSteps--;
26
- if (this.traceGroup.metadata.activeSteps === 0) {
27
- if (this.traceGroup.status === "running") this.traceGroup.status = "completed";
28
- this.traceGroup.endTime = Date.now();
29
- }
30
- if (err) this.traceGroup.status = "failed";
31
- this.manager.updateTrace();
32
- this.manager.updateTraceGroup();
33
- }
34
- stateOperation(operation, input) {
35
- this.addEvent({
36
- type: "state",
37
- timestamp: Date.now(),
38
- operation,
39
- data: input
40
- });
41
- }
42
- emitOperation(topic, data, success) {
43
- this.addEvent({
44
- type: "emit",
45
- timestamp: Date.now(),
46
- topic,
47
- success,
48
- data
49
- });
50
- }
51
- streamOperation(streamName, operation, input) {
52
- if (operation === "set") {
53
- const lastEvent = this.trace.events[this.trace.events.length - 1];
54
- if (lastEvent && lastEvent.type === "stream" && lastEvent.streamName === streamName && lastEvent.data.groupId === input.groupId && lastEvent.data.id === input.id) {
55
- lastEvent.calls++;
56
- lastEvent.data.data = input.data;
57
- lastEvent.maxTimestamp = Date.now();
58
- this.traceGroup.lastActivity = lastEvent.maxTimestamp;
59
- this.manager.updateTrace();
60
- this.manager.updateTraceGroup();
61
- return;
62
- }
63
- }
64
- this.addEvent({
65
- type: "stream",
66
- timestamp: Date.now(),
67
- operation,
68
- data: input,
69
- streamName,
70
- calls: 1
71
- });
72
- }
73
- child(step, logger) {
74
- const trace = createTrace(this.traceGroup, step);
75
- return new StreamTracer(this.manager.child(trace), this.traceGroup, trace, logger);
76
- }
77
- addEvent(event) {
78
- this.trace.events.push(event);
79
- this.traceGroup.lastActivity = event.timestamp;
80
- this.manager.updateTrace();
81
- this.manager.updateTraceGroup();
82
- }
83
- };
84
-
85
- //#endregion
86
- export { StreamTracer };
87
- //# sourceMappingURL=stream-tracer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream-tracer.mjs","names":["manager: TraceManager","traceGroup: TraceGroup","trace: Trace"],"sources":["../../../src/observability/stream-tracer.ts"],"sourcesContent":["import type { Logger } from '../logger'\nimport type { Step } from '../types'\nimport { createTrace } from './create-trace'\nimport type { Tracer } from './index'\nimport type { TraceManager } from './trace-manager'\nimport type { StateOperation, StreamOperation, Trace, TraceError, TraceEvent, TraceGroup } from './types'\n\nexport class StreamTracer implements Tracer {\n constructor(\n private readonly manager: TraceManager,\n private readonly traceGroup: TraceGroup,\n private readonly trace: Trace,\n logger: Logger,\n ) {\n logger.addListener((level, msg, args) => {\n this.addEvent({\n type: 'log',\n timestamp: Date.now(),\n level,\n message: msg,\n metadata: args,\n })\n })\n }\n\n end(err?: TraceError) {\n if (this.trace.endTime) {\n // avoiding updating twice\n return\n }\n\n this.trace.status = err ? 'failed' : 'completed'\n this.trace.endTime = Date.now()\n this.trace.error = err\n\n this.traceGroup.metadata.completedSteps++\n this.traceGroup.metadata.activeSteps--\n\n if (this.traceGroup.metadata.activeSteps === 0) {\n if (this.traceGroup.status === 'running') {\n this.traceGroup.status = 'completed'\n }\n this.traceGroup.endTime = Date.now()\n }\n\n if (err) {\n this.traceGroup.status = 'failed'\n }\n\n this.manager.updateTrace()\n this.manager.updateTraceGroup()\n }\n\n stateOperation(operation: StateOperation, input: unknown) {\n this.addEvent({\n type: 'state',\n timestamp: Date.now(),\n operation,\n data: input,\n })\n }\n\n emitOperation(topic: string, data: unknown, success: boolean) {\n this.addEvent({\n type: 'emit',\n timestamp: Date.now(),\n topic,\n success,\n data,\n })\n }\n\n streamOperation(\n streamName: string,\n operation: StreamOperation,\n input: { groupId: string; id: string; data?: unknown },\n ) {\n if (operation === 'set') {\n const lastEvent = this.trace.events[this.trace.events.length - 1]\n\n if (\n lastEvent &&\n lastEvent.type === 'stream' &&\n lastEvent.streamName === streamName &&\n lastEvent.data.groupId === input.groupId &&\n lastEvent.data.id === input.id\n ) {\n lastEvent.calls++\n lastEvent.data.data = input.data\n lastEvent.maxTimestamp = Date.now()\n\n this.traceGroup.lastActivity = lastEvent.maxTimestamp\n this.manager.updateTrace()\n this.manager.updateTraceGroup()\n\n return\n }\n }\n\n this.addEvent({\n type: 'stream',\n timestamp: Date.now(),\n operation,\n data: input,\n streamName,\n calls: 1,\n })\n }\n\n child(step: Step, logger: Logger) {\n const trace = createTrace(this.traceGroup, step)\n const manager = this.manager.child(trace)\n\n return new StreamTracer(manager, this.traceGroup, trace, logger)\n }\n\n private addEvent(event: TraceEvent) {\n this.trace.events.push(event)\n this.traceGroup.lastActivity = event.timestamp\n\n this.manager.updateTrace()\n this.manager.updateTraceGroup()\n }\n}\n"],"mappings":";;;AAOA,IAAa,eAAb,MAAa,aAA+B;CAC1C,YACE,AAAiBA,SACjB,AAAiBC,YACjB,AAAiBC,OACjB,QACA;EAJiB;EACA;EACA;AAGjB,SAAO,aAAa,OAAO,KAAK,SAAS;AACvC,QAAK,SAAS;IACZ,MAAM;IACN,WAAW,KAAK,KAAK;IACrB;IACA,SAAS;IACT,UAAU;IACX,CAAC;IACF;;CAGJ,IAAI,KAAkB;AACpB,MAAI,KAAK,MAAM,QAEb;AAGF,OAAK,MAAM,SAAS,MAAM,WAAW;AACrC,OAAK,MAAM,UAAU,KAAK,KAAK;AAC/B,OAAK,MAAM,QAAQ;AAEnB,OAAK,WAAW,SAAS;AACzB,OAAK,WAAW,SAAS;AAEzB,MAAI,KAAK,WAAW,SAAS,gBAAgB,GAAG;AAC9C,OAAI,KAAK,WAAW,WAAW,UAC7B,MAAK,WAAW,SAAS;AAE3B,QAAK,WAAW,UAAU,KAAK,KAAK;;AAGtC,MAAI,IACF,MAAK,WAAW,SAAS;AAG3B,OAAK,QAAQ,aAAa;AAC1B,OAAK,QAAQ,kBAAkB;;CAGjC,eAAe,WAA2B,OAAgB;AACxD,OAAK,SAAS;GACZ,MAAM;GACN,WAAW,KAAK,KAAK;GACrB;GACA,MAAM;GACP,CAAC;;CAGJ,cAAc,OAAe,MAAe,SAAkB;AAC5D,OAAK,SAAS;GACZ,MAAM;GACN,WAAW,KAAK,KAAK;GACrB;GACA;GACA;GACD,CAAC;;CAGJ,gBACE,YACA,WACA,OACA;AACA,MAAI,cAAc,OAAO;GACvB,MAAM,YAAY,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,SAAS;AAE/D,OACE,aACA,UAAU,SAAS,YACnB,UAAU,eAAe,cACzB,UAAU,KAAK,YAAY,MAAM,WACjC,UAAU,KAAK,OAAO,MAAM,IAC5B;AACA,cAAU;AACV,cAAU,KAAK,OAAO,MAAM;AAC5B,cAAU,eAAe,KAAK,KAAK;AAEnC,SAAK,WAAW,eAAe,UAAU;AACzC,SAAK,QAAQ,aAAa;AAC1B,SAAK,QAAQ,kBAAkB;AAE/B;;;AAIJ,OAAK,SAAS;GACZ,MAAM;GACN,WAAW,KAAK,KAAK;GACrB;GACA,MAAM;GACN;GACA,OAAO;GACR,CAAC;;CAGJ,MAAM,MAAY,QAAgB;EAChC,MAAM,QAAQ,YAAY,KAAK,YAAY,KAAK;AAGhD,SAAO,IAAI,aAFK,KAAK,QAAQ,MAAM,MAAM,EAER,KAAK,YAAY,OAAO,OAAO;;CAGlE,AAAQ,SAAS,OAAmB;AAClC,OAAK,MAAM,OAAO,KAAK,MAAM;AAC7B,OAAK,WAAW,eAAe,MAAM;AAErC,OAAK,QAAQ,aAAa;AAC1B,OAAK,QAAQ,kBAAkB"}
@@ -1,24 +0,0 @@
1
- //#region src/observability/trace-manager.ts
2
- var TraceManager = class TraceManager {
3
- constructor(traceStream, traceGroupStream, traceGroup, trace) {
4
- this.traceStream = traceStream;
5
- this.traceGroupStream = traceGroupStream;
6
- this.traceGroup = traceGroup;
7
- this.trace = trace;
8
- this.updateTrace();
9
- this.updateTraceGroup();
10
- }
11
- updateTrace() {
12
- this.traceStream.set(this.traceGroup.id, this.trace.id, this.trace);
13
- }
14
- updateTraceGroup() {
15
- this.traceGroupStream.set("default", this.traceGroup.id, this.traceGroup);
16
- }
17
- child(trace) {
18
- return new TraceManager(this.traceStream, this.traceGroupStream, this.traceGroup, trace);
19
- }
20
- };
21
-
22
- //#endregion
23
- export { TraceManager };
24
- //# sourceMappingURL=trace-manager.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trace-manager.mjs","names":["traceStream: MotiaStream<Trace>","traceGroupStream: MotiaStream<TraceGroup>","traceGroup: TraceGroup","trace: Trace"],"sources":["../../../src/observability/trace-manager.ts"],"sourcesContent":["import type { MotiaStream } from '../types-stream'\nimport type { Trace, TraceGroup } from './types'\n\nexport class TraceManager {\n constructor(\n private readonly traceStream: MotiaStream<Trace>,\n private readonly traceGroupStream: MotiaStream<TraceGroup>,\n private readonly traceGroup: TraceGroup,\n private readonly trace: Trace,\n ) {\n this.updateTrace()\n this.updateTraceGroup()\n }\n\n updateTrace() {\n this.traceStream.set(this.traceGroup.id, this.trace.id, this.trace)\n }\n\n updateTraceGroup() {\n this.traceGroupStream.set('default', this.traceGroup.id, this.traceGroup)\n }\n\n child(trace: Trace) {\n return new TraceManager(this.traceStream, this.traceGroupStream, this.traceGroup, trace)\n }\n}\n"],"mappings":";AAGA,IAAa,eAAb,MAAa,aAAa;CACxB,YACE,AAAiBA,aACjB,AAAiBC,kBACjB,AAAiBC,YACjB,AAAiBC,OACjB;EAJiB;EACA;EACA;EACA;AAEjB,OAAK,aAAa;AAClB,OAAK,kBAAkB;;CAGzB,cAAc;AACZ,OAAK,YAAY,IAAI,KAAK,WAAW,IAAI,KAAK,MAAM,IAAI,KAAK,MAAM;;CAGrE,mBAAmB;AACjB,OAAK,iBAAiB,IAAI,WAAW,KAAK,WAAW,IAAI,KAAK,WAAW;;CAG3E,MAAM,OAAc;AAClB,SAAO,IAAI,aAAa,KAAK,aAAa,KAAK,kBAAkB,KAAK,YAAY,MAAM"}
@@ -1,87 +0,0 @@
1
- import { createTrace } from "./create-trace.mjs";
2
- import { RedisTraceStreamAdapter } from "./redis-trace-stream-adapter.mjs";
3
- import { StreamTracer } from "./stream-tracer.mjs";
4
- import { TraceManager } from "./trace-manager.mjs";
5
-
6
- //#region src/observability/tracer.ts
7
- const MAX_TRACE_GROUPS = process.env.MOTIA_MAX_TRACE_GROUPS ? Number.parseInt(process.env.MOTIA_MAX_TRACE_GROUPS, 10) : 50;
8
- var BaseTracerFactory = class {
9
- constructor(traceStream, traceGroupStream) {
10
- this.traceStream = traceStream;
11
- this.traceGroupStream = traceGroupStream;
12
- }
13
- async getAllGroups() {
14
- return await this.traceGroupStream.getGroup("default");
15
- }
16
- async deleteGroup(group) {
17
- const traces = await this.traceStream.getGroup(group.id);
18
- for (const trace of traces) await this.traceStream.delete(group.id, trace.id);
19
- await this.traceGroupStream.delete("default", group.id);
20
- }
21
- async clear() {
22
- const groups = await this.getAllGroups();
23
- for (const group of groups) await this.deleteGroup(group);
24
- }
25
- async createTracer(traceId, step, logger) {
26
- const traceGroup = {
27
- id: traceId,
28
- name: step.config.name,
29
- lastActivity: Date.now(),
30
- metadata: {
31
- completedSteps: 0,
32
- activeSteps: 0,
33
- totalSteps: 0
34
- },
35
- correlationId: void 0,
36
- status: "running",
37
- startTime: Date.now()
38
- };
39
- const groups = await this.getAllGroups();
40
- if (groups.length >= MAX_TRACE_GROUPS) {
41
- const groupsToDelete = groups.sort((a, b) => a.startTime - b.startTime).slice(0, groups.length - MAX_TRACE_GROUPS + 1);
42
- for (const group of groupsToDelete) await this.deleteGroup(group);
43
- }
44
- const trace = createTrace(traceGroup, step);
45
- return new StreamTracer(new TraceManager(this.traceStream, this.traceGroupStream, traceGroup, trace), traceGroup, trace, logger);
46
- }
47
- async attachToTrace(traceId, step, logger) {
48
- const existingGroup = await this.traceGroupStream.get("default", traceId);
49
- if (!existingGroup) return this.createTracer(traceId, step, logger);
50
- const trace = createTrace(existingGroup, step);
51
- return new StreamTracer(new TraceManager(this.traceStream, this.traceGroupStream, existingGroup, trace), existingGroup, trace, logger);
52
- }
53
- };
54
- const createTracerFactory = (lockedData) => {
55
- const traceStreamName = "motia-trace";
56
- const traceStreamAdapter = new RedisTraceStreamAdapter(traceStreamName, lockedData.redisClient);
57
- const traceStream = lockedData.createStream({
58
- filePath: traceStreamName,
59
- hidden: true,
60
- config: {
61
- name: traceStreamName,
62
- baseConfig: {
63
- storageType: "custom",
64
- factory: () => traceStreamAdapter
65
- },
66
- schema: null
67
- }
68
- })();
69
- const traceGroupName = "motia-trace-group";
70
- const traceGroupStreamAdapter = new RedisTraceStreamAdapter(traceGroupName, lockedData.redisClient);
71
- return new BaseTracerFactory(traceStream, lockedData.createStream({
72
- filePath: traceGroupName,
73
- hidden: true,
74
- config: {
75
- name: traceGroupName,
76
- baseConfig: {
77
- storageType: "custom",
78
- factory: () => traceGroupStreamAdapter
79
- },
80
- schema: null
81
- }
82
- })());
83
- };
84
-
85
- //#endregion
86
- export { createTracerFactory };
87
- //# sourceMappingURL=tracer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracer.mjs","names":["traceStream: MotiaStream<Trace>","traceGroupStream: MotiaStream<TraceGroup>","traceGroup: TraceGroup","traceStreamAdapter: MotiaStream<Trace>","traceGroupStreamAdapter: MotiaStream<TraceGroup>"],"sources":["../../../src/observability/tracer.ts"],"sourcesContent":["import { FileStreamAdapterManager } from '../adapters/defaults/stream/file-stream-adapter-manager'\nimport type { LockedData } from '../locked-data'\nimport type { Logger } from '../logger'\nimport type { Step } from '../types'\nimport type { MotiaStream } from '../types-stream'\nimport { createTrace } from './create-trace'\nimport type { TracerFactory } from './index'\nimport { RedisTraceStreamAdapter } from './redis-trace-stream-adapter'\nimport { StreamTracer } from './stream-tracer'\nimport { TraceManager } from './trace-manager'\nimport type { Trace, TraceGroup } from './types'\n\nconst MAX_TRACE_GROUPS = process.env.MOTIA_MAX_TRACE_GROUPS //\n ? Number.parseInt(process.env.MOTIA_MAX_TRACE_GROUPS, 10)\n : 50\n\nexport class BaseTracerFactory implements TracerFactory {\n constructor(\n private readonly traceStream: MotiaStream<Trace>,\n private readonly traceGroupStream: MotiaStream<TraceGroup>,\n ) {}\n\n private async getAllGroups() {\n return await this.traceGroupStream.getGroup('default')\n }\n\n private async deleteGroup(group: TraceGroup) {\n const traces = await this.traceStream.getGroup(group.id)\n\n for (const trace of traces) {\n await this.traceStream.delete(group.id, trace.id)\n }\n await this.traceGroupStream.delete('default', group.id)\n }\n\n async clear() {\n const groups = await this.getAllGroups()\n\n for (const group of groups) {\n await this.deleteGroup(group)\n }\n }\n\n async createTracer(traceId: string, step: Step, logger: Logger) {\n const traceGroup: TraceGroup = {\n id: traceId,\n name: step.config.name,\n lastActivity: Date.now(),\n metadata: {\n completedSteps: 0,\n activeSteps: 0,\n totalSteps: 0,\n },\n correlationId: undefined,\n status: 'running',\n startTime: Date.now(),\n }\n\n const groups = await this.getAllGroups()\n\n if (groups.length >= MAX_TRACE_GROUPS) {\n const groupsToDelete = groups\n .sort((a, b) => a.startTime - b.startTime) // date ascending\n .slice(0, groups.length - MAX_TRACE_GROUPS + 1)\n\n for (const group of groupsToDelete) {\n await this.deleteGroup(group)\n }\n }\n\n const trace = createTrace(traceGroup, step)\n const manager = new TraceManager(this.traceStream, this.traceGroupStream, traceGroup, trace)\n\n return new StreamTracer(manager, traceGroup, trace, logger)\n }\n\n async attachToTrace(traceId: string, step: Step, logger: Logger) {\n const existingGroup = await this.traceGroupStream.get('default', traceId)\n\n if (!existingGroup) {\n return this.createTracer(traceId, step, logger)\n }\n\n const trace = createTrace(existingGroup, step)\n const manager = new TraceManager(this.traceStream, this.traceGroupStream, existingGroup, trace)\n\n return new StreamTracer(manager, existingGroup, trace, logger)\n }\n}\n\nexport const createTracerFactory = (lockedData: LockedData): TracerFactory => {\n const traceStreamName = 'motia-trace'\n const traceStreamAdapter: MotiaStream<Trace> = new RedisTraceStreamAdapter(traceStreamName, lockedData.redisClient)\n\n const traceStream = lockedData.createStream<Trace>({\n filePath: traceStreamName,\n hidden: true,\n config: {\n name: traceStreamName,\n baseConfig: { storageType: 'custom', factory: () => traceStreamAdapter },\n schema: null as never,\n },\n })()\n\n const traceGroupName = 'motia-trace-group'\n const traceGroupStreamAdapter: MotiaStream<TraceGroup> = new RedisTraceStreamAdapter(\n traceGroupName,\n lockedData.redisClient,\n )\n\n const traceGroupStream = lockedData.createStream<TraceGroup>({\n filePath: traceGroupName,\n hidden: true,\n config: {\n name: traceGroupName,\n baseConfig: { storageType: 'custom', factory: () => traceGroupStreamAdapter },\n schema: null as never,\n },\n })()\n\n return new BaseTracerFactory(traceStream, traceGroupStream)\n}\n"],"mappings":";;;;;;AAYA,MAAM,mBAAmB,QAAQ,IAAI,yBACjC,OAAO,SAAS,QAAQ,IAAI,wBAAwB,GAAG,GACvD;AAEJ,IAAa,oBAAb,MAAwD;CACtD,YACE,AAAiBA,aACjB,AAAiBC,kBACjB;EAFiB;EACA;;CAGnB,MAAc,eAAe;AAC3B,SAAO,MAAM,KAAK,iBAAiB,SAAS,UAAU;;CAGxD,MAAc,YAAY,OAAmB;EAC3C,MAAM,SAAS,MAAM,KAAK,YAAY,SAAS,MAAM,GAAG;AAExD,OAAK,MAAM,SAAS,OAClB,OAAM,KAAK,YAAY,OAAO,MAAM,IAAI,MAAM,GAAG;AAEnD,QAAM,KAAK,iBAAiB,OAAO,WAAW,MAAM,GAAG;;CAGzD,MAAM,QAAQ;EACZ,MAAM,SAAS,MAAM,KAAK,cAAc;AAExC,OAAK,MAAM,SAAS,OAClB,OAAM,KAAK,YAAY,MAAM;;CAIjC,MAAM,aAAa,SAAiB,MAAY,QAAgB;EAC9D,MAAMC,aAAyB;GAC7B,IAAI;GACJ,MAAM,KAAK,OAAO;GAClB,cAAc,KAAK,KAAK;GACxB,UAAU;IACR,gBAAgB;IAChB,aAAa;IACb,YAAY;IACb;GACD,eAAe;GACf,QAAQ;GACR,WAAW,KAAK,KAAK;GACtB;EAED,MAAM,SAAS,MAAM,KAAK,cAAc;AAExC,MAAI,OAAO,UAAU,kBAAkB;GACrC,MAAM,iBAAiB,OACpB,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,UAAU,CACzC,MAAM,GAAG,OAAO,SAAS,mBAAmB,EAAE;AAEjD,QAAK,MAAM,SAAS,eAClB,OAAM,KAAK,YAAY,MAAM;;EAIjC,MAAM,QAAQ,YAAY,YAAY,KAAK;AAG3C,SAAO,IAAI,aAFK,IAAI,aAAa,KAAK,aAAa,KAAK,kBAAkB,YAAY,MAAM,EAE3D,YAAY,OAAO,OAAO;;CAG7D,MAAM,cAAc,SAAiB,MAAY,QAAgB;EAC/D,MAAM,gBAAgB,MAAM,KAAK,iBAAiB,IAAI,WAAW,QAAQ;AAEzE,MAAI,CAAC,cACH,QAAO,KAAK,aAAa,SAAS,MAAM,OAAO;EAGjD,MAAM,QAAQ,YAAY,eAAe,KAAK;AAG9C,SAAO,IAAI,aAFK,IAAI,aAAa,KAAK,aAAa,KAAK,kBAAkB,eAAe,MAAM,EAE9D,eAAe,OAAO,OAAO;;;AAIlE,MAAa,uBAAuB,eAA0C;CAC5E,MAAM,kBAAkB;CACxB,MAAMC,qBAAyC,IAAI,wBAAwB,iBAAiB,WAAW,YAAY;CAEnH,MAAM,cAAc,WAAW,aAAoB;EACjD,UAAU;EACV,QAAQ;EACR,QAAQ;GACN,MAAM;GACN,YAAY;IAAE,aAAa;IAAU,eAAe;IAAoB;GACxE,QAAQ;GACT;EACF,CAAC,EAAE;CAEJ,MAAM,iBAAiB;CACvB,MAAMC,0BAAmD,IAAI,wBAC3D,gBACA,WAAW,YACZ;AAYD,QAAO,IAAI,kBAAkB,aAVJ,WAAW,aAAyB;EAC3D,UAAU;EACV,QAAQ;EACR,QAAQ;GACN,MAAM;GACN,YAAY;IAAE,aAAa;IAAU,eAAe;IAAyB;GAC7E,QAAQ;GACT;EACF,CAAC,EAAE,CAEuD"}
@@ -1,14 +0,0 @@
1
- import "../types.mjs";
2
-
3
- //#region src/observability/types.d.ts
4
-
5
- type TraceError = {
6
- message: string;
7
- code?: string | number;
8
- stack?: string;
9
- };
10
- type StateOperation = 'get' | 'getGroup' | 'set' | 'delete' | 'clear';
11
- type StreamOperation = 'get' | 'getGroup' | 'set' | 'delete' | 'clear' | 'send';
12
- //#endregion
13
- export { StateOperation, StreamOperation, TraceError };
14
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/observability/types.ts"],"sourcesContent":[],"mappings":";;;;KAiBY,UAAA;;;;;KAqBA,cAAA;KACA,eAAA"}
@@ -1,50 +0,0 @@
1
- import pc from "picocolors";
2
-
3
- //#region src/pretty-print.ts
4
- const stepTag = (step) => pc.bold(pc.cyan(step));
5
- const timestampTag = (timestamp) => pc.gray(timestamp);
6
- const traceIdTag = (traceId) => pc.gray(traceId);
7
- const levelTags = {
8
- error: pc.red("[ERROR]"),
9
- info: pc.blue("[INFO]"),
10
- warn: pc.yellow("[WARN]"),
11
- debug: pc.gray("[DEBUG]"),
12
- trace: pc.gray("[TRACE]")
13
- };
14
- const numericTag = (value) => pc.green(value);
15
- const stringTag = (value) => pc.cyan(value);
16
- const booleanTag = (value) => pc.blue(value);
17
- const arrayBrackets = ["[", "]"].map((s) => pc.gray(s));
18
- const objectBrackets = ["{", "}"].map((s) => pc.gray(s));
19
- const prettyPrintObject = (obj, depth = 0, parentIsLast = false, prefix = "") => {
20
- const tab = prefix + (depth === 0 ? "" : parentIsLast ? "│ " : "│ ");
21
- if (depth > 2) return `${tab} └ ${pc.gray("[...]")}`;
22
- const entries = Object.entries(obj);
23
- return entries.map(([key, value], index) => {
24
- const isLast = index === entries.length - 1;
25
- const isObject = typeof value === "object" && value !== null;
26
- const prefix$1 = isLast && !isObject ? "└" : "├";
27
- if (isObject) {
28
- const subObject = prettyPrintObject(value, depth + 1, isLast, tab);
29
- const [start, end] = Array.isArray(value) ? arrayBrackets : objectBrackets;
30
- return `${tab}${prefix$1} ${key}: ${start}\n${subObject}\n${tab}${isLast ? "└" : "│"} ${end}`;
31
- }
32
- let printedValue = value;
33
- if (typeof value === "number") printedValue = numericTag(String(value));
34
- else if (typeof value === "boolean") printedValue = booleanTag(String(value));
35
- else if (typeof value === "string") printedValue = stringTag(value);
36
- return `${tab}${prefix$1} ${key}: ${printedValue}`;
37
- }).join("\n");
38
- };
39
- const prettyPrint = (json, excludeDetails = false) => {
40
- const { time, traceId, msg, flows, level, step, ...details } = json;
41
- const levelTag = levelTags[level];
42
- const timestamp = timestampTag(`[${new Date(time).toLocaleTimeString()}]`);
43
- const objectHasKeys = Object.keys(details).length > 0;
44
- console.log(`${timestamp} ${traceIdTag(traceId)} ${levelTag} ${stepTag(step)} ${msg}`);
45
- if (objectHasKeys && !excludeDetails) console.log(prettyPrintObject(details));
46
- };
47
-
48
- //#endregion
49
- export { prettyPrint };
50
- //# sourceMappingURL=pretty-print.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pretty-print.mjs","names":["levelTags: Record<string, string>","prefix"],"sources":["../../src/pretty-print.ts"],"sourcesContent":["import pc from 'picocolors'\n\nconst stepTag = (step: string) => pc.bold(pc.cyan(step))\nconst timestampTag = (timestamp: string) => pc.gray(timestamp)\nconst traceIdTag = (traceId: string) => pc.gray(traceId)\n\nconst levelTags: Record<string, string> = {\n error: pc.red('[ERROR]'),\n info: pc.blue('[INFO]'),\n warn: pc.yellow('[WARN]'),\n debug: pc.gray('[DEBUG]'),\n trace: pc.gray('[TRACE]'),\n}\n\nconst numericTag = (value: string) => pc.green(value)\nconst stringTag = (value: string) => pc.cyan(value)\nconst booleanTag = (value: string) => pc.blue(value)\n\nconst arrayBrackets = ['[', ']'].map((s) => pc.gray(s))\nconst objectBrackets = ['{', '}'].map((s) => pc.gray(s))\n\nconst prettyPrintObject = (obj: Record<string, any>, depth = 0, parentIsLast = false, prefix = ''): string => {\n const tab = prefix + (depth === 0 ? '' : parentIsLast ? '│ ' : '│ ')\n\n if (depth > 2) {\n return `${tab} └ ${pc.gray('[...]')}`\n }\n\n const entries = Object.entries(obj)\n\n return entries\n .map(([key, value], index) => {\n const isLast = index === entries.length - 1\n const isObject = typeof value === 'object' && value !== null\n const prefix = isLast && !isObject ? '└' : '├'\n\n if (isObject) {\n const subObject = prettyPrintObject(value, depth + 1, isLast, tab)\n const [start, end] = Array.isArray(value) ? arrayBrackets : objectBrackets\n\n return `${tab}${prefix} ${key}: ${start}\\n${subObject}\\n${tab}${isLast ? '└' : '│'} ${end}`\n }\n\n let printedValue = value\n\n if (typeof value === 'number') {\n printedValue = numericTag(String(value))\n } else if (typeof value === 'boolean') {\n printedValue = booleanTag(String(value))\n } else if (typeof value === 'string') {\n printedValue = stringTag(value)\n }\n\n return `${tab}${prefix} ${key}: ${printedValue}`\n })\n .join('\\n')\n}\n\nexport const prettyPrint = (json: Record<string, any>, excludeDetails = false): void => {\n const { time, traceId, msg, flows, level, step, ...details } = json\n const levelTag = levelTags[level]\n const timestamp = timestampTag(`[${new Date(time).toLocaleTimeString()}]`)\n const objectHasKeys = Object.keys(details).length > 0\n\n console.log(`${timestamp} ${traceIdTag(traceId)} ${levelTag} ${stepTag(step)} ${msg}`)\n\n if (objectHasKeys && !excludeDetails) {\n console.log(prettyPrintObject(details))\n }\n}\n"],"mappings":";;;AAEA,MAAM,WAAW,SAAiB,GAAG,KAAK,GAAG,KAAK,KAAK,CAAC;AACxD,MAAM,gBAAgB,cAAsB,GAAG,KAAK,UAAU;AAC9D,MAAM,cAAc,YAAoB,GAAG,KAAK,QAAQ;AAExD,MAAMA,YAAoC;CACxC,OAAO,GAAG,IAAI,UAAU;CACxB,MAAM,GAAG,KAAK,SAAS;CACvB,MAAM,GAAG,OAAO,SAAS;CACzB,OAAO,GAAG,KAAK,UAAU;CACzB,OAAO,GAAG,KAAK,UAAU;CAC1B;AAED,MAAM,cAAc,UAAkB,GAAG,MAAM,MAAM;AACrD,MAAM,aAAa,UAAkB,GAAG,KAAK,MAAM;AACnD,MAAM,cAAc,UAAkB,GAAG,KAAK,MAAM;AAEpD,MAAM,gBAAgB,CAAC,KAAK,IAAI,CAAC,KAAK,MAAM,GAAG,KAAK,EAAE,CAAC;AACvD,MAAM,iBAAiB,CAAC,KAAK,IAAI,CAAC,KAAK,MAAM,GAAG,KAAK,EAAE,CAAC;AAExD,MAAM,qBAAqB,KAA0B,QAAQ,GAAG,eAAe,OAAO,SAAS,OAAe;CAC5G,MAAM,MAAM,UAAU,UAAU,IAAI,KAAK,eAAe,OAAO;AAE/D,KAAI,QAAQ,EACV,QAAO,GAAG,IAAI,KAAK,GAAG,KAAK,QAAQ;CAGrC,MAAM,UAAU,OAAO,QAAQ,IAAI;AAEnC,QAAO,QACJ,KAAK,CAAC,KAAK,QAAQ,UAAU;EAC5B,MAAM,SAAS,UAAU,QAAQ,SAAS;EAC1C,MAAM,WAAW,OAAO,UAAU,YAAY,UAAU;EACxD,MAAMC,WAAS,UAAU,CAAC,WAAW,MAAM;AAE3C,MAAI,UAAU;GACZ,MAAM,YAAY,kBAAkB,OAAO,QAAQ,GAAG,QAAQ,IAAI;GAClE,MAAM,CAAC,OAAO,OAAO,MAAM,QAAQ,MAAM,GAAG,gBAAgB;AAE5D,UAAO,GAAG,MAAMA,SAAO,GAAG,IAAI,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,SAAS,MAAM,IAAI,GAAG;;EAGxF,IAAI,eAAe;AAEnB,MAAI,OAAO,UAAU,SACnB,gBAAe,WAAW,OAAO,MAAM,CAAC;WAC/B,OAAO,UAAU,UAC1B,gBAAe,WAAW,OAAO,MAAM,CAAC;WAC/B,OAAO,UAAU,SAC1B,gBAAe,UAAU,MAAM;AAGjC,SAAO,GAAG,MAAMA,SAAO,GAAG,IAAI,IAAI;GAClC,CACD,KAAK,KAAK;;AAGf,MAAa,eAAe,MAA2B,iBAAiB,UAAgB;CACtF,MAAM,EAAE,MAAM,SAAS,KAAK,OAAO,OAAO,MAAM,GAAG,YAAY;CAC/D,MAAM,WAAW,UAAU;CAC3B,MAAM,YAAY,aAAa,IAAI,IAAI,KAAK,KAAK,CAAC,oBAAoB,CAAC,GAAG;CAC1E,MAAM,gBAAgB,OAAO,KAAK,QAAQ,CAAC,SAAS;AAEpD,SAAQ,IAAI,GAAG,UAAU,GAAG,WAAW,QAAQ,CAAC,GAAG,SAAS,GAAG,QAAQ,KAAK,CAAC,GAAG,MAAM;AAEtF,KAAI,iBAAiB,CAAC,eACpB,SAAQ,IAAI,kBAAkB,QAAQ,CAAC"}