@motiadev/core 0.13.0-beta.161 → 0.13.0-beta.162-439402

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/dist/index.d.mts +38 -0
  2. package/dist/index.mjs +30 -0
  3. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +17 -0
  4. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +1 -0
  5. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +51 -0
  6. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +1 -0
  7. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +19 -0
  8. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +1 -0
  9. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +54 -0
  10. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +1 -0
  11. package/dist/src/adapters/defaults/index.d.mts +8 -0
  12. package/dist/src/adapters/defaults/index.mjs +10 -0
  13. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +27 -0
  14. package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +1 -0
  15. package/dist/src/adapters/defaults/state/file-state-adapter.mjs +105 -0
  16. package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +1 -0
  17. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +20 -0
  18. package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +1 -0
  19. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +58 -0
  20. package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +1 -0
  21. package/dist/src/adapters/defaults/state/utils.mjs +40 -0
  22. package/dist/src/adapters/defaults/state/utils.mjs.map +1 -0
  23. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +13 -0
  24. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +1 -0
  25. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +16 -0
  26. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +1 -0
  27. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +24 -0
  28. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +1 -0
  29. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +84 -0
  30. package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +1 -0
  31. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +10 -0
  32. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +1 -0
  33. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +12 -0
  34. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +1 -0
  35. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +20 -0
  36. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +1 -0
  37. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +58 -0
  38. package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +1 -0
  39. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +32 -0
  40. package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +1 -0
  41. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +19 -0
  42. package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +1 -0
  43. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +27 -0
  44. package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +1 -0
  45. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +28 -0
  46. package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +1 -0
  47. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +10 -0
  48. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +1 -0
  49. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +26 -0
  50. package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +1 -0
  51. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +17 -0
  52. package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +1 -0
  53. package/dist/src/analytics/utils.d.mts +9 -0
  54. package/dist/src/analytics/utils.d.mts.map +1 -0
  55. package/dist/src/analytics/utils.mjs +35 -0
  56. package/dist/src/analytics/utils.mjs.map +1 -0
  57. package/dist/src/call-step-file.mjs +213 -0
  58. package/dist/src/call-step-file.mjs.map +1 -0
  59. package/dist/src/config.d.mts +7 -0
  60. package/dist/src/config.d.mts.map +1 -0
  61. package/dist/src/config.mjs +6 -0
  62. package/dist/src/config.mjs.map +1 -0
  63. package/dist/src/cron-handler.d.mts +18 -0
  64. package/dist/src/cron-handler.d.mts.map +1 -0
  65. package/dist/src/cron-handler.mjs +103 -0
  66. package/dist/src/cron-handler.mjs.map +1 -0
  67. package/dist/src/endpoints/analytics-endpoint.mjs +29 -0
  68. package/dist/src/endpoints/analytics-endpoint.mjs.map +1 -0
  69. package/dist/src/endpoints/flows-config-endpoint.mjs +38 -0
  70. package/dist/src/endpoints/flows-config-endpoint.mjs.map +1 -0
  71. package/dist/src/endpoints/flows-endpoint.mjs +39 -0
  72. package/dist/src/endpoints/flows-endpoint.mjs.map +1 -0
  73. package/dist/src/endpoints/step-endpoint.mjs +41 -0
  74. package/dist/src/endpoints/step-endpoint.mjs.map +1 -0
  75. package/dist/src/generate-trace-id.mjs +13 -0
  76. package/dist/src/generate-trace-id.mjs.map +1 -0
  77. package/dist/src/get-step-config.d.mts +9 -0
  78. package/dist/src/get-step-config.d.mts.map +1 -0
  79. package/dist/src/get-step-config.mjs +63 -0
  80. package/dist/src/get-step-config.mjs.map +1 -0
  81. package/dist/src/get-step-language.mjs +14 -0
  82. package/dist/src/get-step-language.mjs.map +1 -0
  83. package/dist/src/guards.d.mts +10 -0
  84. package/dist/src/guards.d.mts.map +1 -0
  85. package/dist/src/guards.mjs +9 -0
  86. package/dist/src/guards.mjs.map +1 -0
  87. package/dist/src/helper/flows-helper.mjs +126 -0
  88. package/dist/src/helper/flows-helper.mjs.map +1 -0
  89. package/dist/src/infrastructure-validator/defaults.mjs +17 -0
  90. package/dist/src/infrastructure-validator/defaults.mjs.map +1 -0
  91. package/dist/src/infrastructure-validator/index.d.mts +3 -0
  92. package/dist/src/infrastructure-validator/index.mjs +4 -0
  93. package/dist/src/infrastructure-validator/schemas.d.mts +1 -0
  94. package/dist/src/infrastructure-validator/schemas.mjs +77 -0
  95. package/dist/src/infrastructure-validator/schemas.mjs.map +1 -0
  96. package/dist/src/infrastructure-validator/types.d.mts +14 -0
  97. package/dist/src/infrastructure-validator/types.d.mts.map +1 -0
  98. package/dist/src/infrastructure-validator/validations.d.mts +7 -0
  99. package/dist/src/infrastructure-validator/validations.d.mts.map +1 -0
  100. package/dist/src/infrastructure-validator/validations.mjs +29 -0
  101. package/dist/src/infrastructure-validator/validations.mjs.map +1 -0
  102. package/dist/src/language-runner.mjs +44 -0
  103. package/dist/src/language-runner.mjs.map +1 -0
  104. package/dist/src/locked-data.d.mts +81 -0
  105. package/dist/src/locked-data.d.mts.map +1 -0
  106. package/dist/src/locked-data.mjs +223 -0
  107. package/dist/src/locked-data.mjs.map +1 -0
  108. package/dist/src/logger-factory.d.mts +16 -0
  109. package/dist/src/logger-factory.d.mts.map +1 -0
  110. package/dist/src/logger-factory.mjs +33 -0
  111. package/dist/src/logger-factory.mjs.map +1 -0
  112. package/dist/src/logger.d.mts +28 -0
  113. package/dist/src/logger.d.mts.map +1 -0
  114. package/dist/src/logger.mjs +64 -0
  115. package/dist/src/logger.mjs.map +1 -0
  116. package/dist/src/mermaid-generator.d.mts +9 -0
  117. package/dist/src/mermaid-generator.d.mts.map +1 -0
  118. package/dist/src/mermaid-generator.mjs +126 -0
  119. package/dist/src/mermaid-generator.mjs.map +1 -0
  120. package/dist/src/motia.d.mts +36 -0
  121. package/dist/src/motia.d.mts.map +1 -0
  122. package/dist/src/motia.mjs +6 -0
  123. package/dist/src/motia.mjs.map +1 -0
  124. package/dist/src/node/can-access.d.mts +1 -0
  125. package/dist/src/node/can-access.mjs +36 -0
  126. package/dist/src/node/can-access.mjs.map +1 -0
  127. package/dist/src/node/get-config.d.mts +1 -0
  128. package/dist/src/node/get-config.mjs +49 -0
  129. package/dist/src/node/get-config.mjs.map +1 -0
  130. package/dist/src/node/logger.mjs +47 -0
  131. package/dist/src/node/logger.mjs.map +1 -0
  132. package/dist/src/node/middleware-compose.mjs +10 -0
  133. package/dist/src/node/middleware-compose.mjs.map +1 -0
  134. package/dist/src/node/node-runner.d.mts +1 -0
  135. package/dist/src/node/node-runner.mjs +94 -0
  136. package/dist/src/node/node-runner.mjs.map +1 -0
  137. package/dist/src/node/rpc-state-manager.mjs +35 -0
  138. package/dist/src/node/rpc-state-manager.mjs.map +1 -0
  139. package/dist/src/node/rpc.mjs +55 -0
  140. package/dist/src/node/rpc.mjs.map +1 -0
  141. package/dist/src/observability/create-trace.mjs +26 -0
  142. package/dist/src/observability/create-trace.mjs.map +1 -0
  143. package/dist/src/observability/index.d.mts +7 -0
  144. package/dist/src/observability/index.d.mts.map +1 -0
  145. package/dist/src/observability/no-tracer.d.mts +15 -0
  146. package/dist/src/observability/no-tracer.d.mts.map +1 -0
  147. package/dist/src/observability/no-tracer.mjs +15 -0
  148. package/dist/src/observability/no-tracer.mjs.map +1 -0
  149. package/dist/src/observability/redis-trace-stream-adapter.mjs +76 -0
  150. package/dist/src/observability/redis-trace-stream-adapter.mjs.map +1 -0
  151. package/dist/src/observability/stream-tracer.mjs +87 -0
  152. package/dist/src/observability/stream-tracer.mjs.map +1 -0
  153. package/dist/src/observability/trace-manager.mjs +24 -0
  154. package/dist/src/observability/trace-manager.mjs.map +1 -0
  155. package/dist/src/observability/tracer.mjs +87 -0
  156. package/dist/src/observability/tracer.mjs.map +1 -0
  157. package/dist/src/observability/types.d.mts +14 -0
  158. package/dist/src/observability/types.d.mts.map +1 -0
  159. package/dist/src/pretty-print.mjs +50 -0
  160. package/dist/src/pretty-print.mjs.map +1 -0
  161. package/dist/src/printer.d.mts +65 -0
  162. package/dist/src/printer.d.mts.map +1 -0
  163. package/dist/src/printer.mjs +147 -0
  164. package/dist/src/printer.mjs.map +1 -0
  165. package/dist/src/process-communication/communication-config.mjs +26 -0
  166. package/dist/src/process-communication/communication-config.mjs.map +1 -0
  167. package/dist/src/process-communication/process-manager.mjs +67 -0
  168. package/dist/src/process-communication/process-manager.mjs.map +1 -0
  169. package/dist/src/queue-manager.d.mts +37 -0
  170. package/dist/src/queue-manager.d.mts.map +1 -0
  171. package/dist/src/queue-manager.mjs +209 -0
  172. package/dist/src/queue-manager.mjs.map +1 -0
  173. package/dist/src/run-stream-can-access.mjs +59 -0
  174. package/dist/src/run-stream-can-access.mjs.map +1 -0
  175. package/dist/src/schema-utils.mjs +30 -0
  176. package/dist/src/schema-utils.mjs.map +1 -0
  177. package/dist/src/server.d.mts +40 -0
  178. package/dist/src/server.d.mts.map +1 -0
  179. package/dist/src/server.mjs +332 -0
  180. package/dist/src/server.mjs.map +1 -0
  181. package/dist/src/socket-server/helpers.mjs +35 -0
  182. package/dist/src/socket-server/helpers.mjs.map +1 -0
  183. package/dist/src/socket-server.mjs +127 -0
  184. package/dist/src/socket-server.mjs.map +1 -0
  185. package/dist/src/state/create-state-adapter.d.mts +11 -0
  186. package/dist/src/state/create-state-adapter.d.mts.map +1 -0
  187. package/dist/src/state/create-state-adapter.mjs +11 -0
  188. package/dist/src/state/create-state-adapter.mjs.map +1 -0
  189. package/dist/src/step-handler-rpc-processor.mjs +56 -0
  190. package/dist/src/step-handler-rpc-processor.mjs.map +1 -0
  191. package/dist/src/step-handler-rpc-stdin-processor.mjs +71 -0
  192. package/dist/src/step-handler-rpc-stdin-processor.mjs.map +1 -0
  193. package/dist/src/step-handlers.d.mts +13 -0
  194. package/dist/src/step-handlers.d.mts.map +1 -0
  195. package/dist/src/step-handlers.mjs +93 -0
  196. package/dist/src/step-handlers.mjs.map +1 -0
  197. package/dist/src/step-validator.d.mts +15 -0
  198. package/dist/src/step-validator.d.mts.map +1 -0
  199. package/dist/src/step-validator.mjs +118 -0
  200. package/dist/src/step-validator.mjs.map +1 -0
  201. package/dist/src/steps/emit.step.mjs +20 -0
  202. package/dist/src/steps/emit.step.mjs.map +1 -0
  203. package/dist/src/steps/index.mjs +14 -0
  204. package/dist/src/steps/index.mjs.map +1 -0
  205. package/dist/src/streams/flows-config-stream.mjs +46 -0
  206. package/dist/src/streams/flows-config-stream.mjs.map +1 -0
  207. package/dist/src/streams/flows-stream.mjs +33 -0
  208. package/dist/src/streams/flows-stream.mjs.map +1 -0
  209. package/dist/src/streams/redis-logs-stream.d.mts +3 -0
  210. package/dist/src/streams/redis-logs-stream.mjs +97 -0
  211. package/dist/src/streams/redis-logs-stream.mjs.map +1 -0
  212. package/dist/src/streams/stream-factory.d.mts +7 -0
  213. package/dist/src/streams/stream-factory.d.mts.map +1 -0
  214. package/dist/src/types/app-config-types.d.mts +48 -0
  215. package/dist/src/types/app-config-types.d.mts.map +1 -0
  216. package/dist/src/types/generate-type-from-schema.mjs +30 -0
  217. package/dist/src/types/generate-type-from-schema.mjs.map +1 -0
  218. package/dist/src/types/generate-types-from-response.mjs +12 -0
  219. package/dist/src/types/generate-types-from-response.mjs.map +1 -0
  220. package/dist/src/types/generate-types.mjs +101 -0
  221. package/dist/src/types/generate-types.mjs.map +1 -0
  222. package/dist/src/types/merge-schemas.mjs +102 -0
  223. package/dist/src/types/merge-schemas.mjs.map +1 -0
  224. package/dist/src/types/schema.types.d.mts +13 -0
  225. package/dist/src/types/schema.types.d.mts.map +1 -0
  226. package/dist/src/types/schema.types.mjs +14 -0
  227. package/dist/src/types/schema.types.mjs.map +1 -0
  228. package/dist/src/types-stream.d.mts +46 -0
  229. package/dist/src/types-stream.d.mts.map +1 -0
  230. package/dist/src/types.d.mts +188 -0
  231. package/dist/src/types.d.mts.map +1 -0
  232. package/dist/src/utils.mjs +13 -0
  233. package/dist/src/utils.mjs.map +1 -0
  234. package/dist/src/validate-event-input.mjs +76 -0
  235. package/dist/src/validate-event-input.mjs.map +1 -0
  236. package/jest.config.cjs +20 -0
  237. package/package.json +20 -8
  238. package/tsdown.config.ts +52 -0
  239. package/dist/index.d.ts +0 -30
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/index.js +0 -72
  242. package/dist/jest.config.d.ts +0 -8
  243. package/dist/jest.config.d.ts.map +0 -1
  244. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +0 -13
  245. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +0 -1
  246. package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +0 -53
  247. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +0 -15
  248. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +0 -1
  249. package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +0 -49
  250. package/dist/src/adapters/defaults/index.d.ts +0 -9
  251. package/dist/src/adapters/defaults/index.d.ts.map +0 -1
  252. package/dist/src/adapters/defaults/index.js +0 -19
  253. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +0 -23
  254. package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +0 -1
  255. package/dist/src/adapters/defaults/state/file-state-adapter.js +0 -149
  256. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +0 -16
  257. package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +0 -1
  258. package/dist/src/adapters/defaults/state/memory-state-adapter.js +0 -69
  259. package/dist/src/adapters/defaults/state/utils.d.ts +0 -4
  260. package/dist/src/adapters/defaults/state/utils.d.ts.map +0 -1
  261. package/dist/src/adapters/defaults/state/utils.js +0 -66
  262. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +0 -9
  263. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +0 -1
  264. package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +0 -14
  265. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +0 -22
  266. package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +0 -1
  267. package/dist/src/adapters/defaults/stream/file-stream-adapter.js +0 -125
  268. package/dist/src/adapters/defaults/stream/index.d.ts +0 -5
  269. package/dist/src/adapters/defaults/stream/index.d.ts.map +0 -1
  270. package/dist/src/adapters/defaults/stream/index.js +0 -11
  271. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +0 -6
  272. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +0 -1
  273. package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +0 -10
  274. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +0 -16
  275. package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +0 -1
  276. package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +0 -55
  277. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +0 -29
  278. package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +0 -1
  279. package/dist/src/adapters/interfaces/cron-adapter.interface.js +0 -2
  280. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +0 -15
  281. package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +0 -1
  282. package/dist/src/adapters/interfaces/event-adapter.interface.js +0 -2
  283. package/dist/src/adapters/interfaces/index.d.ts +0 -7
  284. package/dist/src/adapters/interfaces/index.d.ts.map +0 -1
  285. package/dist/src/adapters/interfaces/index.js +0 -5
  286. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +0 -23
  287. package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +0 -1
  288. package/dist/src/adapters/interfaces/observability-adapter.interface.js +0 -2
  289. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +0 -24
  290. package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +0 -1
  291. package/dist/src/adapters/interfaces/state-adapter.interface.js +0 -2
  292. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +0 -6
  293. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +0 -1
  294. package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +0 -2
  295. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +0 -22
  296. package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +0 -1
  297. package/dist/src/adapters/interfaces/stream-adapter.interface.js +0 -16
  298. package/dist/src/analytics/utils.d.ts +0 -6
  299. package/dist/src/analytics/utils.d.ts.map +0 -1
  300. package/dist/src/analytics/utils.js +0 -51
  301. package/dist/src/call-step-file.d.ts +0 -16
  302. package/dist/src/call-step-file.d.ts.map +0 -1
  303. package/dist/src/call-step-file.js +0 -194
  304. package/dist/src/config.d.ts +0 -3
  305. package/dist/src/config.d.ts.map +0 -1
  306. package/dist/src/config.js +0 -5
  307. package/dist/src/config.types.d.ts +0 -17
  308. package/dist/src/config.types.d.ts.map +0 -1
  309. package/dist/src/config.types.js +0 -2
  310. package/dist/src/cron-handler.d.ts +0 -14
  311. package/dist/src/cron-handler.d.ts.map +0 -1
  312. package/dist/src/cron-handler.js +0 -132
  313. package/dist/src/endpoints/analytics-endpoint.d.ts +0 -3
  314. package/dist/src/endpoints/analytics-endpoint.d.ts.map +0 -1
  315. package/dist/src/endpoints/analytics-endpoint.js +0 -28
  316. package/dist/src/endpoints/flows-config-endpoint.d.ts +0 -4
  317. package/dist/src/endpoints/flows-config-endpoint.d.ts.map +0 -1
  318. package/dist/src/endpoints/flows-config-endpoint.js +0 -34
  319. package/dist/src/endpoints/flows-endpoint.d.ts +0 -3
  320. package/dist/src/endpoints/flows-endpoint.d.ts.map +0 -1
  321. package/dist/src/endpoints/flows-endpoint.js +0 -29
  322. package/dist/src/endpoints/step-endpoint.d.ts +0 -4
  323. package/dist/src/endpoints/step-endpoint.d.ts.map +0 -1
  324. package/dist/src/endpoints/step-endpoint.js +0 -45
  325. package/dist/src/generate-trace-id.d.ts +0 -3
  326. package/dist/src/generate-trace-id.d.ts.map +0 -1
  327. package/dist/src/generate-trace-id.js +0 -14
  328. package/dist/src/get-step-config.d.ts +0 -5
  329. package/dist/src/get-step-config.d.ts.map +0 -1
  330. package/dist/src/get-step-config.js +0 -68
  331. package/dist/src/get-step-language.d.ts +0 -2
  332. package/dist/src/get-step-language.d.ts.map +0 -1
  333. package/dist/src/get-step-language.js +0 -27
  334. package/dist/src/guards.d.ts +0 -6
  335. package/dist/src/guards.d.ts.map +0 -1
  336. package/dist/src/guards.js +0 -11
  337. package/dist/src/helper/flows-helper.d.ts +0 -6
  338. package/dist/src/helper/flows-helper.d.ts.map +0 -1
  339. package/dist/src/helper/flows-helper.js +0 -143
  340. package/dist/src/infrastructure-validator/defaults.d.ts +0 -4
  341. package/dist/src/infrastructure-validator/defaults.d.ts.map +0 -1
  342. package/dist/src/infrastructure-validator/defaults.js +0 -16
  343. package/dist/src/infrastructure-validator/index.d.ts +0 -4
  344. package/dist/src/infrastructure-validator/index.d.ts.map +0 -1
  345. package/dist/src/infrastructure-validator/index.js +0 -13
  346. package/dist/src/infrastructure-validator/schemas.d.ts +0 -45
  347. package/dist/src/infrastructure-validator/schemas.d.ts.map +0 -1
  348. package/dist/src/infrastructure-validator/schemas.js +0 -100
  349. package/dist/src/infrastructure-validator/types.d.ts +0 -21
  350. package/dist/src/infrastructure-validator/types.d.ts.map +0 -1
  351. package/dist/src/infrastructure-validator/types.js +0 -2
  352. package/dist/src/infrastructure-validator/validations.d.ts +0 -4
  353. package/dist/src/infrastructure-validator/validations.d.ts.map +0 -1
  354. package/dist/src/infrastructure-validator/validations.js +0 -62
  355. package/dist/src/language-runner.d.ts +0 -15
  356. package/dist/src/language-runner.d.ts.map +0 -1
  357. package/dist/src/language-runner.js +0 -31
  358. package/dist/src/locked-data.d.ts +0 -78
  359. package/dist/src/locked-data.d.ts.map +0 -1
  360. package/dist/src/locked-data.js +0 -284
  361. package/dist/src/logger-factory.d.ts +0 -19
  362. package/dist/src/logger-factory.d.ts.map +0 -1
  363. package/dist/src/logger-factory.js +0 -27
  364. package/dist/src/logger.d.ts +0 -26
  365. package/dist/src/logger.d.ts.map +0 -1
  366. package/dist/src/logger.js +0 -60
  367. package/dist/src/mermaid-generator.d.ts +0 -5
  368. package/dist/src/mermaid-generator.d.ts.map +0 -1
  369. package/dist/src/mermaid-generator.js +0 -203
  370. package/dist/src/motia.d.ts +0 -32
  371. package/dist/src/motia.d.ts.map +0 -1
  372. package/dist/src/motia.js +0 -4
  373. package/dist/src/node/can-access.d.ts +0 -2
  374. package/dist/src/node/can-access.d.ts.map +0 -1
  375. package/dist/src/node/can-access.js +0 -44
  376. package/dist/src/node/get-config.d.ts +0 -2
  377. package/dist/src/node/get-config.d.ts.map +0 -1
  378. package/dist/src/node/get-config.js +0 -64
  379. package/dist/src/node/logger.d.ts +0 -16
  380. package/dist/src/node/logger.d.ts.map +0 -1
  381. package/dist/src/node/logger.js +0 -48
  382. package/dist/src/node/middleware-compose.d.ts +0 -2
  383. package/dist/src/node/middleware-compose.d.ts.map +0 -1
  384. package/dist/src/node/middleware-compose.js +0 -10
  385. package/dist/src/node/node-runner.d.ts +0 -2
  386. package/dist/src/node/node-runner.d.ts.map +0 -1
  387. package/dist/src/node/node-runner.js +0 -83
  388. package/dist/src/node/rpc-state-manager.d.ts +0 -12
  389. package/dist/src/node/rpc-state-manager.d.ts.map +0 -1
  390. package/dist/src/node/rpc-state-manager.js +0 -24
  391. package/dist/src/node/rpc.d.ts +0 -10
  392. package/dist/src/node/rpc.d.ts.map +0 -1
  393. package/dist/src/node/rpc.js +0 -50
  394. package/dist/src/observability/create-trace.d.ts +0 -4
  395. package/dist/src/observability/create-trace.d.ts.map +0 -1
  396. package/dist/src/observability/create-trace.js +0 -22
  397. package/dist/src/observability/index.d.ts +0 -4
  398. package/dist/src/observability/index.d.ts.map +0 -1
  399. package/dist/src/observability/index.js +0 -2
  400. package/dist/src/observability/no-tracer.d.ts +0 -10
  401. package/dist/src/observability/no-tracer.d.ts.map +0 -1
  402. package/dist/src/observability/no-tracer.js +0 -14
  403. package/dist/src/observability/redis-trace-stream-adapter.d.ts +0 -17
  404. package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +0 -1
  405. package/dist/src/observability/redis-trace-stream-adapter.js +0 -65
  406. package/dist/src/observability/stream-tracer.d.ts +0 -22
  407. package/dist/src/observability/stream-tracer.d.ts.map +0 -1
  408. package/dist/src/observability/stream-tracer.js +0 -97
  409. package/dist/src/observability/trace-manager.d.ts +0 -13
  410. package/dist/src/observability/trace-manager.d.ts.map +0 -1
  411. package/dist/src/observability/trace-manager.js +0 -23
  412. package/dist/src/observability/tracer.d.ts +0 -19
  413. package/dist/src/observability/tracer.d.ts.map +0 -1
  414. package/dist/src/observability/tracer.js +0 -95
  415. package/dist/src/observability/types.d.ts +0 -75
  416. package/dist/src/observability/types.d.ts.map +0 -1
  417. package/dist/src/observability/types.js +0 -2
  418. package/dist/src/pretty-print.d.ts +0 -2
  419. package/dist/src/pretty-print.d.ts.map +0 -1
  420. package/dist/src/pretty-print.js +0 -63
  421. package/dist/src/printer.d.ts +0 -61
  422. package/dist/src/printer.d.ts.map +0 -1
  423. package/dist/src/printer.js +0 -164
  424. package/dist/src/process-communication/communication-config.d.ts +0 -8
  425. package/dist/src/process-communication/communication-config.d.ts.map +0 -1
  426. package/dist/src/process-communication/communication-config.js +0 -18
  427. package/dist/src/process-communication/process-manager.d.ts +0 -32
  428. package/dist/src/process-communication/process-manager.d.ts.map +0 -1
  429. package/dist/src/process-communication/process-manager.js +0 -88
  430. package/dist/src/process-communication/rpc-processor-interface.d.ts +0 -10
  431. package/dist/src/process-communication/rpc-processor-interface.d.ts.map +0 -1
  432. package/dist/src/process-communication/rpc-processor-interface.js +0 -2
  433. package/dist/src/queue-manager.d.ts +0 -42
  434. package/dist/src/queue-manager.d.ts.map +0 -1
  435. package/dist/src/queue-manager.js +0 -252
  436. package/dist/src/ruby/get-ruby-config.d.ts +0 -3
  437. package/dist/src/ruby/get-ruby-config.d.ts.map +0 -1
  438. package/dist/src/ruby/get-ruby-config.js +0 -34
  439. package/dist/src/run-stream-can-access.d.ts +0 -10
  440. package/dist/src/run-stream-can-access.d.ts.map +0 -1
  441. package/dist/src/run-stream-can-access.js +0 -59
  442. package/dist/src/schema-utils.d.ts +0 -9
  443. package/dist/src/schema-utils.d.ts.map +0 -1
  444. package/dist/src/schema-utils.js +0 -80
  445. package/dist/src/server.d.ts +0 -37
  446. package/dist/src/server.d.ts.map +0 -1
  447. package/dist/src/server.js +0 -318
  448. package/dist/src/socket-server/helpers.d.ts +0 -53
  449. package/dist/src/socket-server/helpers.d.ts.map +0 -1
  450. package/dist/src/socket-server/helpers.js +0 -28
  451. package/dist/src/socket-server.d.ts +0 -21
  452. package/dist/src/socket-server.d.ts.map +0 -1
  453. package/dist/src/socket-server.js +0 -127
  454. package/dist/src/state/create-state-adapter.d.ts +0 -8
  455. package/dist/src/state/create-state-adapter.d.ts.map +0 -1
  456. package/dist/src/state/create-state-adapter.js +0 -8
  457. package/dist/src/step-handler-rpc-processor.d.ts +0 -22
  458. package/dist/src/step-handler-rpc-processor.d.ts.map +0 -1
  459. package/dist/src/step-handler-rpc-processor.js +0 -63
  460. package/dist/src/step-handler-rpc-stdin-processor.d.ts +0 -23
  461. package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +0 -1
  462. package/dist/src/step-handler-rpc-stdin-processor.js +0 -83
  463. package/dist/src/step-handlers.d.ts +0 -9
  464. package/dist/src/step-handlers.d.ts.map +0 -1
  465. package/dist/src/step-handlers.js +0 -77
  466. package/dist/src/step-validator.d.ts +0 -15
  467. package/dist/src/step-validator.d.ts.map +0 -1
  468. package/dist/src/step-validator.js +0 -135
  469. package/dist/src/steps/emit.step.d.ts +0 -12
  470. package/dist/src/steps/emit.step.d.ts.map +0 -1
  471. package/dist/src/steps/emit.step.js +0 -27
  472. package/dist/src/steps/index.d.ts +0 -3
  473. package/dist/src/steps/index.d.ts.map +0 -1
  474. package/dist/src/steps/index.js +0 -16
  475. package/dist/src/streams/flows-config-stream.d.ts +0 -14
  476. package/dist/src/streams/flows-config-stream.d.ts.map +0 -1
  477. package/dist/src/streams/flows-config-stream.js +0 -49
  478. package/dist/src/streams/flows-stream.d.ts +0 -12
  479. package/dist/src/streams/flows-stream.d.ts.map +0 -1
  480. package/dist/src/streams/flows-stream.js +0 -35
  481. package/dist/src/streams/redis-logs-stream.d.ts +0 -31
  482. package/dist/src/streams/redis-logs-stream.d.ts.map +0 -1
  483. package/dist/src/streams/redis-logs-stream.js +0 -84
  484. package/dist/src/streams/stream-factory.d.ts +0 -3
  485. package/dist/src/streams/stream-factory.d.ts.map +0 -1
  486. package/dist/src/streams/stream-factory.js +0 -2
  487. package/dist/src/types/app-config-types.d.ts +0 -44
  488. package/dist/src/types/app-config-types.d.ts.map +0 -1
  489. package/dist/src/types/app-config-types.js +0 -2
  490. package/dist/src/types/flows-config-types.d.ts +0 -10
  491. package/dist/src/types/flows-config-types.d.ts.map +0 -1
  492. package/dist/src/types/flows-config-types.js +0 -2
  493. package/dist/src/types/flows-types.d.ts +0 -39
  494. package/dist/src/types/flows-types.d.ts.map +0 -1
  495. package/dist/src/types/flows-types.js +0 -2
  496. package/dist/src/types/generate-type-from-schema.d.ts +0 -3
  497. package/dist/src/types/generate-type-from-schema.d.ts.map +0 -1
  498. package/dist/src/types/generate-type-from-schema.js +0 -49
  499. package/dist/src/types/generate-types-from-response.d.ts +0 -3
  500. package/dist/src/types/generate-types-from-response.d.ts.map +0 -1
  501. package/dist/src/types/generate-types-from-response.js +0 -13
  502. package/dist/src/types/generate-types.d.ts +0 -13
  503. package/dist/src/types/generate-types.d.ts.map +0 -1
  504. package/dist/src/types/generate-types.js +0 -127
  505. package/dist/src/types/merge-schemas.d.ts +0 -5
  506. package/dist/src/types/merge-schemas.d.ts.map +0 -1
  507. package/dist/src/types/merge-schemas.js +0 -183
  508. package/dist/src/types/schema.types.d.ts +0 -9
  509. package/dist/src/types/schema.types.d.ts.map +0 -1
  510. package/dist/src/types/schema.types.js +0 -14
  511. package/dist/src/types-stream.d.ts +0 -42
  512. package/dist/src/types-stream.d.ts.map +0 -1
  513. package/dist/src/types-stream.js +0 -2
  514. package/dist/src/types.d.ts +0 -184
  515. package/dist/src/types.d.ts.map +0 -1
  516. package/dist/src/types.js +0 -17
  517. package/dist/src/utils.d.ts +0 -3
  518. package/dist/src/utils.d.ts.map +0 -1
  519. package/dist/src/utils.js +0 -12
  520. package/dist/src/validate-event-input.d.ts +0 -3
  521. package/dist/src/validate-event-input.d.ts.map +0 -1
  522. package/dist/src/validate-event-input.js +0 -74
