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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/LICENSE +21 -93
  2. package/dist/index.d.mts +38 -0
  3. package/dist/index.mjs +30 -0
  4. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +17 -0
  5. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +1 -0
  6. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +51 -0
  7. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +1 -0
  8. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +19 -0
  9. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +1 -0
  10. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +54 -0
  11. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +1 -0
  12. package/dist/src/adapters/defaults/index.d.mts +8 -0
  13. package/dist/src/adapters/defaults/index.mjs +10 -0
  14. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +27 -0
  15. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +1 -0
  16. package/dist/src/adapters/defaults/state/file-state-adapter.mjs +105 -0
  17. package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +1 -0
  18. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +20 -0
  19. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +1 -0
  20. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +58 -0
  21. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +1 -0
  22. package/dist/src/adapters/defaults/state/utils.mjs +40 -0
  23. package/dist/src/adapters/defaults/state/utils.mjs.map +1 -0
  24. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +13 -0
  25. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +1 -0
  26. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +16 -0
  27. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +1 -0
  28. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +24 -0
  29. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +1 -0
  30. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +84 -0
  31. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +1 -0
  32. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +10 -0
  33. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +1 -0
  34. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +12 -0
  35. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +1 -0
  36. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +20 -0
  37. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +1 -0
  38. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +58 -0
  39. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +1 -0
  40. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +32 -0
  41. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +1 -0
  42. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +19 -0
  43. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +1 -0
  44. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +27 -0
  45. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +1 -0
  46. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +28 -0
  47. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +1 -0
  48. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +10 -0
  49. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +1 -0
  50. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +26 -0
  51. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +1 -0
  52. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +17 -0
  53. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +1 -0
  54. package/dist/src/analytics/utils.d.mts +9 -0
  55. package/dist/src/analytics/utils.d.mts.map +1 -0
  56. package/dist/src/analytics/utils.mjs +35 -0
  57. package/dist/src/analytics/utils.mjs.map +1 -0
  58. package/dist/src/call-step-file.mjs +213 -0
  59. package/dist/src/call-step-file.mjs.map +1 -0
  60. package/dist/src/config.d.mts +7 -0
  61. package/dist/src/config.d.mts.map +1 -0
  62. package/dist/src/config.mjs +6 -0
  63. package/dist/src/config.mjs.map +1 -0
  64. package/dist/src/cron-handler.d.mts +18 -0
  65. package/dist/src/cron-handler.d.mts.map +1 -0
  66. package/dist/src/cron-handler.mjs +103 -0
  67. package/dist/src/cron-handler.mjs.map +1 -0
  68. package/dist/src/endpoints/analytics-endpoint.mjs +29 -0
  69. package/dist/src/endpoints/analytics-endpoint.mjs.map +1 -0
  70. package/dist/src/endpoints/flows-config-endpoint.mjs +38 -0
  71. package/dist/src/endpoints/flows-config-endpoint.mjs.map +1 -0
  72. package/dist/src/endpoints/flows-endpoint.mjs +39 -0
  73. package/dist/src/endpoints/flows-endpoint.mjs.map +1 -0
  74. package/dist/src/endpoints/step-endpoint.mjs +41 -0
  75. package/dist/src/endpoints/step-endpoint.mjs.map +1 -0
  76. package/dist/src/generate-trace-id.mjs +13 -0
  77. package/dist/src/generate-trace-id.mjs.map +1 -0
  78. package/dist/src/get-step-config.d.mts +9 -0
  79. package/dist/src/get-step-config.d.mts.map +1 -0
  80. package/dist/src/get-step-config.mjs +63 -0
  81. package/dist/src/get-step-config.mjs.map +1 -0
  82. package/dist/src/get-step-language.mjs +14 -0
  83. package/dist/src/get-step-language.mjs.map +1 -0
  84. package/dist/src/guards.d.mts +10 -0
  85. package/dist/src/guards.d.mts.map +1 -0
  86. package/dist/src/guards.mjs +9 -0
  87. package/dist/src/guards.mjs.map +1 -0
  88. package/dist/src/helper/flows-helper.mjs +126 -0
  89. package/dist/src/helper/flows-helper.mjs.map +1 -0
  90. package/dist/src/infrastructure-validator/defaults.mjs +17 -0
  91. package/dist/src/infrastructure-validator/defaults.mjs.map +1 -0
  92. package/dist/src/infrastructure-validator/index.d.mts +3 -0
  93. package/dist/src/infrastructure-validator/index.mjs +4 -0
  94. package/dist/src/infrastructure-validator/schemas.d.mts +1 -0
  95. package/dist/src/infrastructure-validator/schemas.mjs +77 -0
  96. package/dist/src/infrastructure-validator/schemas.mjs.map +1 -0
  97. package/dist/src/infrastructure-validator/types.d.mts +14 -0
  98. package/dist/src/infrastructure-validator/types.d.mts.map +1 -0
  99. package/dist/src/infrastructure-validator/validations.d.mts +7 -0
  100. package/dist/src/infrastructure-validator/validations.d.mts.map +1 -0
  101. package/dist/src/infrastructure-validator/validations.mjs +29 -0
  102. package/dist/src/infrastructure-validator/validations.mjs.map +1 -0
  103. package/dist/src/language-runner.mjs +44 -0
  104. package/dist/src/language-runner.mjs.map +1 -0
  105. package/dist/src/locked-data.d.mts +81 -0
  106. package/dist/src/locked-data.d.mts.map +1 -0
  107. package/dist/src/locked-data.mjs +223 -0
  108. package/dist/src/locked-data.mjs.map +1 -0
  109. package/dist/src/logger-factory.d.mts +16 -0
  110. package/dist/src/logger-factory.d.mts.map +1 -0
  111. package/dist/src/logger-factory.mjs +33 -0
  112. package/dist/src/logger-factory.mjs.map +1 -0
  113. package/dist/src/logger.d.mts +28 -0
  114. package/dist/src/logger.d.mts.map +1 -0
  115. package/dist/src/logger.mjs +64 -0
  116. package/dist/src/logger.mjs.map +1 -0
  117. package/dist/src/mermaid-generator.d.mts +9 -0
  118. package/dist/src/mermaid-generator.d.mts.map +1 -0
  119. package/dist/src/mermaid-generator.mjs +126 -0
  120. package/dist/src/mermaid-generator.mjs.map +1 -0
  121. package/dist/src/motia.d.mts +36 -0
  122. package/dist/src/motia.d.mts.map +1 -0
  123. package/dist/src/motia.mjs +6 -0
  124. package/dist/src/motia.mjs.map +1 -0
  125. package/dist/src/node/can-access.d.mts +1 -0
  126. package/dist/src/node/can-access.mjs +36 -0
  127. package/dist/src/node/can-access.mjs.map +1 -0
  128. package/dist/src/node/get-config.d.mts +1 -0
  129. package/dist/src/node/get-config.mjs +49 -0
  130. package/dist/src/node/get-config.mjs.map +1 -0
  131. package/dist/src/node/logger.mjs +47 -0
  132. package/dist/src/node/logger.mjs.map +1 -0
  133. package/dist/src/node/middleware-compose.mjs +10 -0
  134. package/dist/src/node/middleware-compose.mjs.map +1 -0
  135. package/dist/src/node/node-runner.d.mts +1 -0
  136. package/dist/src/node/node-runner.mjs +94 -0
  137. package/dist/src/node/node-runner.mjs.map +1 -0
  138. package/dist/src/node/rpc-state-manager.mjs +35 -0
  139. package/dist/src/node/rpc-state-manager.mjs.map +1 -0
  140. package/dist/src/node/rpc.mjs +55 -0
  141. package/dist/src/node/rpc.mjs.map +1 -0
  142. package/dist/src/observability/create-trace.mjs +26 -0
  143. package/dist/src/observability/create-trace.mjs.map +1 -0
  144. package/dist/src/observability/index.d.mts +7 -0
  145. package/dist/src/observability/index.d.mts.map +1 -0
  146. package/dist/src/observability/no-tracer.d.mts +15 -0
  147. package/dist/src/observability/no-tracer.d.mts.map +1 -0
  148. package/dist/src/observability/no-tracer.mjs +15 -0
  149. package/dist/src/observability/no-tracer.mjs.map +1 -0
  150. package/dist/src/observability/redis-trace-stream-adapter.mjs +76 -0
  151. package/dist/src/observability/redis-trace-stream-adapter.mjs.map +1 -0
  152. package/dist/src/observability/stream-tracer.mjs +87 -0
  153. package/dist/src/observability/stream-tracer.mjs.map +1 -0
  154. package/dist/src/observability/trace-manager.mjs +24 -0
  155. package/dist/src/observability/trace-manager.mjs.map +1 -0
  156. package/dist/src/observability/tracer.mjs +87 -0
  157. package/dist/src/observability/tracer.mjs.map +1 -0
  158. package/dist/src/observability/types.d.mts +14 -0
  159. package/dist/src/observability/types.d.mts.map +1 -0
  160. package/dist/src/pretty-print.mjs +50 -0
  161. package/dist/src/pretty-print.mjs.map +1 -0
  162. package/dist/src/printer.d.mts +65 -0
  163. package/dist/src/printer.d.mts.map +1 -0
  164. package/dist/src/printer.mjs +147 -0
  165. package/dist/src/printer.mjs.map +1 -0
  166. package/dist/src/process-communication/communication-config.mjs +26 -0
  167. package/dist/src/process-communication/communication-config.mjs.map +1 -0
  168. package/dist/src/process-communication/process-manager.mjs +67 -0
  169. package/dist/src/process-communication/process-manager.mjs.map +1 -0
  170. package/dist/src/queue-manager.d.mts +37 -0
  171. package/dist/src/queue-manager.d.mts.map +1 -0
  172. package/dist/src/queue-manager.mjs +209 -0
  173. package/dist/src/queue-manager.mjs.map +1 -0
  174. package/dist/src/run-stream-can-access.mjs +59 -0
  175. package/dist/src/run-stream-can-access.mjs.map +1 -0
  176. package/dist/src/schema-utils.mjs +30 -0
  177. package/dist/src/schema-utils.mjs.map +1 -0
  178. package/dist/src/server.d.mts +40 -0
  179. package/dist/src/server.d.mts.map +1 -0
  180. package/dist/src/server.mjs +332 -0
  181. package/dist/src/server.mjs.map +1 -0
  182. package/dist/src/socket-server/helpers.mjs +35 -0
  183. package/dist/src/socket-server/helpers.mjs.map +1 -0
  184. package/dist/src/socket-server.mjs +127 -0
  185. package/dist/src/socket-server.mjs.map +1 -0
  186. package/dist/src/state/create-state-adapter.d.mts +11 -0
  187. package/dist/src/state/create-state-adapter.d.mts.map +1 -0
  188. package/dist/src/state/create-state-adapter.mjs +11 -0
  189. package/dist/src/state/create-state-adapter.mjs.map +1 -0
  190. package/dist/src/step-handler-rpc-processor.mjs +56 -0
  191. package/dist/src/step-handler-rpc-processor.mjs.map +1 -0
  192. package/dist/src/step-handler-rpc-stdin-processor.mjs +71 -0
  193. package/dist/src/step-handler-rpc-stdin-processor.mjs.map +1 -0
  194. package/dist/src/step-handlers.d.mts +13 -0
  195. package/dist/src/step-handlers.d.mts.map +1 -0
  196. package/dist/src/step-handlers.mjs +93 -0
  197. package/dist/src/step-handlers.mjs.map +1 -0
  198. package/dist/src/step-validator.d.mts +15 -0
  199. package/dist/src/step-validator.d.mts.map +1 -0
  200. package/dist/src/step-validator.mjs +118 -0
  201. package/dist/src/step-validator.mjs.map +1 -0
  202. package/dist/src/steps/emit.step.mjs +20 -0
  203. package/dist/src/steps/emit.step.mjs.map +1 -0
  204. package/dist/src/steps/index.mjs +14 -0
  205. package/dist/src/steps/index.mjs.map +1 -0
  206. package/dist/src/streams/flows-config-stream.mjs +46 -0
  207. package/dist/src/streams/flows-config-stream.mjs.map +1 -0
  208. package/dist/src/streams/flows-stream.mjs +33 -0
  209. package/dist/src/streams/flows-stream.mjs.map +1 -0
  210. package/dist/src/streams/redis-logs-stream.d.mts +3 -0
  211. package/dist/src/streams/redis-logs-stream.mjs +97 -0
  212. package/dist/src/streams/redis-logs-stream.mjs.map +1 -0
  213. package/dist/src/streams/stream-factory.d.mts +7 -0
  214. package/dist/src/streams/stream-factory.d.mts.map +1 -0
  215. package/dist/src/types/app-config-types.d.mts +48 -0
  216. package/dist/src/types/app-config-types.d.mts.map +1 -0
  217. package/dist/src/types/generate-type-from-schema.mjs +30 -0
  218. package/dist/src/types/generate-type-from-schema.mjs.map +1 -0
  219. package/dist/src/types/generate-types-from-response.mjs +12 -0
  220. package/dist/src/types/generate-types-from-response.mjs.map +1 -0
  221. package/dist/src/types/generate-types.mjs +101 -0
  222. package/dist/src/types/generate-types.mjs.map +1 -0
  223. package/dist/src/types/merge-schemas.mjs +102 -0
  224. package/dist/src/types/merge-schemas.mjs.map +1 -0
  225. package/dist/src/types/schema.types.d.mts +13 -0
  226. package/dist/src/types/schema.types.d.mts.map +1 -0
  227. package/dist/src/types/schema.types.mjs +14 -0
  228. package/dist/src/types/schema.types.mjs.map +1 -0
  229. package/dist/src/types-stream.d.mts +46 -0
  230. package/dist/src/types-stream.d.mts.map +1 -0
  231. package/dist/src/types.d.mts +188 -0
  232. package/dist/src/types.d.mts.map +1 -0
  233. package/dist/src/utils.mjs +13 -0
  234. package/dist/src/utils.mjs.map +1 -0
  235. package/dist/src/validate-event-input.mjs +76 -0
  236. package/dist/src/validate-event-input.mjs.map +1 -0
  237. package/jest.config.cjs +20 -0
  238. package/package.json +20 -8
  239. package/tsdown.config.ts +52 -0
  240. package/dist/index.d.ts +0 -30
  241. package/dist/index.d.ts.map +0 -1
  242. package/dist/index.js +0 -72
  243. package/dist/jest.config.d.ts +0 -8
  244. package/dist/jest.config.d.ts.map +0 -1
  245. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +0 -13
  246. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +0 -1
  247. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +0 -53
  248. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +0 -15
  249. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +0 -1
  250. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +0 -49
  251. package/dist/src/adapters/defaults/index.d.ts +0 -9
  252. package/dist/src/adapters/defaults/index.d.ts.map +0 -1
  253. package/dist/src/adapters/defaults/index.js +0 -19
  254. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +0 -23
  255. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +0 -1
  256. package/dist/src/adapters/defaults/state/file-state-adapter.js +0 -149
  257. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +0 -16
  258. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +0 -1
  259. package/dist/src/adapters/defaults/state/memory-state-adapter.js +0 -69
  260. package/dist/src/adapters/defaults/state/utils.d.ts +0 -4
  261. package/dist/src/adapters/defaults/state/utils.d.ts.map +0 -1
  262. package/dist/src/adapters/defaults/state/utils.js +0 -66
  263. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +0 -9
  264. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +0 -1
  265. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +0 -14
  266. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +0 -22
  267. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +0 -1
  268. package/dist/src/adapters/defaults/stream/file-stream-adapter.js +0 -125
  269. package/dist/src/adapters/defaults/stream/index.d.ts +0 -5
  270. package/dist/src/adapters/defaults/stream/index.d.ts.map +0 -1
  271. package/dist/src/adapters/defaults/stream/index.js +0 -11
  272. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +0 -6
  273. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +0 -1
  274. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +0 -10
  275. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +0 -16
  276. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +0 -1
  277. package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +0 -55
  278. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +0 -29
  279. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +0 -1
  280. package/dist/src/adapters/interfaces/cron-adapter.interface.js +0 -2
  281. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +0 -15
  282. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +0 -1
  283. package/dist/src/adapters/interfaces/event-adapter.interface.js +0 -2
  284. package/dist/src/adapters/interfaces/index.d.ts +0 -7
  285. package/dist/src/adapters/interfaces/index.d.ts.map +0 -1
  286. package/dist/src/adapters/interfaces/index.js +0 -5
  287. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +0 -23
  288. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +0 -1
  289. package/dist/src/adapters/interfaces/observability-adapter.interface.js +0 -2
  290. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +0 -24
  291. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +0 -1
  292. package/dist/src/adapters/interfaces/state-adapter.interface.js +0 -2
  293. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +0 -6
  294. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +0 -1
  295. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +0 -2
  296. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +0 -22
  297. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +0 -1
  298. package/dist/src/adapters/interfaces/stream-adapter.interface.js +0 -16
  299. package/dist/src/analytics/utils.d.ts +0 -6
  300. package/dist/src/analytics/utils.d.ts.map +0 -1
  301. package/dist/src/analytics/utils.js +0 -51
  302. package/dist/src/call-step-file.d.ts +0 -16
  303. package/dist/src/call-step-file.d.ts.map +0 -1
  304. package/dist/src/call-step-file.js +0 -198
  305. package/dist/src/config.d.ts +0 -3
  306. package/dist/src/config.d.ts.map +0 -1
  307. package/dist/src/config.js +0 -5
  308. package/dist/src/config.types.d.ts +0 -17
  309. package/dist/src/config.types.d.ts.map +0 -1
  310. package/dist/src/config.types.js +0 -2
  311. package/dist/src/cron-handler.d.ts +0 -14
  312. package/dist/src/cron-handler.d.ts.map +0 -1
  313. package/dist/src/cron-handler.js +0 -132
  314. package/dist/src/endpoints/analytics-endpoint.d.ts +0 -3
  315. package/dist/src/endpoints/analytics-endpoint.d.ts.map +0 -1
  316. package/dist/src/endpoints/analytics-endpoint.js +0 -28
  317. package/dist/src/endpoints/flows-config-endpoint.d.ts +0 -4
  318. package/dist/src/endpoints/flows-config-endpoint.d.ts.map +0 -1
  319. package/dist/src/endpoints/flows-config-endpoint.js +0 -34
  320. package/dist/src/endpoints/flows-endpoint.d.ts +0 -3
  321. package/dist/src/endpoints/flows-endpoint.d.ts.map +0 -1
  322. package/dist/src/endpoints/flows-endpoint.js +0 -29
  323. package/dist/src/endpoints/step-endpoint.d.ts +0 -4
  324. package/dist/src/endpoints/step-endpoint.d.ts.map +0 -1
  325. package/dist/src/endpoints/step-endpoint.js +0 -45
  326. package/dist/src/generate-trace-id.d.ts +0 -3
  327. package/dist/src/generate-trace-id.d.ts.map +0 -1
  328. package/dist/src/generate-trace-id.js +0 -14
  329. package/dist/src/get-step-config.d.ts +0 -5
  330. package/dist/src/get-step-config.d.ts.map +0 -1
  331. package/dist/src/get-step-config.js +0 -68
  332. package/dist/src/get-step-language.d.ts +0 -2
  333. package/dist/src/get-step-language.d.ts.map +0 -1
  334. package/dist/src/get-step-language.js +0 -27
  335. package/dist/src/guards.d.ts +0 -6
  336. package/dist/src/guards.d.ts.map +0 -1
  337. package/dist/src/guards.js +0 -11
  338. package/dist/src/helper/flows-helper.d.ts +0 -6
  339. package/dist/src/helper/flows-helper.d.ts.map +0 -1
  340. package/dist/src/helper/flows-helper.js +0 -143
  341. package/dist/src/infrastructure-validator/defaults.d.ts +0 -4
  342. package/dist/src/infrastructure-validator/defaults.d.ts.map +0 -1
  343. package/dist/src/infrastructure-validator/defaults.js +0 -16
  344. package/dist/src/infrastructure-validator/index.d.ts +0 -4
  345. package/dist/src/infrastructure-validator/index.d.ts.map +0 -1
  346. package/dist/src/infrastructure-validator/index.js +0 -13
  347. package/dist/src/infrastructure-validator/schemas.d.ts +0 -45
  348. package/dist/src/infrastructure-validator/schemas.d.ts.map +0 -1
  349. package/dist/src/infrastructure-validator/schemas.js +0 -100
  350. package/dist/src/infrastructure-validator/types.d.ts +0 -21
  351. package/dist/src/infrastructure-validator/types.d.ts.map +0 -1
  352. package/dist/src/infrastructure-validator/types.js +0 -2
  353. package/dist/src/infrastructure-validator/validations.d.ts +0 -4
  354. package/dist/src/infrastructure-validator/validations.d.ts.map +0 -1
  355. package/dist/src/infrastructure-validator/validations.js +0 -62
  356. package/dist/src/language-runner.d.ts +0 -15
  357. package/dist/src/language-runner.d.ts.map +0 -1
  358. package/dist/src/language-runner.js +0 -31
  359. package/dist/src/locked-data.d.ts +0 -78
  360. package/dist/src/locked-data.d.ts.map +0 -1
  361. package/dist/src/locked-data.js +0 -284
  362. package/dist/src/logger-factory.d.ts +0 -19
  363. package/dist/src/logger-factory.d.ts.map +0 -1
  364. package/dist/src/logger-factory.js +0 -27
  365. package/dist/src/logger.d.ts +0 -26
  366. package/dist/src/logger.d.ts.map +0 -1
  367. package/dist/src/logger.js +0 -60
  368. package/dist/src/mermaid-generator.d.ts +0 -5
  369. package/dist/src/mermaid-generator.d.ts.map +0 -1
  370. package/dist/src/mermaid-generator.js +0 -203
  371. package/dist/src/motia.d.ts +0 -33
  372. package/dist/src/motia.d.ts.map +0 -1
  373. package/dist/src/motia.js +0 -4
  374. package/dist/src/node/can-access.d.ts +0 -2
  375. package/dist/src/node/can-access.d.ts.map +0 -1
  376. package/dist/src/node/can-access.js +0 -44
  377. package/dist/src/node/get-config.d.ts +0 -2
  378. package/dist/src/node/get-config.d.ts.map +0 -1
  379. package/dist/src/node/get-config.js +0 -64
  380. package/dist/src/node/logger.d.ts +0 -16
  381. package/dist/src/node/logger.d.ts.map +0 -1
  382. package/dist/src/node/logger.js +0 -48
  383. package/dist/src/node/middleware-compose.d.ts +0 -2
  384. package/dist/src/node/middleware-compose.d.ts.map +0 -1
  385. package/dist/src/node/middleware-compose.js +0 -10
  386. package/dist/src/node/node-runner.d.ts +0 -2
  387. package/dist/src/node/node-runner.d.ts.map +0 -1
  388. package/dist/src/node/node-runner.js +0 -83
  389. package/dist/src/node/rpc-state-manager.d.ts +0 -12
  390. package/dist/src/node/rpc-state-manager.d.ts.map +0 -1
  391. package/dist/src/node/rpc-state-manager.js +0 -24
  392. package/dist/src/node/rpc.d.ts +0 -10
  393. package/dist/src/node/rpc.d.ts.map +0 -1
  394. package/dist/src/node/rpc.js +0 -50
  395. package/dist/src/observability/create-trace.d.ts +0 -4
  396. package/dist/src/observability/create-trace.d.ts.map +0 -1
  397. package/dist/src/observability/create-trace.js +0 -22
  398. package/dist/src/observability/index.d.ts +0 -4
  399. package/dist/src/observability/index.d.ts.map +0 -1
  400. package/dist/src/observability/index.js +0 -2
  401. package/dist/src/observability/no-tracer.d.ts +0 -10
  402. package/dist/src/observability/no-tracer.d.ts.map +0 -1
  403. package/dist/src/observability/no-tracer.js +0 -22
  404. package/dist/src/observability/redis-trace-stream-adapter.d.ts +0 -17
  405. package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +0 -1
  406. package/dist/src/observability/redis-trace-stream-adapter.js +0 -65
  407. package/dist/src/observability/stream-tracer.d.ts +0 -23
  408. package/dist/src/observability/stream-tracer.d.ts.map +0 -1
  409. package/dist/src/observability/stream-tracer.js +0 -114
  410. package/dist/src/observability/trace-manager.d.ts +0 -14
  411. package/dist/src/observability/trace-manager.d.ts.map +0 -1
  412. package/dist/src/observability/trace-manager.js +0 -26
  413. package/dist/src/observability/tracer.d.ts +0 -19
  414. package/dist/src/observability/tracer.d.ts.map +0 -1
  415. package/dist/src/observability/tracer.js +0 -98
  416. package/dist/src/observability/types.d.ts +0 -75
  417. package/dist/src/observability/types.d.ts.map +0 -1
  418. package/dist/src/observability/types.js +0 -2
  419. package/dist/src/pretty-print.d.ts +0 -2
  420. package/dist/src/pretty-print.d.ts.map +0 -1
  421. package/dist/src/pretty-print.js +0 -63
  422. package/dist/src/printer.d.ts +0 -61
  423. package/dist/src/printer.d.ts.map +0 -1
  424. package/dist/src/printer.js +0 -164
  425. package/dist/src/process-communication/communication-config.d.ts +0 -8
  426. package/dist/src/process-communication/communication-config.d.ts.map +0 -1
  427. package/dist/src/process-communication/communication-config.js +0 -18
  428. package/dist/src/process-communication/process-manager.d.ts +0 -32
  429. package/dist/src/process-communication/process-manager.d.ts.map +0 -1
  430. package/dist/src/process-communication/process-manager.js +0 -88
  431. package/dist/src/process-communication/rpc-processor-interface.d.ts +0 -10
  432. package/dist/src/process-communication/rpc-processor-interface.d.ts.map +0 -1
  433. package/dist/src/process-communication/rpc-processor-interface.js +0 -2
  434. package/dist/src/queue-manager.d.ts +0 -42
  435. package/dist/src/queue-manager.d.ts.map +0 -1
  436. package/dist/src/queue-manager.js +0 -252
  437. package/dist/src/ruby/get-ruby-config.d.ts +0 -3
  438. package/dist/src/ruby/get-ruby-config.d.ts.map +0 -1
  439. package/dist/src/ruby/get-ruby-config.js +0 -34
  440. package/dist/src/run-stream-can-access.d.ts +0 -10
  441. package/dist/src/run-stream-can-access.d.ts.map +0 -1
  442. package/dist/src/run-stream-can-access.js +0 -59
  443. package/dist/src/schema-utils.d.ts +0 -9
  444. package/dist/src/schema-utils.d.ts.map +0 -1
  445. package/dist/src/schema-utils.js +0 -80
  446. package/dist/src/server.d.ts +0 -37
  447. package/dist/src/server.d.ts.map +0 -1
  448. package/dist/src/server.js +0 -321
  449. package/dist/src/socket-server/helpers.d.ts +0 -53
  450. package/dist/src/socket-server/helpers.d.ts.map +0 -1
  451. package/dist/src/socket-server/helpers.js +0 -28
  452. package/dist/src/socket-server.d.ts +0 -21
  453. package/dist/src/socket-server.d.ts.map +0 -1
  454. package/dist/src/socket-server.js +0 -127
  455. package/dist/src/state/create-state-adapter.d.ts +0 -8
  456. package/dist/src/state/create-state-adapter.d.ts.map +0 -1
  457. package/dist/src/state/create-state-adapter.js +0 -8
  458. package/dist/src/step-handler-rpc-processor.d.ts +0 -22
  459. package/dist/src/step-handler-rpc-processor.d.ts.map +0 -1
  460. package/dist/src/step-handler-rpc-processor.js +0 -63
  461. package/dist/src/step-handler-rpc-stdin-processor.d.ts +0 -23
  462. package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +0 -1
  463. package/dist/src/step-handler-rpc-stdin-processor.js +0 -83
  464. package/dist/src/step-handlers.d.ts +0 -9
  465. package/dist/src/step-handlers.d.ts.map +0 -1
  466. package/dist/src/step-handlers.js +0 -77
  467. package/dist/src/step-validator.d.ts +0 -15
  468. package/dist/src/step-validator.d.ts.map +0 -1
  469. package/dist/src/step-validator.js +0 -135
  470. package/dist/src/steps/emit.step.d.ts +0 -12
  471. package/dist/src/steps/emit.step.d.ts.map +0 -1
  472. package/dist/src/steps/emit.step.js +0 -27
  473. package/dist/src/steps/index.d.ts +0 -3
  474. package/dist/src/steps/index.d.ts.map +0 -1
  475. package/dist/src/steps/index.js +0 -16
  476. package/dist/src/streams/flows-config-stream.d.ts +0 -14
  477. package/dist/src/streams/flows-config-stream.d.ts.map +0 -1
  478. package/dist/src/streams/flows-config-stream.js +0 -49
  479. package/dist/src/streams/flows-stream.d.ts +0 -12
  480. package/dist/src/streams/flows-stream.d.ts.map +0 -1
  481. package/dist/src/streams/flows-stream.js +0 -35
  482. package/dist/src/streams/redis-logs-stream.d.ts +0 -31
  483. package/dist/src/streams/redis-logs-stream.d.ts.map +0 -1
  484. package/dist/src/streams/redis-logs-stream.js +0 -84
  485. package/dist/src/streams/stream-factory.d.ts +0 -3
  486. package/dist/src/streams/stream-factory.d.ts.map +0 -1
  487. package/dist/src/streams/stream-factory.js +0 -2
  488. package/dist/src/types/app-config-types.d.ts +0 -45
  489. package/dist/src/types/app-config-types.d.ts.map +0 -1
  490. package/dist/src/types/app-config-types.js +0 -2
  491. package/dist/src/types/flows-config-types.d.ts +0 -10
  492. package/dist/src/types/flows-config-types.d.ts.map +0 -1
  493. package/dist/src/types/flows-config-types.js +0 -2
  494. package/dist/src/types/flows-types.d.ts +0 -39
  495. package/dist/src/types/flows-types.d.ts.map +0 -1
  496. package/dist/src/types/flows-types.js +0 -2
  497. package/dist/src/types/generate-type-from-schema.d.ts +0 -3
  498. package/dist/src/types/generate-type-from-schema.d.ts.map +0 -1
  499. package/dist/src/types/generate-type-from-schema.js +0 -49
  500. package/dist/src/types/generate-types-from-response.d.ts +0 -3
  501. package/dist/src/types/generate-types-from-response.d.ts.map +0 -1
  502. package/dist/src/types/generate-types-from-response.js +0 -13
  503. package/dist/src/types/generate-types.d.ts +0 -13
  504. package/dist/src/types/generate-types.d.ts.map +0 -1
  505. package/dist/src/types/generate-types.js +0 -127
  506. package/dist/src/types/merge-schemas.d.ts +0 -5
  507. package/dist/src/types/merge-schemas.d.ts.map +0 -1
  508. package/dist/src/types/merge-schemas.js +0 -183
  509. package/dist/src/types/schema.types.d.ts +0 -9
  510. package/dist/src/types/schema.types.d.ts.map +0 -1
  511. package/dist/src/types/schema.types.js +0 -14
  512. package/dist/src/types-stream.d.ts +0 -42
  513. package/dist/src/types-stream.d.ts.map +0 -1
  514. package/dist/src/types-stream.js +0 -2
  515. package/dist/src/types.d.ts +0 -184
  516. package/dist/src/types.d.ts.map +0 -1
  517. package/dist/src/types.js +0 -17
  518. package/dist/src/utils.d.ts +0 -3
  519. package/dist/src/utils.d.ts.map +0 -1
  520. package/dist/src/utils.js +0 -12
  521. package/dist/src/validate-event-input.d.ts +0 -3
  522. package/dist/src/validate-event-input.d.ts.map +0 -1
  523. package/dist/src/validate-event-input.js +0 -74
@@ -1,284 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LockedData = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const guards_1 = require("./guards");
10
- const motia_1 = require("./motia");
11
- const step_validator_1 = require("./step-validator");
12
- const generate_type_from_schema_1 = require("./types/generate-type-from-schema");
13
- const generate_types_1 = require("./types/generate-types");
14
- class LockedData {
15
- constructor(baseDir, streamAdapter, printer, redisClient) {
16
- this.baseDir = baseDir;
17
- this.streamAdapter = streamAdapter;
18
- this.printer = printer;
19
- this.redisClient = redisClient;
20
- this.flows = {};
21
- this.activeSteps = [];
22
- this.devSteps = [];
23
- this.stepsMap = {};
24
- this.handlers = {
25
- 'flow-created': [],
26
- 'flow-removed': [],
27
- 'flow-updated': [],
28
- };
29
- this.stepHandlers = {
30
- 'step-created': [],
31
- 'step-removed': [],
32
- 'step-updated': [],
33
- };
34
- this.streamHandlers = {
35
- 'stream-created': [],
36
- 'stream-removed': [],
37
- 'stream-updated': [],
38
- };
39
- this.streams = {};
40
- }
41
- applyStreamWrapper(streamWrapper) {
42
- this.streamWrapper = streamWrapper;
43
- }
44
- setStreamAuthConfig(config) {
45
- this.streamAuthConfig = config ? { authenticate: config.authenticate } : undefined;
46
- this.streamAuthContextType = config?.contextSchema ? (0, generate_type_from_schema_1.generateTypeFromSchema)(config.contextSchema) : undefined;
47
- }
48
- getStreamAuthConfig() {
49
- return this.streamAuthConfig;
50
- }
51
- saveTypes() {
52
- const types = (0, generate_types_1.generateTypesFromSteps)(this.activeSteps, this.printer);
53
- const streams = (0, generate_types_1.generateTypesFromStreams)(this.streams);
54
- const typesString = (0, generate_types_1.generateTypesString)(types, streams, this.streamAuthContextType);
55
- fs_1.default.writeFileSync(path_1.default.join(this.baseDir, 'types.d.ts'), typesString);
56
- }
57
- on(event, handler) {
58
- this.handlers[event].push(handler);
59
- }
60
- onStep(event, handler) {
61
- this.stepHandlers[event].push(handler);
62
- }
63
- onStream(event, handler) {
64
- this.streamHandlers[event].push(handler);
65
- }
66
- getActiveSteps() {
67
- return this.activeSteps.filter((step) => !step.config.flows?.includes(motia_1.PLUGIN_FLOW_ID));
68
- }
69
- eventSteps() {
70
- return this.getActiveSteps().filter(guards_1.isEventStep);
71
- }
72
- apiSteps() {
73
- return this.getActiveSteps().filter(guards_1.isApiStep);
74
- }
75
- cronSteps() {
76
- return this.getActiveSteps().filter(guards_1.isCronStep);
77
- }
78
- pythonSteps() {
79
- return this.getActiveSteps().filter((step) => step.filePath.endsWith('.py'));
80
- }
81
- tsSteps() {
82
- return this.getActiveSteps().filter((step) => step.filePath.endsWith('.ts'));
83
- }
84
- getStreams() {
85
- const streams = {};
86
- for (const [key, value] of Object.entries(this.streams)) {
87
- streams[key] = value.factory;
88
- }
89
- return streams;
90
- }
91
- listStreams() {
92
- return Object.values(this.streams);
93
- }
94
- getStreamByName(streamName) {
95
- return this.streams[streamName];
96
- }
97
- findStream(path) {
98
- return Object.values(this.streams).find((stream) => stream.filePath === path);
99
- }
100
- updateStep(oldStep, newStep, options = {}) {
101
- if (!this.isValidStep(newStep)) {
102
- this.deleteStep(oldStep);
103
- return false;
104
- }
105
- if (oldStep.config.type !== newStep.config.type) {
106
- this.activeSteps = this.activeSteps.filter((s) => s.filePath !== oldStep.filePath);
107
- this.devSteps = this.devSteps.filter((s) => s.filePath !== oldStep.filePath);
108
- if (newStep.config.type === 'noop') {
109
- this.devSteps.push(newStep);
110
- }
111
- else {
112
- this.activeSteps.push(newStep);
113
- }
114
- }
115
- const savedStep = this.stepsMap[newStep.filePath];
116
- const addedFlows = newStep.config.flows?.filter((flowName) => !oldStep.config.flows?.includes(flowName)) ?? [];
117
- const removedFlows = oldStep.config.flows?.filter((flowName) => !newStep.config.flows?.includes(flowName)) ?? [];
118
- const untouchedFlows = oldStep.config.flows?.filter((flowName) => newStep.config.flows?.includes(flowName)) ?? [];
119
- savedStep.config = newStep.config;
120
- untouchedFlows.forEach((flowName) => this.onFlowUpdated(flowName));
121
- for (const flowName of addedFlows) {
122
- if (!this.flows[flowName]) {
123
- const flow = this.createFlow(flowName);
124
- flow.steps.push(savedStep);
125
- }
126
- else {
127
- this.flows[flowName].steps.push(savedStep);
128
- this.onFlowUpdated(flowName);
129
- }
130
- }
131
- for (const flowName of removedFlows) {
132
- const flowSteps = this.flows[flowName].steps;
133
- this.flows[flowName].steps = flowSteps.filter(({ filePath }) => filePath !== newStep.filePath);
134
- if (this.flows[flowName].steps.length === 0) {
135
- this.removeFlow(flowName);
136
- }
137
- else {
138
- this.onFlowUpdated(flowName);
139
- }
140
- }
141
- if (!options.disableTypeCreation) {
142
- this.saveTypes();
143
- }
144
- this.stepHandlers['step-updated'].forEach((handler) => handler(newStep));
145
- this.printer.printStepUpdated(newStep);
146
- return true;
147
- }
148
- createStep(step, options = {}) {
149
- if (!this.isValidStep(step)) {
150
- return false;
151
- }
152
- this.stepsMap[step.filePath] = step;
153
- if (step.config.type === 'noop') {
154
- this.devSteps.push(step);
155
- }
156
- else {
157
- this.activeSteps.push(step);
158
- }
159
- for (const flowName of step.config.flows ?? []) {
160
- if (!this.flows[flowName]) {
161
- const flow = this.createFlow(flowName);
162
- flow.steps.push(step);
163
- }
164
- else {
165
- this.flows[flowName].steps.push(step);
166
- this.onFlowUpdated(flowName);
167
- }
168
- }
169
- if (!options.disableTypeCreation) {
170
- this.saveTypes();
171
- }
172
- this.stepHandlers['step-created'].forEach((handler) => handler(step));
173
- this.printer.printStepCreated(step);
174
- return true;
175
- }
176
- deleteStep(step, options = {}) {
177
- // Remove step from active and dev steps
178
- this.activeSteps = this.activeSteps.filter(({ filePath }) => filePath !== step.filePath);
179
- this.devSteps = this.devSteps.filter(({ filePath }) => filePath !== step.filePath);
180
- delete this.stepsMap[step.filePath];
181
- for (const flowName of step.config.flows ?? []) {
182
- const stepFlows = this.flows[flowName]?.steps;
183
- if (stepFlows) {
184
- this.flows[flowName].steps = stepFlows.filter(({ filePath }) => filePath !== step.filePath);
185
- }
186
- if (this.flows[flowName].steps.length === 0) {
187
- this.removeFlow(flowName);
188
- }
189
- else {
190
- this.onFlowUpdated(flowName);
191
- }
192
- }
193
- if (!options.disableTypeCreation) {
194
- this.saveTypes();
195
- }
196
- this.stepHandlers['step-removed'].forEach((handler) => handler(step));
197
- this.printer.printStepRemoved(step);
198
- }
199
- createFactoryWrapper(stream, factory) {
200
- return () => {
201
- const streamFactory = this.streamWrapper //
202
- ? this.streamWrapper(stream.config.name, factory)
203
- : factory;
204
- return streamFactory();
205
- };
206
- }
207
- createStream(baseStream, options = {}) {
208
- const stream = baseStream;
209
- this.streams[stream.config.name] = stream;
210
- this.streamHandlers['stream-created'].forEach((handler) => handler(stream));
211
- if (stream.config.baseConfig.storageType === 'default') {
212
- stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
213
- }
214
- else {
215
- stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
216
- }
217
- if (!stream.hidden) {
218
- this.printer.printStreamCreated(stream);
219
- if (!options.disableTypeCreation) {
220
- this.saveTypes();
221
- }
222
- }
223
- return stream.factory;
224
- }
225
- deleteStream(stream, options = {}) {
226
- Object.entries(this.streams).forEach(([streamName, { filePath }]) => {
227
- if (stream.filePath === filePath) {
228
- delete this.streams[streamName];
229
- }
230
- });
231
- this.streamHandlers['stream-removed'].forEach((handler) => handler(stream));
232
- if (!stream.hidden) {
233
- this.printer.printStreamRemoved(stream);
234
- if (!options.disableTypeCreation) {
235
- this.saveTypes();
236
- }
237
- }
238
- }
239
- updateStream(oldStream, stream, options = {}) {
240
- if (oldStream.config.name !== stream.config.name) {
241
- delete this.streams[oldStream.config.name];
242
- }
243
- if (stream.config.baseConfig.storageType === 'default') {
244
- stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
245
- }
246
- else {
247
- stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
248
- }
249
- this.streams[stream.config.name] = stream;
250
- this.streamHandlers['stream-updated'].forEach((handler) => handler(stream));
251
- if (!stream.hidden) {
252
- this.printer.printStreamUpdated(stream);
253
- if (!options.disableTypeCreation) {
254
- this.saveTypes();
255
- }
256
- }
257
- }
258
- createFlow(flowName) {
259
- const flow = { name: flowName, description: '', steps: [] };
260
- this.flows[flowName] = flow;
261
- this.handlers['flow-created'].forEach((handler) => handler(flowName));
262
- this.printer.printFlowCreated(flowName);
263
- return flow;
264
- }
265
- removeFlow(flowName) {
266
- delete this.flows[flowName];
267
- this.handlers['flow-removed'].forEach((handler) => handler(flowName));
268
- this.printer.printFlowRemoved(flowName);
269
- }
270
- onFlowUpdated(flowName) {
271
- this.handlers['flow-updated'].forEach((handler) => handler(flowName));
272
- }
273
- isValidStep(step) {
274
- const validationResult = (0, step_validator_1.validateStep)(step);
275
- if (!validationResult.success) {
276
- this.printer.printValidationError(step.filePath, validationResult);
277
- }
278
- return validationResult.success;
279
- }
280
- createStreamAdapter(streamName) {
281
- return this.streamAdapter.createStream(streamName);
282
- }
283
- }
284
- exports.LockedData = LockedData;
@@ -1,19 +0,0 @@
1
- import { Logger } from './logger';
2
- import type { Log } from './streams/redis-logs-stream';
3
- import type { MotiaStream } from './types-stream';
4
- type CreateLogger = {
5
- traceId: string;
6
- flows?: string[];
7
- stepName: string;
8
- };
9
- export interface LoggerFactory {
10
- create: (args: CreateLogger) => Logger;
11
- }
12
- export declare class BaseLoggerFactory implements LoggerFactory {
13
- private readonly isVerbose;
14
- private readonly logStream;
15
- constructor(isVerbose: boolean, logStream: MotiaStream<Log>);
16
- create({ stepName, traceId, flows }: CreateLogger): Logger;
17
- }
18
- export {};
19
- //# sourceMappingURL=logger-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-factory.d.ts","sourceRoot":"","sources":["../../src/logger-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAA;CACvC;AAED,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC;IAG9C,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,MAAM;CAiB3D"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseLoggerFactory = void 0;
4
- const crypto_1 = require("crypto");
5
- const logger_1 = require("./logger");
6
- class BaseLoggerFactory {
7
- constructor(isVerbose, logStream) {
8
- this.isVerbose = isVerbose;
9
- this.logStream = logStream;
10
- }
11
- create({ stepName, traceId, flows }) {
12
- const streamListener = (level, msg, args) => {
13
- const id = (0, crypto_1.randomUUID)();
14
- this.logStream.set('default', id, {
15
- id,
16
- ...(args ?? {}),
17
- level,
18
- time: Date.now(),
19
- msg,
20
- traceId,
21
- flows: flows ?? [],
22
- });
23
- };
24
- return new logger_1.Logger(this.isVerbose, { traceId, flows, step: stepName }, [streamListener]);
25
- }
26
- }
27
- exports.BaseLoggerFactory = BaseLoggerFactory;
@@ -1,26 +0,0 @@
1
- export type LogListener = (level: string, msg: string, args?: unknown) => void;
2
- export declare class Logger {
3
- readonly isVerbose: boolean;
4
- private readonly meta;
5
- private readonly coreListeners;
6
- /**
7
- * Why do we need two level of listeners?
8
- *
9
- * Core listeners pass along to children loggers.
10
- *
11
- * However, base listeners do not pass along to children loggers.
12
- * Those are specific to each logger in the hierarchy.
13
- */
14
- private readonly listeners;
15
- constructor(isVerbose?: boolean, meta?: Record<string, unknown>, coreListeners?: LogListener[]);
16
- child(meta: Record<string, unknown>): Logger;
17
- private _log;
18
- info(message: string, args?: unknown): void;
19
- error(message: string, args?: unknown): void;
20
- debug(message: string, args?: unknown): void;
21
- warn(message: string, args?: unknown): void;
22
- log(args: any): void;
23
- addListener(listener: LogListener): void;
24
- }
25
- export declare const globalLogger: Logger;
26
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAE9E,qBAAa,MAAM;IAYf,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAGnC,SAAS,GAAE,OAAe,EAClB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,aAAa,GAAE,WAAW,EAAO;IAGpD,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAI5C,OAAO,CAAC,IAAI;IASZ,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMpC,GAAG,CAAC,IAAI,EAAE,GAAG;IAIb,WAAW,CAAC,QAAQ,EAAE,WAAW;CAGlC;AAED,eAAO,MAAM,YAAY,QAAe,CAAA"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.globalLogger = exports.Logger = void 0;
4
- const pretty_print_1 = require("./pretty-print");
5
- const logLevel = process.env.LOG_LEVEL ?? 'info';
6
- const isDebugEnabled = logLevel === 'debug';
7
- const isInfoEnabled = ['info', 'debug'].includes(logLevel);
8
- const isWarnEnabled = ['warn', 'info', 'debug', 'trace'].includes(logLevel);
9
- class Logger {
10
- constructor(isVerbose = false, meta = {}, coreListeners = []) {
11
- this.isVerbose = isVerbose;
12
- this.meta = meta;
13
- this.coreListeners = coreListeners;
14
- /**
15
- * Why do we need two level of listeners?
16
- *
17
- * Core listeners pass along to children loggers.
18
- *
19
- * However, base listeners do not pass along to children loggers.
20
- * Those are specific to each logger in the hierarchy.
21
- */
22
- this.listeners = [];
23
- }
24
- child(meta) {
25
- return new Logger(this.isVerbose, { ...this.meta, ...meta }, this.coreListeners);
26
- }
27
- _log(level, msg, args) {
28
- const time = Date.now();
29
- const meta = { ...this.meta, ...(args ?? {}) };
30
- (0, pretty_print_1.prettyPrint)({ level, time, msg, ...meta }, !this.isVerbose);
31
- this.coreListeners.forEach((listener) => listener(level, msg, meta));
32
- this.listeners.forEach((listener) => listener(level, msg, meta));
33
- }
34
- info(message, args) {
35
- if (isInfoEnabled) {
36
- this._log('info', message, args);
37
- }
38
- }
39
- error(message, args) {
40
- this._log('error', message, args);
41
- }
42
- debug(message, args) {
43
- if (isDebugEnabled) {
44
- this._log('debug', message, args);
45
- }
46
- }
47
- warn(message, args) {
48
- if (isWarnEnabled) {
49
- this._log('warn', message, args);
50
- }
51
- }
52
- log(args) {
53
- this._log(args.level ?? 'info', args.msg, args);
54
- }
55
- addListener(listener) {
56
- this.listeners.push(listener);
57
- }
58
- }
59
- exports.Logger = Logger;
60
- exports.globalLogger = new Logger();
@@ -1,5 +0,0 @@
1
- import type { LockedData } from './locked-data';
2
- export declare const createMermaidGenerator: (baseDir: string) => {
3
- initialize: (lockedData: LockedData) => void;
4
- };
5
- //# sourceMappingURL=mermaid-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mermaid-generator.d.ts","sourceRoot":"","sources":["../../src/mermaid-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAqM/C,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM;6BAkBpB,UAAU,KAAG,IAAI;CA0BlD,CAAA"}
@@ -1,203 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createMermaidGenerator = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const guards_1 = require("./guards");
10
- // Pure function to ensure diagrams directory exists
11
- const ensureDiagramsDirectory = (diagramsDir) => {
12
- if (!fs_1.default.existsSync(diagramsDir)) {
13
- fs_1.default.mkdirSync(diagramsDir, { recursive: true });
14
- }
15
- };
16
- // Pure function to get node ID
17
- const getNodeId = (step, baseDir) => {
18
- // Get relative path from the base directory
19
- const relativePath = path_1.default.relative(baseDir, step.filePath);
20
- // Remove common file extensions
21
- const pathWithoutExtension = relativePath.replace(/\.(ts|js|tsx|jsx)$/, '');
22
- // Replace slashes with underscores and dots with underscores
23
- // Only keep alphanumeric characters and underscores
24
- return pathWithoutExtension.replace(/[^a-zA-Z0-9]/g, '_');
25
- };
26
- // Pure function to get node label
27
- const getNodeLabel = (step) => {
28
- // Get display name for node
29
- const displayName = step.config.name || path_1.default.basename(step.filePath, path_1.default.extname(step.filePath));
30
- // Add node type prefix to help distinguish types
31
- let prefix = '';
32
- if ((0, guards_1.isApiStep)(step))
33
- prefix = '🌐 ';
34
- else if ((0, guards_1.isEventStep)(step))
35
- prefix = '⚡ ';
36
- else if ((0, guards_1.isCronStep)(step))
37
- prefix = '⏰ ';
38
- else if ((0, guards_1.isNoopStep)(step))
39
- prefix = '⚙️ ';
40
- // Create a node label with the step name
41
- return `["${prefix}${displayName}"]`;
42
- };
43
- // Pure function to get node style
44
- const getNodeStyle = (step) => {
45
- // Apply style class based on step type
46
- if ((0, guards_1.isApiStep)(step))
47
- return ':::apiStyle';
48
- if ((0, guards_1.isEventStep)(step))
49
- return ':::eventStyle';
50
- if ((0, guards_1.isCronStep)(step))
51
- return ':::cronStyle';
52
- if ((0, guards_1.isNoopStep)(step))
53
- return ':::noopStyle';
54
- return '';
55
- };
56
- // Pure function to generate connections
57
- const generateConnections = (emits, sourceStep, steps, sourceId, baseDir) => {
58
- const connections = [];
59
- if (!emits || !Array.isArray(emits) || emits.length === 0) {
60
- return '';
61
- }
62
- // Helper function to check if a step subscribes to a topic
63
- const stepSubscribesToTopic = (step, topic) => {
64
- // Event steps use regular subscribes
65
- if ((0, guards_1.isEventStep)(step) &&
66
- step.config.subscribes &&
67
- Array.isArray(step.config.subscribes) &&
68
- step.config.subscribes.includes(topic)) {
69
- return true;
70
- }
71
- // Noop and API steps use virtualSubscribes
72
- if (((0, guards_1.isNoopStep)(step) || (0, guards_1.isApiStep)(step)) &&
73
- step.config.virtualSubscribes &&
74
- Array.isArray(step.config.virtualSubscribes) &&
75
- step.config.virtualSubscribes.includes(topic)) {
76
- return true;
77
- }
78
- return false;
79
- };
80
- emits.forEach((emit) => {
81
- const topic = typeof emit === 'string' ? emit : emit.topic;
82
- const label = typeof emit === 'string' ? topic : emit.label || topic;
83
- steps.forEach((targetStep) => {
84
- if (stepSubscribesToTopic(targetStep, topic)) {
85
- const targetId = getNodeId(targetStep, baseDir);
86
- connections.push(` ${sourceId} -->|${label}| ${targetId}`);
87
- }
88
- });
89
- });
90
- return connections.join('\n');
91
- };
92
- // Pure function to generate flow diagram
93
- const generateFlowDiagram = (flowName, steps, baseDir) => {
94
- // Start mermaid flowchart with top-down direction
95
- let diagram = `flowchart TD\n`;
96
- // Add class definitions for styling with explicit text color
97
- const classDefinitions = [
98
- ` classDef apiStyle fill:#f96,stroke:#333,stroke-width:2px,color:#fff`,
99
- ` classDef eventStyle fill:#69f,stroke:#333,stroke-width:2px,color:#fff`,
100
- ` classDef cronStyle fill:#9c6,stroke:#333,stroke-width:2px,color:#fff`,
101
- ` classDef noopStyle fill:#3f3a50,stroke:#333,stroke-width:2px,color:#fff`,
102
- ];
103
- diagram += classDefinitions.join('\n') + '\n';
104
- // Check if we have any steps
105
- if (!steps || steps.length === 0) {
106
- return diagram + ' empty[No steps in this flow]';
107
- }
108
- // Create node definitions with proper format
109
- steps.forEach((step) => {
110
- const nodeId = getNodeId(step, baseDir);
111
- const nodeLabel = getNodeLabel(step);
112
- const nodeStyle = getNodeStyle(step);
113
- diagram += ` ${nodeId}${nodeLabel}${nodeStyle}\n`;
114
- });
115
- // Create connections between nodes
116
- let connectionsStr = '';
117
- steps.forEach((sourceStep) => {
118
- const sourceId = getNodeId(sourceStep, baseDir);
119
- // Helper function to process emissions if they exist
120
- function processEmissions(emissionsArray, stepSource, stepsCollection, sourceIdentifier) {
121
- if (emissionsArray && Array.isArray(emissionsArray)) {
122
- return generateConnections(emissionsArray, stepSource, stepsCollection, sourceIdentifier, baseDir);
123
- }
124
- return '';
125
- }
126
- // Semantic variables to clarify which step types support which emission types
127
- const supportsEmits = (0, guards_1.isApiStep)(sourceStep) || (0, guards_1.isEventStep)(sourceStep) || (0, guards_1.isCronStep)(sourceStep);
128
- const supportsVirtualEmits = supportsEmits || (0, guards_1.isNoopStep)(sourceStep);
129
- // Process regular emissions if supported
130
- if (supportsEmits) {
131
- const emitConnections = processEmissions(sourceStep.config.emits, sourceStep, steps, sourceId);
132
- if (emitConnections) {
133
- connectionsStr += emitConnections + '\n';
134
- }
135
- }
136
- // Process virtual emissions if supported
137
- if (supportsVirtualEmits) {
138
- const virtualEmitConnections = processEmissions(sourceStep.config.virtualEmits, sourceStep, steps, sourceId);
139
- if (virtualEmitConnections) {
140
- connectionsStr += virtualEmitConnections + '\n';
141
- }
142
- }
143
- });
144
- // Add connections to the diagram
145
- diagram += connectionsStr;
146
- return diagram;
147
- };
148
- // Function to save a diagram to a file
149
- const saveDiagram = (diagramsDir, flowName, diagram) => {
150
- const filePath = path_1.default.join(diagramsDir, `${flowName}.mmd`);
151
- fs_1.default.writeFileSync(filePath, diagram);
152
- };
153
- // Function to remove a diagram file
154
- const removeDiagram = (diagramsDir, flowName) => {
155
- const filePath = path_1.default.join(diagramsDir, `${flowName}.mmd`);
156
- if (fs_1.default.existsSync(filePath)) {
157
- fs_1.default.unlinkSync(filePath);
158
- }
159
- };
160
- // Function to generate and save a diagram
161
- const generateAndSaveDiagram = (diagramsDir, flowName, flow, baseDir) => {
162
- const diagram = generateFlowDiagram(flowName, flow.steps, baseDir);
163
- saveDiagram(diagramsDir, flowName, diagram);
164
- };
165
- // Main exported function that creates the mermaid generator
166
- const createMermaidGenerator = (baseDir) => {
167
- const diagramsDir = path_1.default.join(baseDir, '.mermaid');
168
- ensureDiagramsDirectory(diagramsDir);
169
- // Event handlers
170
- const handleFlowCreated = (flowName, flow) => {
171
- generateAndSaveDiagram(diagramsDir, flowName, flow, baseDir);
172
- };
173
- const handleFlowUpdated = (flowName, flow) => {
174
- generateAndSaveDiagram(diagramsDir, flowName, flow, baseDir);
175
- };
176
- const handleFlowRemoved = (flowName) => {
177
- removeDiagram(diagramsDir, flowName);
178
- };
179
- // Initialize function to hook into LockedData events
180
- const initialize = (lockedData) => {
181
- // Hook into flow events
182
- lockedData.on('flow-created', (flowName) => {
183
- handleFlowCreated(flowName, lockedData.flows[flowName]);
184
- });
185
- lockedData.on('flow-updated', (flowName) => {
186
- handleFlowUpdated(flowName, lockedData.flows[flowName]);
187
- });
188
- lockedData.on('flow-removed', (flowName) => {
189
- handleFlowRemoved(flowName);
190
- });
191
- // Generate diagrams for all existing flows
192
- if (lockedData.flows && typeof lockedData.flows === 'object') {
193
- Object.entries(lockedData.flows).forEach(([flowName, flow]) => {
194
- generateAndSaveDiagram(diagramsDir, flowName, flow, baseDir);
195
- });
196
- }
197
- };
198
- // Return the public API
199
- return {
200
- initialize,
201
- };
202
- };
203
- exports.createMermaidGenerator = createMermaidGenerator;
@@ -1,33 +0,0 @@
1
- import type { Express } from 'express';
2
- import type { EventAdapter } from './adapters/interfaces/event-adapter.interface';
3
- import type { StateAdapter } from './adapters/interfaces/state-adapter.interface';
4
- import type { LockedData } from './locked-data';
5
- import type { LoggerFactory } from './logger-factory';
6
- import type { TracerFactory } from './observability';
7
- import type { Printer } from './printer';
8
- import type { ApiResponse, ApiRouteConfig, ApiRouteHandler, InternalStateManager } from './types';
9
- export type Motia = {
10
- loggerFactory: LoggerFactory;
11
- eventAdapter: EventAdapter;
12
- state: InternalStateManager;
13
- lockedData: LockedData;
14
- printer: Printer;
15
- tracerFactory: TracerFactory;
16
- app: Express;
17
- stateAdapter: StateAdapter;
18
- };
19
- export type PluginApiConfig = {
20
- method: ApiRouteConfig['method'];
21
- path: string;
22
- };
23
- export type UnregisterMotiaPluginApi = () => void;
24
- export type MotiaPluginContext = {
25
- printer: Printer;
26
- state: StateAdapter;
27
- lockedData: LockedData;
28
- tracerFactory: TracerFactory;
29
- eventAdapter: EventAdapter;
30
- registerApi: <TRequestBody = unknown, TResponseBody extends ApiResponse<number, unknown> = ApiResponse<number, unknown>, TEmitData = never>(config: PluginApiConfig, handler: ApiRouteHandler<TRequestBody, TResponseBody, TEmitData>) => UnregisterMotiaPluginApi;
31
- };
32
- export declare const PLUGIN_FLOW_ID = "_plugin";
33
- //# sourceMappingURL=motia.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"motia.d.ts","sourceRoot":"","sources":["../../src/motia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEjG,MAAM,MAAM,KAAK,GAAG;IAClB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,aAAa,CAAA;IAE5B,GAAG,EAAE,OAAO,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAA;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,CACX,YAAY,GAAG,OAAO,EACtB,aAAa,SAAS,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACjF,SAAS,GAAG,KAAK,EAEjB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC,KAC7D,wBAAwB,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,cAAc,YAAY,CAAA"}