@@ -0,0 +1,48 @@
1
+ import { CronAdapter } from "../adapters/interfaces/cron-adapter.interface.mjs";
2
+ import { JsonSchema } from "./schema.types.mjs";
3
+ import { EventAdapter } from "../adapters/interfaces/event-adapter.interface.mjs";
4
+ import { StateAdapter } from "../adapters/interfaces/state-adapter.interface.mjs";
5
+ import { StreamAdapterManager } from "../adapters/interfaces/stream-adapter-manager.interface.mjs";
6
+ import { MotiaPluginContext } from "../motia.mjs";
7
+ import { z } from "zod";
8
+ import { Express } from "express";
9
+
10
+ //#region src/types/app-config-types.d.ts
11
+ type WorkbenchPlugin = {
12
+ packageName: string;
13
+ componentName?: string;
14
+ label?: string;
15
+ labelIcon?: string;
16
+ position?: 'bottom' | 'top';
17
+ cssImports?: string[];
18
+ props?: Record<string, any>;
19
+ };
20
+ type MotiaPlugin = {
21
+ workbench: WorkbenchPlugin[];
22
+ dirname?: string;
23
+ steps?: string[];
24
+ };
25
+ type MotiaPluginBuilder = (motia: MotiaPluginContext) => MotiaPlugin;
26
+ type AdapterConfig = {
27
+ state?: StateAdapter;
28
+ streams?: StreamAdapterManager;
29
+ events?: EventAdapter;
30
+ cron?: CronAdapter;
31
+ };
32
+ type StreamAuthRequest = {
33
+ headers: Record<string, string | string[] | undefined>;
34
+ url?: string;
35
+ };
36
+ type StreamAuthConfig<TSchema extends z.ZodTypeAny = z.ZodTypeAny> = {
37
+ contextSchema: JsonSchema;
38
+ authenticate: (request: StreamAuthRequest) => Promise<z.infer<TSchema> | null> | (z.infer<TSchema> | null);
39
+ };
40
+ type Config = {
41
+ app?: (app: Express) => void;
42
+ plugins?: MotiaPluginBuilder[];
43
+ adapters?: AdapterConfig;
44
+ streamAuth?: StreamAuthConfig;
45
+ };
46
+ //#endregion
47
+ export { AdapterConfig, Config, MotiaPlugin, MotiaPluginBuilder, StreamAuthConfig, StreamAuthRequest, WorkbenchPlugin };
48
+ //# sourceMappingURL=app-config-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config-types.d.mts","names":[],"sources":["../../../src/types/app-config-types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;KASY,eAAA;;EAAA,aAAA,CAAA,EAAA,MAAe;EAWf,KAAA,CAAA,EAAA,MAAW;EAMX,SAAA,CAAA,EAAA,MAAA;EAEA,QAAA,CAAA,EAAA,QAAa,GAAA,KAAA;EACf,UAAA,CAAA,EAAA,MAAA,EAAA;EACE,KAAA,CAAA,EAbF,MAaE,CAAA,MAAA,EAAA,GAAA,CAAA;CACD;AACF,KAZG,WAAA,GAYH;EAAW,SAAA,EAXP,eAWO,EAAA;EAGR,OAAA,CAAA,EAAA,MAAA;EAKA,KAAA,CAAA,EAAA,MAAA,EAAA;CAAiC;AAAiB,KAdlD,kBAAA,GAckD,CAAA,KAAA,EAdrB,kBAcqB,EAAA,GAdE,WAcF;AAC7C,KAbL,aAAA,GAaK;EACS,KAAA,CAAA,EAbhB,YAagB;EAAsC,OAAA,CAAA,EAZpD,oBAYoD;EAAN,MAAA,CAAA,EAX/C,YAW+C;EAAV,IAAA,CAAA,EAVvC,WAUuC;CAA4C;AAAN,KAP1E,iBAAA,GAO0E;EAAK,OAAA,EANhF,MAMgF,CAAA,MAAA,EAAA,MAAA,GAAA,MAAA,EAAA,GAAA,SAAA,CAAA;EAG/E,GAAA,CAAA,EAAA,MAAM;CACJ;AACF,KAPA,gBAOA,CAAA,gBAPiC,CAAA,CAAE,UAOnC,GAPgD,CAAA,CAAE,UAOlD,CAAA,GAAA;EACC,aAAA,EAPI,UAOJ;EACE,YAAA,EAAA,CAAA,OAAA,EAPW,iBAOX,EAAA,GAPiC,OAOjC,CAPyC,CAAA,CAAE,KAO3C,CAPiD,OAOjD,CAAA,GAAA,IAAA,CAAA,GAAA,CAPqE,CAAA,CAAE,KAOvE,CAP6E,OAO7E,CAAA,GAAA,IAAA,CAAA;CAAgB;KAJnB,MAAA;cACE;YACF;aACC;eACE"}
@@ -0,0 +1,30 @@
1
+ import { isAnyOf } from "./schema.types.mjs";
2
+
3
+ //#region src/types/generate-type-from-schema.ts
4
+ const generateTypeFromSchema = (schema) => {
5
+ if (!schema) return "unknown";
6
+ if (isAnyOf(schema)) return schema.anyOf.map(generateTypeFromSchema).join(" | ");
7
+ if (schema.type === "array") return `Array<${schema.items ? generateTypeFromSchema(schema.items) : "unknown"}>`;
8
+ if (schema.type === "object" && schema.properties) {
9
+ const props = Object.entries(schema.properties).map(([key, prop]) => {
10
+ const isRequired = schema.required?.includes(key);
11
+ const propType = generateTypeFromSchema(prop);
12
+ return `${key}${isRequired ? "" : "?"}: ${propType}`;
13
+ });
14
+ return props.length > 0 ? `{ ${props.join("; ")} }` : "{}";
15
+ } else if (schema.type === "object" && schema.additionalProperties) return `Record<string, ${generateTypeFromSchema(schema.additionalProperties)}>`;
16
+ if (schema.type === "string") {
17
+ if (schema.format === "binary") return "Buffer";
18
+ return schema.enum && schema.enum.length > 0 ? schema.enum.map((value) => `'${value}'`).join(" | ") : "string";
19
+ }
20
+ if (typeof schema === "object" && schema !== null && "not" in schema) return "undefined";
21
+ switch (schema.type) {
22
+ case "number": return "number";
23
+ case "boolean": return "boolean";
24
+ default: return "unknown";
25
+ }
26
+ };
27
+
28
+ //#endregion
29
+ export { generateTypeFromSchema };
30
+ //# sourceMappingURL=generate-type-from-schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-type-from-schema.mjs","names":[],"sources":["../../../src/types/generate-type-from-schema.ts"],"sourcesContent":["import type { JSONSchema } from 'zod/v4/core'\nimport { isAnyOf } from './schema.types'\n\nexport const generateTypeFromSchema = (schema: JSONSchema.BaseSchema): string => {\n if (!schema) {\n return 'unknown'\n }\n\n if (isAnyOf(schema)) {\n const types = schema.anyOf.map(generateTypeFromSchema)\n return types.join(' | ')\n }\n\n if (schema.type === 'array') {\n const itemType = schema.items ? generateTypeFromSchema(schema.items as JSONSchema.ArraySchema) : 'unknown'\n return `Array<${itemType}>`\n }\n\n if (schema.type === 'object' && schema.properties) {\n const props = Object.entries(schema.properties).map(([key, prop]) => {\n const isRequired = schema.required?.includes(key)\n const propType = generateTypeFromSchema(prop as JSONSchema.BaseSchema)\n return `${key}${isRequired ? '' : '?'}: ${propType}`\n })\n return props.length > 0 ? `{ ${props.join('; ')} }` : '{}'\n } else if (schema.type === 'object' && schema.additionalProperties) {\n const propType = generateTypeFromSchema(schema.additionalProperties as JSONSchema.BaseSchema)\n return `Record<string, ${propType}>`\n }\n\n if (schema.type === 'string') {\n if (schema.format === 'binary') {\n return 'Buffer'\n }\n return schema.enum && schema.enum.length > 0 // must have at least one enum value\n ? schema.enum.map((value) => `'${value}'`).join(' | ')\n : 'string'\n }\n\n if (typeof schema === 'object' && schema !== null && 'not' in schema) {\n return 'undefined'\n }\n\n switch (schema.type) {\n case 'number':\n return 'number'\n case 'boolean':\n return 'boolean'\n default:\n return 'unknown'\n }\n}\n"],"mappings":";;;AAGA,MAAa,0BAA0B,WAA0C;AAC/E,KAAI,CAAC,OACH,QAAO;AAGT,KAAI,QAAQ,OAAO,CAEjB,QADc,OAAO,MAAM,IAAI,uBAAuB,CACzC,KAAK,MAAM;AAG1B,KAAI,OAAO,SAAS,QAElB,QAAO,SADU,OAAO,QAAQ,uBAAuB,OAAO,MAAgC,GAAG,UACxE;AAG3B,KAAI,OAAO,SAAS,YAAY,OAAO,YAAY;EACjD,MAAM,QAAQ,OAAO,QAAQ,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,UAAU;GACnE,MAAM,aAAa,OAAO,UAAU,SAAS,IAAI;GACjD,MAAM,WAAW,uBAAuB,KAA8B;AACtE,UAAO,GAAG,MAAM,aAAa,KAAK,IAAI,IAAI;IAC1C;AACF,SAAO,MAAM,SAAS,IAAI,KAAK,MAAM,KAAK,KAAK,CAAC,MAAM;YAC7C,OAAO,SAAS,YAAY,OAAO,qBAE5C,QAAO,kBADU,uBAAuB,OAAO,qBAA8C,CAC3D;AAGpC,KAAI,OAAO,SAAS,UAAU;AAC5B,MAAI,OAAO,WAAW,SACpB,QAAO;AAET,SAAO,OAAO,QAAQ,OAAO,KAAK,SAAS,IACvC,OAAO,KAAK,KAAK,UAAU,IAAI,MAAM,GAAG,CAAC,KAAK,MAAM,GACpD;;AAGN,KAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,SAAS,OAC5D,QAAO;AAGT,SAAQ,OAAO,MAAf;EACE,KAAK,SACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,QACE,QAAO"}
@@ -0,0 +1,12 @@
1
+ import { generateTypeFromSchema } from "./generate-type-from-schema.mjs";
2
+
3
+ //#region src/types/generate-types-from-response.ts
4
+ const generateTypesFromResponse = (record) => {
5
+ return Object.entries(record).map(([status, schema]) => {
6
+ return `ApiResponse<${status}, ${generateTypeFromSchema(schema)}>`;
7
+ }).join(" | ");
8
+ };
9
+
10
+ //#endregion
11
+ export { generateTypesFromResponse };
12
+ //# sourceMappingURL=generate-types-from-response.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-types-from-response.mjs","names":[],"sources":["../../../src/types/generate-types-from-response.ts"],"sourcesContent":["import { generateTypeFromSchema } from './generate-type-from-schema'\nimport type { JsonSchema } from './schema.types'\n\nexport const generateTypesFromResponse = (record: Record<number, JsonSchema>): string => {\n return Object.entries(record)\n .map(([status, schema]) => {\n const schemaType = generateTypeFromSchema(schema as JsonSchema)\n return `ApiResponse<${status}, ${schemaType}>`\n })\n .join(' | ')\n}\n"],"mappings":";;;AAGA,MAAa,6BAA6B,WAA+C;AACvF,QAAO,OAAO,QAAQ,OAAO,CAC1B,KAAK,CAAC,QAAQ,YAAY;AAEzB,SAAO,eAAe,OAAO,IADV,uBAAuB,OAAqB,CACnB;GAC5C,CACD,KAAK,MAAM"}
@@ -0,0 +1,101 @@
1
+ import { isApiStep, isCronStep, isEventStep } from "../guards.mjs";
2
+ import { generateTypeFromSchema } from "./generate-type-from-schema.mjs";
3
+ import { schemaToJsonSchema } from "../schema-utils.mjs";
4
+ import { generateTypesFromResponse } from "./generate-types-from-response.mjs";
5
+ import { mergeSchemas } from "./merge-schemas.mjs";
6
+
7
+ //#region src/types/generate-types.ts
8
+ const generateTypesString = (handlers, streams, streamAuthContextType) => {
9
+ return `/**
10
+ * Automatically generated types for motia
11
+ * Do NOT edit this file manually.
12
+ *
13
+ * Consider adding this file to .prettierignore and eslint ignore.
14
+ */
15
+ import { EventHandler, ApiRouteHandler, ApiResponse, MotiaStream, CronHandler } from 'motia'
16
+
17
+ declare module 'motia' {
18
+ interface FlowContextStateStreams {
19
+ ${Object.entries(streams).map(([key, value]) => `'${key}': MotiaStream<${value}>`).join("\n ").trim()}
20
+ }
21
+
22
+ interface Handlers {
23
+ ${Object.entries(handlers).map(([key, { type, generics }]) => `'${key}': ${type}<${generics.join(", ")}>`).join("\n ").trim()}
24
+ }
25
+ ${streamAuthContextType ? `interface StreamAuthContext ${streamAuthContextType}` : ""}
26
+ }`;
27
+ };
28
+ const generateTypesFromSteps = (steps, printer) => {
29
+ const handlers = {};
30
+ const topics = {};
31
+ const topicsSchemas = {};
32
+ const topicsSteps = {};
33
+ const topicIsFifo = {};
34
+ for (const step of steps) if (isEventStep(step)) {
35
+ if (!step.config.input) {
36
+ for (const topic of step.config.subscribes) if (!topics[topic]) topics[topic] = "never";
37
+ continue;
38
+ }
39
+ for (const topic of step.config.subscribes) {
40
+ const existingSchema = topicsSchemas[topic];
41
+ topicsSteps[topic] = topicsSteps[topic] ?? [];
42
+ topicsSteps[topic].push(step);
43
+ if (step.config.infrastructure?.queue?.type === "fifo") topicIsFifo[topic] = true;
44
+ try {
45
+ const input = step.config.input;
46
+ const schema = existingSchema ? mergeSchemas(existingSchema, input) : schemaToJsonSchema(input) ?? input;
47
+ topics[topic] = generateTypeFromSchema(schema);
48
+ topicsSchemas[topic] = schema;
49
+ } catch (error) {
50
+ printer.printInvalidSchema(topic, topicsSteps[topic]);
51
+ topics[topic] = "never";
52
+ }
53
+ }
54
+ }
55
+ const generateEmitData = (emit, step) => {
56
+ const emits = emit.reduce((acc, emit$1) => {
57
+ const topic = typeof emit$1 === "string" ? emit$1 : emit$1.topic;
58
+ const topicType = topics[topic];
59
+ if (topicType) if (topicIsFifo[topic]) acc.push(`{ topic: '${topic.replace(/'/g, "\\'")}'; data: ${topicType}; messageGroupId: string }`);
60
+ else acc.push(`{ topic: '${topic.replace(/'/g, "\\'")}'; data: ${topicType} }`);
61
+ else printer.printInvalidEmitConfiguration(step, topic);
62
+ return acc;
63
+ }, []).join(" | ");
64
+ return emits.length === 0 ? "never" : emits;
65
+ };
66
+ for (const step of steps) {
67
+ const emits = "emits" in step.config ? generateEmitData(step.config.emits, step) : "never";
68
+ if (isEventStep(step)) {
69
+ const input = step.config.input ? generateTypeFromSchema(step.config.input) : "never";
70
+ handlers[step.config.name] = {
71
+ type: "EventHandler",
72
+ generics: [input, emits]
73
+ };
74
+ } else if (isApiStep(step)) {
75
+ const input = step.config.bodySchema ? generateTypeFromSchema(step.config.bodySchema) : "Record<string, unknown>";
76
+ const result = step.config.responseSchema ? generateTypesFromResponse(step.config.responseSchema) : "unknown";
77
+ handlers[step.config.name] = {
78
+ type: "ApiRouteHandler",
79
+ generics: [
80
+ input,
81
+ result,
82
+ emits
83
+ ]
84
+ };
85
+ } else if (isCronStep(step)) handlers[step.config.name] = {
86
+ type: "CronHandler",
87
+ generics: [emits]
88
+ };
89
+ }
90
+ return handlers;
91
+ };
92
+ const generateTypesFromStreams = (streams) => {
93
+ return Object.entries(streams).reduce((acc, [key, stream]) => {
94
+ if (!stream.hidden) acc[key] = generateTypeFromSchema(stream.config.schema);
95
+ return acc;
96
+ }, {});
97
+ };
98
+
99
+ //#endregion
100
+ export { generateTypesFromSteps, generateTypesFromStreams, generateTypesString };
101
+ //# sourceMappingURL=generate-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-types.mjs","names":["handlers: HandlersMap","topics: Record<string, string>","topicsSchemas: Record<string, JsonSchema>","topicsSteps: Record<string, Step[]>","topicIsFifo: Record<string, boolean>","emit"],"sources":["../../../src/types/generate-types.ts"],"sourcesContent":["import { isApiStep, isCronStep, isEventStep } from '../guards'\nimport type { Printer } from '../printer'\nimport { schemaToJsonSchema } from '../schema-utils'\nimport type { Emit, Step } from '../types'\nimport type { Stream } from '../types-stream'\nimport { generateTypeFromSchema } from './generate-type-from-schema'\nimport { generateTypesFromResponse } from './generate-types-from-response'\nimport { mergeSchemas } from './merge-schemas'\nimport type { JsonSchema } from './schema.types'\n\ntype HandlersMap = Record<string, { type: string; generics: string[] }>\ntype StreamsMap = Record<string, string>\n\nexport const generateTypesString = (\n handlers: HandlersMap,\n streams: StreamsMap,\n streamAuthContextType?: string,\n): string => {\n return `/**\n * Automatically generated types for motia\n * Do NOT edit this file manually.\n * \n * Consider adding this file to .prettierignore and eslint ignore.\n */\nimport { EventHandler, ApiRouteHandler, ApiResponse, MotiaStream, CronHandler } from 'motia'\n\ndeclare module 'motia' {\n interface FlowContextStateStreams {\n ${Object.entries(streams)\n .map(([key, value]) => `'${key}': MotiaStream<${value}>`)\n .join('\\n ')\n .trim()}\n }\n\n interface Handlers {\n ${Object.entries(handlers)\n .map(([key, { type, generics }]) => `'${key}': ${type}<${generics.join(', ')}>`)\n .join('\\n ')\n .trim()}\n }\n ${streamAuthContextType ? `interface StreamAuthContext ${streamAuthContextType}` : ''}\n}`\n}\n\nexport const generateTypesFromSteps = (steps: Step[], printer: Printer): HandlersMap => {\n const handlers: HandlersMap = {}\n const topics: Record<string, string> = {}\n const topicsSchemas: Record<string, JsonSchema> = {}\n const topicsSteps: Record<string, Step[]> = {}\n const topicIsFifo: Record<string, boolean> = {}\n\n for (const step of steps) {\n if (isEventStep(step)) {\n if (!step.config.input) {\n for (const topic of step.config.subscribes) {\n if (!topics[topic]) {\n topics[topic] = 'never'\n }\n }\n continue\n }\n\n for (const topic of step.config.subscribes) {\n const existingSchema = topicsSchemas[topic]\n\n topicsSteps[topic] = topicsSteps[topic] ?? []\n topicsSteps[topic].push(step)\n\n const queueType = step.config.infrastructure?.queue?.type\n if (queueType === 'fifo') {\n topicIsFifo[topic] = true\n }\n\n try {\n const input = step.config.input\n const schema = existingSchema\n ? mergeSchemas(existingSchema, input)\n : (schemaToJsonSchema(input) ?? (input as JsonSchema))\n topics[topic] = generateTypeFromSchema(schema)\n topicsSchemas[topic] = schema\n } catch (error) {\n printer.printInvalidSchema(topic, topicsSteps[topic])\n topics[topic] = 'never'\n }\n }\n }\n }\n\n const generateEmitData = (emit: Emit[], step: Step): string => {\n const emits = emit\n .reduce((acc, emit) => {\n const topic = typeof emit === 'string' ? emit : emit.topic\n const topicType = topics[topic]\n\n if (topicType) {\n const isFifo = topicIsFifo[topic]\n if (isFifo) {\n acc.push(`{ topic: '${topic.replace(/'/g, \"\\\\'\")}'; data: ${topicType}; messageGroupId: string }`)\n } else {\n acc.push(`{ topic: '${topic.replace(/'/g, \"\\\\'\")}'; data: ${topicType} }`)\n }\n } else {\n printer.printInvalidEmitConfiguration(step, topic)\n }\n\n return acc\n }, [] as string[])\n .join(' | ')\n\n return emits.length === 0 ? 'never' : emits\n }\n\n for (const step of steps) {\n const emits = 'emits' in step.config ? generateEmitData(step.config.emits, step) : 'never'\n\n if (isEventStep(step)) {\n const input = step.config.input ? generateTypeFromSchema(step.config.input as never as JsonSchema) : 'never'\n handlers[step.config.name] = { type: 'EventHandler', generics: [input, emits] }\n } else if (isApiStep(step)) {\n const input = step.config.bodySchema\n ? generateTypeFromSchema(step.config.bodySchema as never as JsonSchema)\n : 'Record<string, unknown>'\n const result = step.config.responseSchema\n ? generateTypesFromResponse(step.config.responseSchema as never as Record<number, JsonSchema>)\n : 'unknown'\n handlers[step.config.name] = { type: 'ApiRouteHandler', generics: [input, result, emits] }\n } else if (isCronStep(step)) {\n handlers[step.config.name] = { type: 'CronHandler', generics: [emits] }\n }\n }\n\n return handlers\n}\n\nexport const generateTypesFromStreams = (streams: Record<string, Stream>): StreamsMap => {\n return Object.entries(streams).reduce((acc, [key, stream]) => {\n if (!stream.hidden) {\n acc[key] = generateTypeFromSchema(stream.config.schema as unknown as JsonSchema)\n }\n return acc\n }, {} as StreamsMap)\n}\n"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { JsonSchemaError, isAnyOf } from "./schema.types.mjs";
2
+ import { isZodSchema, schemaToJsonSchema } from "../schema-utils.mjs";
3
+ import * as z$1 from "zod";
4
+
5
+ //#region src/types/merge-schemas.ts
6
+ const isJsonSchema = (value) => {
7
+ return typeof value === "object" && value !== null && !Array.isArray(value) && typeof value !== "boolean";
8
+ };
9
+ const isCompatible = (schema, otherSchema) => {
10
+ if (isAnyOf(schema)) return schema.anyOf.every((item) => isCompatible(item, otherSchema));
11
+ else if (isAnyOf(otherSchema)) return otherSchema.anyOf.every((item) => isCompatible(schema, item));
12
+ if (schema.type !== otherSchema.type) return false;
13
+ if (schema.type === "array" && otherSchema.type === "array") {
14
+ if (!schema.items || !otherSchema.items) return schema.items === otherSchema.items;
15
+ if (Array.isArray(schema.items) || Array.isArray(otherSchema.items)) return false;
16
+ if (isJsonSchema(schema.items) && isJsonSchema(otherSchema.items)) return isCompatible(schema.items, otherSchema.items);
17
+ return schema.items === otherSchema.items;
18
+ }
19
+ if (schema.type === "object" && otherSchema.type === "object") {
20
+ const schemaProps = schema.properties;
21
+ const otherSchemaProps = otherSchema.properties;
22
+ if (!schemaProps || !otherSchemaProps) return schemaProps === otherSchemaProps;
23
+ const keysFromSchema = Object.keys(schemaProps);
24
+ const keysFromOtherSchema = Object.keys(otherSchemaProps);
25
+ const commonKeys = keysFromSchema.filter((key) => keysFromOtherSchema.includes(key));
26
+ if (schema.required?.some((key) => !keysFromOtherSchema.includes(key))) return false;
27
+ else if (otherSchema.required?.some((key) => !keysFromSchema.includes(key))) return false;
28
+ if (commonKeys.length > 0) return commonKeys.every((key) => {
29
+ const prop1 = schemaProps[key];
30
+ const prop2 = otherSchemaProps[key];
31
+ if (isJsonSchema(prop1) && isJsonSchema(prop2)) return isCompatible(prop1, prop2);
32
+ return prop1 === prop2;
33
+ });
34
+ }
35
+ return true;
36
+ };
37
+ const mergeZodSchemas = (schema, otherSchema) => {
38
+ try {
39
+ return z$1.intersection(schema, otherSchema);
40
+ } catch (error) {
41
+ throw new JsonSchemaError(`Cannot merge Zod schemas: ${error instanceof Error ? error.message : "Unknown error"}`);
42
+ }
43
+ };
44
+ const mergeSchemas = (schema, otherSchema) => {
45
+ if (isZodSchema(schema) && isZodSchema(otherSchema)) {
46
+ const jsonSchema = schemaToJsonSchema(mergeZodSchemas(schema, otherSchema));
47
+ if (!jsonSchema) throw new JsonSchemaError("Failed to convert merged Zod schema to JSON Schema");
48
+ return jsonSchema;
49
+ }
50
+ const schemaJsonResult = schemaToJsonSchema(schema);
51
+ const otherSchemaJsonResult = schemaToJsonSchema(otherSchema);
52
+ if (!schemaJsonResult || !otherSchemaJsonResult) throw new JsonSchemaError("Cannot merge schemas: failed to convert to JSON Schema");
53
+ const schemaJson = schemaJsonResult;
54
+ const otherSchemaJson = otherSchemaJsonResult;
55
+ if (!isCompatible(schemaJson, otherSchemaJson)) throw new JsonSchemaError("Cannot merge schemas of different types");
56
+ if (isAnyOf(schemaJson)) return { anyOf: schemaJson.anyOf.map((item) => mergeSchemas(item, otherSchemaJson)) };
57
+ else if (isAnyOf(otherSchemaJson)) return { anyOf: otherSchemaJson.anyOf.map((item) => mergeSchemas(schemaJson, item)) };
58
+ if (schemaJson.type === "object" && otherSchemaJson.type === "object") {
59
+ const schemaProps = schemaJson.properties;
60
+ const otherSchemaProps = otherSchemaJson.properties;
61
+ if (!schemaProps || !otherSchemaProps) throw new JsonSchemaError("Cannot merge object schemas without properties");
62
+ const mergedProperties = {
63
+ ...schemaProps,
64
+ ...otherSchemaProps
65
+ };
66
+ const otherSchemaKeys = Object.keys(otherSchemaProps).reduce((acc, key) => {
67
+ acc[key] = true;
68
+ return acc;
69
+ }, {});
70
+ for (const key in schemaProps) if (otherSchemaKeys[key]) {
71
+ const prop1 = schemaProps[key];
72
+ const prop2 = otherSchemaProps[key];
73
+ if (isJsonSchema(prop1) && isJsonSchema(prop2)) mergedProperties[key] = mergeSchemas(prop1, prop2);
74
+ else mergedProperties[key] = prop2;
75
+ }
76
+ const schemaRequired = schemaJson.required;
77
+ const otherSchemaRequired = otherSchemaJson.required;
78
+ const mergedRequired = new Set([...schemaRequired ?? [], ...otherSchemaRequired ?? []]);
79
+ return {
80
+ type: "object",
81
+ properties: mergedProperties,
82
+ required: Array.from(mergedRequired)
83
+ };
84
+ }
85
+ if (schemaJson.type === "array" && otherSchemaJson.type === "array") {
86
+ if (!schemaJson.items || !otherSchemaJson.items) throw new JsonSchemaError("Cannot merge array schemas without items");
87
+ if (Array.isArray(schemaJson.items) || Array.isArray(otherSchemaJson.items)) throw new JsonSchemaError("Cannot merge array schemas with array items");
88
+ if (!isJsonSchema(schemaJson.items) || !isJsonSchema(otherSchemaJson.items)) throw new JsonSchemaError("Cannot merge array schemas with non-object items");
89
+ return {
90
+ type: "array",
91
+ items: mergeSchemas(schemaJson.items, otherSchemaJson.items)
92
+ };
93
+ }
94
+ return {
95
+ type: schemaJson.type,
96
+ description: schemaJson.description ?? otherSchemaJson.description
97
+ };
98
+ };
99
+
100
+ //#endregion
101
+ export { mergeSchemas };
102
+ //# sourceMappingURL=merge-schemas.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-schemas.mjs","names":["z","mergedProperties: Record<string, JSONSchema._JSONSchema>"],"sources":["../../../src/types/merge-schemas.ts"],"sourcesContent":["import * as z from 'zod'\nimport type { JSONSchema } from 'zod/v4/core'\nimport { isZodSchema, type SchemaInput, schemaToJsonSchema } from '../schema-utils'\nimport { isAnyOf, type JsonSchema, JsonSchemaError } from './schema.types'\n\nconst isJsonSchema = (value: unknown): value is JsonSchema => {\n return typeof value === 'object' && value !== null && !Array.isArray(value) && typeof value !== 'boolean'\n}\n\nexport const isCompatible = (schema: JsonSchema, otherSchema: JsonSchema): boolean => {\n if (isAnyOf(schema)) {\n return schema.anyOf.every((item) => isCompatible(item, otherSchema))\n } else if (isAnyOf(otherSchema)) {\n return otherSchema.anyOf.every((item) => isCompatible(schema, item))\n }\n\n if (schema.type !== otherSchema.type) {\n return false\n }\n\n if (schema.type === 'array' && otherSchema.type === 'array') {\n if (!schema.items || !otherSchema.items) {\n return schema.items === otherSchema.items\n }\n if (Array.isArray(schema.items) || Array.isArray(otherSchema.items)) {\n return false\n }\n if (isJsonSchema(schema.items) && isJsonSchema(otherSchema.items)) {\n return isCompatible(schema.items, otherSchema.items)\n }\n return schema.items === otherSchema.items\n }\n\n if (schema.type === 'object' && otherSchema.type === 'object') {\n const schemaProps = schema.properties\n const otherSchemaProps = otherSchema.properties\n if (!schemaProps || !otherSchemaProps) {\n return schemaProps === otherSchemaProps\n }\n const keysFromSchema = Object.keys(schemaProps)\n const keysFromOtherSchema = Object.keys(otherSchemaProps)\n const commonKeys = keysFromSchema.filter((key) => keysFromOtherSchema.includes(key))\n\n if (schema.required?.some((key) => !keysFromOtherSchema.includes(key))) {\n return false\n } else if (otherSchema.required?.some((key) => !keysFromSchema.includes(key))) {\n return false\n }\n\n if (commonKeys.length > 0) {\n return commonKeys.every((key) => {\n const prop1 = schemaProps[key]\n const prop2 = otherSchemaProps[key]\n if (isJsonSchema(prop1) && isJsonSchema(prop2)) {\n return isCompatible(prop1, prop2)\n }\n return prop1 === prop2\n })\n }\n }\n\n return true\n}\n\nconst mergeZodSchemas = (schema: z.ZodType, otherSchema: z.ZodType): z.ZodType => {\n try {\n return z.intersection(schema, otherSchema)\n } catch (error) {\n throw new JsonSchemaError(`Cannot merge Zod schemas: ${error instanceof Error ? error.message : 'Unknown error'}`)\n }\n}\n\nexport const mergeSchemas = (schema: SchemaInput, otherSchema: SchemaInput): JsonSchema => {\n if (isZodSchema(schema) && isZodSchema(otherSchema)) {\n const mergedZodSchema = mergeZodSchemas(schema, otherSchema)\n const jsonSchema = schemaToJsonSchema(mergedZodSchema)\n if (!jsonSchema) {\n throw new JsonSchemaError('Failed to convert merged Zod schema to JSON Schema')\n }\n return jsonSchema as JsonSchema\n }\n\n const schemaJsonResult = schemaToJsonSchema(schema)\n const otherSchemaJsonResult = schemaToJsonSchema(otherSchema)\n\n if (!schemaJsonResult || !otherSchemaJsonResult) {\n throw new JsonSchemaError('Cannot merge schemas: failed to convert to JSON Schema')\n }\n\n const schemaJson = schemaJsonResult as JsonSchema\n const otherSchemaJson = otherSchemaJsonResult as JsonSchema\n\n if (!isCompatible(schemaJson, otherSchemaJson)) {\n throw new JsonSchemaError('Cannot merge schemas of different types')\n }\n\n if (isAnyOf(schemaJson)) {\n return {\n anyOf: schemaJson.anyOf.map((item) => mergeSchemas(item, otherSchemaJson)),\n }\n } else if (isAnyOf(otherSchemaJson)) {\n return {\n anyOf: otherSchemaJson.anyOf.map((item) => mergeSchemas(schemaJson, item)),\n }\n }\n\n if (schemaJson.type === 'object' && otherSchemaJson.type === 'object') {\n const schemaProps = schemaJson.properties as Record<string, JSONSchema._JSONSchema> | undefined\n const otherSchemaProps = otherSchemaJson.properties as Record<string, JSONSchema._JSONSchema> | undefined\n if (!schemaProps || !otherSchemaProps) {\n throw new JsonSchemaError('Cannot merge object schemas without properties')\n }\n const mergedProperties: Record<string, JSONSchema._JSONSchema> = { ...schemaProps, ...otherSchemaProps }\n const otherSchemaKeys = Object.keys(otherSchemaProps).reduce(\n (acc, key) => {\n acc[key] = true\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n for (const key in schemaProps) {\n if (otherSchemaKeys[key]) {\n const prop1 = schemaProps[key]\n const prop2 = otherSchemaProps[key]\n if (isJsonSchema(prop1) && isJsonSchema(prop2)) {\n mergedProperties[key] = mergeSchemas(prop1, prop2)\n } else {\n mergedProperties[key] = prop2\n }\n }\n }\n\n const schemaRequired = schemaJson.required as string[] | undefined\n const otherSchemaRequired = otherSchemaJson.required as string[] | undefined\n const mergedRequired = new Set([...(schemaRequired ?? []), ...(otherSchemaRequired ?? [])])\n\n return {\n type: 'object',\n properties: mergedProperties,\n required: Array.from(mergedRequired),\n }\n }\n\n if (schemaJson.type === 'array' && otherSchemaJson.type === 'array') {\n if (!schemaJson.items || !otherSchemaJson.items) {\n throw new JsonSchemaError('Cannot merge array schemas without items')\n }\n if (Array.isArray(schemaJson.items) || Array.isArray(otherSchemaJson.items)) {\n throw new JsonSchemaError('Cannot merge array schemas with array items')\n }\n if (!isJsonSchema(schemaJson.items) || !isJsonSchema(otherSchemaJson.items)) {\n throw new JsonSchemaError('Cannot merge array schemas with non-object items')\n }\n return {\n type: 'array',\n items: mergeSchemas(schemaJson.items, otherSchemaJson.items),\n }\n }\n\n return {\n type: schemaJson.type as JSONSchema.BaseSchema['type'],\n description: (schemaJson.description ?? otherSchemaJson.description) as string | undefined,\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { JSONSchema } from "zod/v4/core";
2
+
3
+ //#region src/types/schema.types.d.ts
4
+ type JsonSchema = JSONSchema.BaseSchema;
5
+ declare class JsonSchemaError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ declare const isAnyOf: (schema: JsonSchema) => schema is JSONSchema.BaseSchema & {
9
+ anyOf: JSONSchema.BaseSchema[];
10
+ };
11
+ //#endregion
12
+ export { JsonSchema, JsonSchemaError, isAnyOf };
13
+ //# sourceMappingURL=schema.types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.types.d.mts","names":[],"sources":["../../../src/types/schema.types.ts"],"sourcesContent":[],"mappings":";;;KAEY,UAAA,GAAa,UAAA,CAAW;cAEvB,eAAA,SAAwB,KAAA;EAFzB,WAAA,CAAA,OAAU,EAAA,MAAG;AAEzB;AAOa,cAAA,OAEZ,EAAA,CAAA,MAAA,EAF+B,UAE/B,EAAA,GAAA,MAAA,IAFsD,UAAA,CAAW,UAEjE,GAAA;EAF+B,KAAA,EAAwD,UAAA,CAAW,UAAnE,EAAA;CAAuB"}
@@ -0,0 +1,14 @@
1
+ //#region src/types/schema.types.ts
2
+ var JsonSchemaError = class extends Error {
3
+ constructor(message) {
4
+ super(message);
5
+ this.name = "JsonSchemaError";
6
+ }
7
+ };
8
+ const isAnyOf = (schema) => {
9
+ return typeof schema === "object" && schema !== null && "anyOf" in schema;
10
+ };
11
+
12
+ //#endregion
13
+ export { JsonSchemaError, isAnyOf };
14
+ //# sourceMappingURL=schema.types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.types.mjs","names":[],"sources":["../../../src/types/schema.types.ts"],"sourcesContent":["import type { JSONSchema } from 'zod/v4/core'\n\nexport type JsonSchema = JSONSchema.BaseSchema\n\nexport class JsonSchemaError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'JsonSchemaError'\n }\n}\n\nexport const isAnyOf = (schema: JsonSchema): schema is JSONSchema.BaseSchema & { anyOf: JSONSchema.BaseSchema[] } => {\n return typeof schema === 'object' && schema !== null && 'anyOf' in schema\n}\n"],"mappings":";AAIA,IAAa,kBAAb,cAAqC,MAAM;CACzC,YAAY,SAAiB;AAC3B,QAAM,QAAQ;AACd,OAAK,OAAO;;;AAIhB,MAAa,WAAW,WAA6F;AACnH,QAAO,OAAO,WAAW,YAAY,WAAW,QAAQ,WAAW"}
@@ -0,0 +1,46 @@
1
+ import { StreamFactory } from "./streams/stream-factory.mjs";
2
+ import { StepSchemaInput } from "./types.mjs";
3
+
4
+ //#region src/types-stream.d.ts
5
+ type StreamSubscription = {
6
+ groupId: string;
7
+ id?: string;
8
+ };
9
+ interface StreamConfig {
10
+ name: string;
11
+ schema: StepSchemaInput;
12
+ baseConfig: {
13
+ storageType: 'default';
14
+ } | {
15
+ storageType: 'custom';
16
+ factory: () => MotiaStream<any>;
17
+ };
18
+ canAccess?: (subscription: StreamSubscription, authContext: any) => boolean | Promise<boolean>;
19
+ }
20
+ type StateStreamEventChannel = {
21
+ groupId: string;
22
+ id?: string;
23
+ };
24
+ type StateStreamEvent<TData> = {
25
+ type: string;
26
+ data: TData;
27
+ };
28
+ type BaseStreamItem<TData = unknown> = TData & {
29
+ id: string;
30
+ };
31
+ type Stream<TConfig extends StreamConfig = StreamConfig> = {
32
+ filePath: string;
33
+ config: TConfig;
34
+ hidden?: boolean;
35
+ factory: StreamFactory<unknown>;
36
+ };
37
+ interface MotiaStream<TData> {
38
+ get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
39
+ set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>>;
40
+ delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null>;
41
+ getGroup(groupId: string): Promise<BaseStreamItem<TData>[]>;
42
+ send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void>;
43
+ }
44
+ //#endregion
45
+ export { BaseStreamItem, MotiaStream, StateStreamEvent, StateStreamEventChannel, Stream, StreamConfig, StreamSubscription };
46
+ //# sourceMappingURL=types-stream.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-stream.d.mts","names":[],"sources":["../../src/types-stream.ts"],"sourcesContent":[],"mappings":";;;;KAGY,kBAAA;;EAAA,EAAA,CAAA,EAAA,MAAA;AAEZ,CAAA;AAEU,UAFO,YAAA,CAEP;EACyE,IAAA,EAAA,MAAA;EACtD,MAAA,EAFnB,eAEmB;EAAmD,UAAA,EAAA;IAAO,WAAA,EAAA,SAAA;EAG3E,CAAA,GAAA;IACA,WAAA,EAAA,QAAgB;IAEhB,OAAA,EAAA,GAAA,GAPuE,WAOzD,CAAA,GAAoB,CAAA;EAElC,CAAA;EAAuB,SAAA,CAAA,EAAA,CAAA,YAAA,EARN,kBAQM,EAAA,WAAA,EAAA,GAAA,EAAA,GAAA,OAAA,GAR6C,OAQ7C,CAAA,OAAA,CAAA;;AAEzB,KAPE,uBAAA,GAOF;EAEC,OAAA,EAAA,MAAA;EAAa,EAAA,CAAA,EAAA,MAAA;AAGxB,CAAA;AAC2D,KAZ/C,gBAY+C,CAAA,KAAA,CAAA,GAAA;EAAf,IAAA,EAAA,MAAA;EAAR,IAAA,EAZwB,KAYxB;CACK;AAA+B,KAX5D,cAW4D,CAAA,QAAA,OAAA,CAAA,GAX1B,KAW0B,GAAA;EAAf,EAAA,EAAA,MAAA;CAAR;AACa,KAVlD,MAUkD,CAAA,gBAV3B,YAU2B,GAVZ,YAUY,CAAA,GAAA;EAAf,QAAA,EAAA,MAAA;EAAR,MAAA,EAR7B,OAQ6B;EACa,MAAA,CAAA,EAAA,OAAA;EAAf,OAAA,EAP1B,aAO0B,CAAA,OAAA,CAAA;CAAR;AAEV,UANF,WAME,CAAA,KAAA,CAAA,CAAA;EAAiD,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EALhC,OAKgC,CALxB,cAKwB,CALT,KAKS,CAAA,GAAA,IAAA,CAAA;EAAjB,GAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,EAAA,IAAA,EAJV,KAIU,CAAA,EAJF,OAIE,CAJM,cAIN,CAJqB,KAIrB,CAAA,CAAA;EAAsB,MAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAHlC,OAGkC,CAH1B,cAG0B,CAHX,KAGW,CAAA,GAAA,IAAA,CAAA;EAAO,QAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAFnD,OAEmD,CAF3C,cAE2C,CAF5B,KAE4B,CAAA,EAAA,CAAA;mBAA7D,gCAAgC,iBAAiB,KAAK"}
@@ -0,0 +1,188 @@
1
+ import { Logger } from "./logger.mjs";
2
+ import { Tracer } from "./adapters/interfaces/observability-adapter.interface.mjs";
3
+ import "./observability/index.mjs";
4
+ import { JsonSchema } from "./types/schema.types.mjs";
5
+ import { AdapterConfig, Config, MotiaPlugin, MotiaPluginBuilder, StreamAuthConfig, StreamAuthRequest, WorkbenchPlugin } from "./types/app-config-types.mjs";
6
+ import { ZodArray, ZodObject } from "zod";
7
+
8
+ //#region src/types.d.ts
9
+ type ZodInput = ZodObject<any> | ZodArray<any>;
10
+ type StepSchemaInput = ZodInput | JsonSchema;
11
+ type InternalStateManager = {
12
+ get<T>(groupId: string, key: string): Promise<T | null>;
13
+ set<T>(groupId: string, key: string, value: T): Promise<T>;
14
+ delete<T>(groupId: string, key: string): Promise<T | null>;
15
+ getGroup<T>(groupId: string): Promise<T[]>;
16
+ clear(groupId: string): Promise<void>;
17
+ };
18
+ type EmitData = {
19
+ topic: '';
20
+ data: unknown;
21
+ messageGroupId?: string;
22
+ };
23
+ type Emitter<TData> = (event: TData) => Promise<void>;
24
+ interface FlowContextStateStreams {}
25
+ interface FlowContext<TEmitData = never> {
26
+ emit: Emitter<TEmitData>;
27
+ traceId: string;
28
+ state: InternalStateManager;
29
+ logger: Logger;
30
+ streams: FlowContextStateStreams;
31
+ }
32
+ type EventHandler<TInput, TEmitData> = (input: TInput, ctx: FlowContext<TEmitData>) => Promise<void>;
33
+ type Emit = string | {
34
+ topic: string;
35
+ label?: string;
36
+ conditional?: boolean;
37
+ };
38
+ type HandlerConfig = {
39
+ ram: number;
40
+ cpu?: number;
41
+ timeout: number;
42
+ };
43
+ type QueueConfig = {
44
+ type: 'fifo' | 'standard';
45
+ maxRetries: number;
46
+ visibilityTimeout: number;
47
+ delaySeconds: number;
48
+ };
49
+ type InfrastructureConfig = {
50
+ handler?: Partial<HandlerConfig>;
51
+ queue?: Partial<QueueConfig>;
52
+ };
53
+ type EventConfig = {
54
+ type: 'event';
55
+ name: string;
56
+ description?: string;
57
+ subscribes: string[];
58
+ emits: Emit[];
59
+ virtualEmits?: Emit[];
60
+ virtualSubscribes?: string[];
61
+ input?: StepSchemaInput;
62
+ flows?: string[];
63
+ /**
64
+ * Files to include in the step bundle.
65
+ * Needs to be relative to the step file.
66
+ */
67
+ includeFiles?: string[];
68
+ infrastructure?: Partial<InfrastructureConfig>;
69
+ };
70
+ type NoopConfig = {
71
+ type: 'noop';
72
+ name: string;
73
+ description?: string;
74
+ virtualEmits: Emit[];
75
+ virtualSubscribes: string[];
76
+ flows?: string[];
77
+ };
78
+ type ApiRouteMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD';
79
+ type ApiMiddleware<TBody = unknown, TEmitData = never, TResult = unknown> = (req: ApiRequest<TBody>, ctx: FlowContext<TEmitData>, next: () => Promise<ApiResponse<number, TResult>>) => Promise<ApiResponse<number, TResult>>;
80
+ interface QueryParam {
81
+ name: string;
82
+ description: string;
83
+ }
84
+ interface ApiRouteConfig {
85
+ type: 'api';
86
+ name: string;
87
+ description?: string;
88
+ path: string;
89
+ method: ApiRouteMethod;
90
+ emits: Emit[];
91
+ virtualEmits?: Emit[];
92
+ virtualSubscribes?: string[];
93
+ flows?: string[];
94
+ middleware?: ApiMiddleware<any, any, any>[];
95
+ bodySchema?: StepSchemaInput;
96
+ responseSchema?: Record<number, StepSchemaInput>;
97
+ queryParams?: QueryParam[];
98
+ /**
99
+ * Files to include in the step bundle.
100
+ * Needs to be relative to the step file.
101
+ */
102
+ includeFiles?: string[];
103
+ }
104
+ interface ApiRequest<TBody = unknown> {
105
+ pathParams: Record<string, string>;
106
+ queryParams: Record<string, string | string[]>;
107
+ body: TBody;
108
+ headers: Record<string, string | string[]>;
109
+ }
110
+ type ApiResponse<TStatus extends number = number, TBody = string | Buffer | Record<string, unknown>> = {
111
+ status: TStatus;
112
+ headers?: Record<string, string>;
113
+ body: TBody;
114
+ };
115
+ type ApiRouteHandler<TRequestBody = unknown, TResponseBody extends ApiResponse<number, unknown> = ApiResponse<number, unknown>, TEmitData = never> = (req: ApiRequest<TRequestBody>, ctx: FlowContext<TEmitData>) => Promise<TResponseBody>;
116
+ type CronConfig = {
117
+ type: 'cron';
118
+ name: string;
119
+ description?: string;
120
+ cron: string;
121
+ virtualEmits?: Emit[];
122
+ virtualSubscribes?: string[];
123
+ emits: Emit[];
124
+ flows?: string[];
125
+ /**
126
+ * Files to include in the step bundle.
127
+ * Needs to be relative to the step file.
128
+ */
129
+ includeFiles?: string[];
130
+ };
131
+ type CronHandler<TEmitData = never> = (ctx: FlowContext<TEmitData>) => Promise<void>;
132
+ /**
133
+ * @deprecated Use `Handlers` instead.
134
+ */
135
+ type StepHandler<T> = T extends EventConfig ? EventHandler<unknown, {
136
+ topic: string;
137
+ data: any;
138
+ }> : T extends ApiRouteConfig ? ApiRouteHandler<any, ApiResponse<number, any>, {
139
+ topic: string;
140
+ data: any;
141
+ }> : T extends CronConfig ? CronHandler<{
142
+ topic: string;
143
+ data: any;
144
+ }> : never;
145
+ type Event<TData = unknown> = {
146
+ topic: string;
147
+ data: TData;
148
+ traceId: string;
149
+ flows?: string[];
150
+ logger: Logger;
151
+ tracer: Tracer;
152
+ messageGroupId?: string;
153
+ };
154
+ type Handler<TData = unknown> = (event: Event<TData>) => Promise<void>;
155
+ type SubscribeConfig<TData> = {
156
+ event: string;
157
+ handlerName: string;
158
+ filePath: string;
159
+ handler: Handler<TData>;
160
+ };
161
+ type UnsubscribeConfig = {
162
+ filePath: string;
163
+ event: string;
164
+ };
165
+ type StepConfig = EventConfig | NoopConfig | ApiRouteConfig | CronConfig;
166
+ type Step<TConfig extends StepConfig = StepConfig> = {
167
+ filePath: string;
168
+ version: string;
169
+ config: TConfig;
170
+ };
171
+ type PluginStep<TConfig extends StepConfig = ApiRouteConfig> = Step<TConfig> & {
172
+ handler?: ApiRouteHandler<any, any, any>;
173
+ };
174
+ type Flow = {
175
+ name: string;
176
+ description?: string;
177
+ steps: Step[];
178
+ };
179
+ interface Handlers {}
180
+ declare module 'http' {
181
+ interface IncomingMessage {
182
+ authContext?: unknown | null;
183
+ }
184
+ }
185
+ //# sourceMappingURL=types.d.ts.map
186
+ //#endregion
187
+ export { ApiMiddleware, ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteHandler, ApiRouteMethod, CronConfig, CronHandler, Emit, EmitData, Emitter, Event, EventConfig, EventHandler, Flow, FlowContext, FlowContextStateStreams, Handler, HandlerConfig, Handlers, InfrastructureConfig, InternalStateManager, NoopConfig, PluginStep, QueryParam, QueueConfig, Step, StepConfig, StepHandler, StepSchemaInput, SubscribeConfig, UnsubscribeConfig, ZodInput };
188
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":"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"}