@mantajs/core 0.1.6 → 0.2.0-beta.0

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 (564) hide show
  1. package/dist/adapters/auth-mock.d.ts +44 -0
  2. package/dist/adapters/auth-mock.d.ts.map +1 -0
  3. package/dist/adapters/auth-mock.js +160 -0
  4. package/dist/adapters/auth-mock.js.map +1 -0
  5. package/dist/adapters/cache-memory.d.ts +11 -0
  6. package/dist/adapters/cache-memory.d.ts.map +1 -0
  7. package/dist/adapters/cache-memory.js +32 -0
  8. package/dist/adapters/cache-memory.js.map +1 -0
  9. package/dist/adapters/database-memory.d.ts +24 -0
  10. package/dist/adapters/database-memory.d.ts.map +1 -0
  11. package/dist/adapters/database-memory.js +141 -0
  12. package/dist/adapters/database-memory.js.map +1 -0
  13. package/dist/adapters/eventbus-memory.d.ts +37 -0
  14. package/dist/adapters/eventbus-memory.d.ts.map +1 -0
  15. package/dist/adapters/eventbus-memory.js +166 -0
  16. package/dist/adapters/eventbus-memory.js.map +1 -0
  17. package/dist/adapters/file-memory.d.ts +24 -0
  18. package/dist/adapters/file-memory.d.ts.map +1 -0
  19. package/dist/adapters/file-memory.js +77 -0
  20. package/dist/adapters/file-memory.js.map +1 -0
  21. package/dist/adapters/http-memory.d.ts +23 -0
  22. package/dist/adapters/http-memory.d.ts.map +1 -0
  23. package/dist/adapters/http-memory.js +149 -0
  24. package/dist/adapters/http-memory.js.map +1 -0
  25. package/dist/adapters/index.d.ts +14 -0
  26. package/dist/adapters/index.d.ts.map +1 -0
  27. package/dist/adapters/index.js +15 -0
  28. package/dist/adapters/index.js.map +1 -0
  29. package/dist/adapters/job-scheduler-memory.d.ts +20 -0
  30. package/dist/adapters/job-scheduler-memory.d.ts.map +1 -0
  31. package/dist/adapters/job-scheduler-memory.js +103 -0
  32. package/dist/adapters/job-scheduler-memory.js.map +1 -0
  33. package/dist/adapters/locking-memory.d.ts +20 -0
  34. package/dist/adapters/locking-memory.d.ts.map +1 -0
  35. package/dist/adapters/locking-memory.js +85 -0
  36. package/dist/adapters/locking-memory.js.map +1 -0
  37. package/dist/adapters/logger-test.d.ts +30 -0
  38. package/dist/adapters/logger-test.d.ts.map +1 -0
  39. package/dist/adapters/logger-test.js +77 -0
  40. package/dist/adapters/logger-test.js.map +1 -0
  41. package/dist/adapters/notification-memory.d.ts +27 -0
  42. package/dist/adapters/notification-memory.d.ts.map +1 -0
  43. package/dist/adapters/notification-memory.js +69 -0
  44. package/dist/adapters/notification-memory.js.map +1 -0
  45. package/dist/adapters/relational-query-memory.d.ts +47 -0
  46. package/dist/adapters/relational-query-memory.d.ts.map +1 -0
  47. package/dist/adapters/relational-query-memory.js +263 -0
  48. package/dist/adapters/relational-query-memory.js.map +1 -0
  49. package/dist/adapters/repository-factory-memory.d.ts +17 -0
  50. package/dist/adapters/repository-factory-memory.d.ts.map +1 -0
  51. package/dist/adapters/repository-factory-memory.js +32 -0
  52. package/dist/adapters/repository-factory-memory.js.map +1 -0
  53. package/dist/adapters/repository-memory.d.ts +30 -0
  54. package/dist/adapters/repository-memory.d.ts.map +1 -0
  55. package/dist/adapters/repository-memory.js +183 -0
  56. package/dist/adapters/repository-memory.js.map +1 -0
  57. package/dist/ai/index.d.ts +53 -0
  58. package/dist/ai/index.d.ts.map +1 -0
  59. package/dist/ai/index.js +48 -0
  60. package/dist/ai/index.js.map +1 -0
  61. package/dist/app/index.d.ts +97 -0
  62. package/dist/app/index.d.ts.map +1 -0
  63. package/dist/app/index.js +217 -0
  64. package/dist/app/index.js.map +1 -0
  65. package/dist/app/request-context.d.ts +35 -0
  66. package/dist/app/request-context.d.ts.map +1 -0
  67. package/dist/app/request-context.js +32 -0
  68. package/dist/app/request-context.js.map +1 -0
  69. package/dist/auth/auth-module-service.d.ts +62 -0
  70. package/dist/auth/auth-module-service.d.ts.map +1 -0
  71. package/dist/auth/auth-module-service.js +210 -0
  72. package/dist/auth/auth-module-service.js.map +1 -0
  73. package/dist/auth/index.d.ts +7 -0
  74. package/dist/auth/index.d.ts.map +1 -0
  75. package/dist/auth/index.js +5 -0
  76. package/dist/auth/index.js.map +1 -0
  77. package/dist/auth/middleware.d.ts +19 -0
  78. package/dist/auth/middleware.d.ts.map +1 -0
  79. package/dist/auth/middleware.js +61 -0
  80. package/dist/auth/middleware.js.map +1 -0
  81. package/dist/auth/models/auth-identity.d.ts +11 -0
  82. package/dist/auth/models/auth-identity.d.ts.map +1 -0
  83. package/dist/auth/models/auth-identity.js +12 -0
  84. package/dist/auth/models/auth-identity.js.map +1 -0
  85. package/dist/auth/providers/emailpass.d.ts +7 -0
  86. package/dist/auth/providers/emailpass.d.ts.map +1 -0
  87. package/dist/auth/providers/emailpass.js +94 -0
  88. package/dist/auth/providers/emailpass.js.map +1 -0
  89. package/dist/auth/providers/types.d.ts +66 -0
  90. package/dist/auth/providers/types.d.ts.map +1 -0
  91. package/dist/auth/providers/types.js +3 -0
  92. package/dist/auth/providers/types.js.map +1 -0
  93. package/dist/auth/types.d.ts +36 -0
  94. package/dist/auth/types.d.ts.map +1 -0
  95. package/dist/auth/types.js +3 -0
  96. package/dist/auth/types.js.map +1 -0
  97. package/dist/command/define-command-graph.d.ts +63 -0
  98. package/dist/command/define-command-graph.d.ts.map +1 -0
  99. package/dist/command/define-command-graph.js +80 -0
  100. package/dist/command/define-command-graph.js.map +1 -0
  101. package/dist/command/dml-to-zod.d.ts +34 -0
  102. package/dist/command/dml-to-zod.d.ts.map +1 -0
  103. package/dist/command/dml-to-zod.js +140 -0
  104. package/dist/command/dml-to-zod.js.map +1 -0
  105. package/dist/command/generate-entity-commands.d.ts +68 -0
  106. package/dist/command/generate-entity-commands.d.ts.map +1 -0
  107. package/dist/command/generate-entity-commands.js +350 -0
  108. package/dist/command/generate-entity-commands.js.map +1 -0
  109. package/dist/command/index.d.ts +54 -0
  110. package/dist/command/index.d.ts.map +1 -0
  111. package/dist/command/index.js +338 -0
  112. package/dist/command/index.js.map +1 -0
  113. package/dist/command/types.d.ts +131 -0
  114. package/dist/command/types.d.ts.map +1 -0
  115. package/dist/command/types.js +2 -0
  116. package/dist/command/types.js.map +1 -0
  117. package/dist/config/built-in-presets.d.ts +20 -0
  118. package/dist/config/built-in-presets.d.ts.map +1 -0
  119. package/dist/config/built-in-presets.js +70 -0
  120. package/dist/config/built-in-presets.js.map +1 -0
  121. package/dist/config/config-manager.d.ts +117 -0
  122. package/dist/config/config-manager.d.ts.map +1 -0
  123. package/dist/config/config-manager.js +245 -0
  124. package/dist/config/config-manager.js.map +1 -0
  125. package/dist/config/define-config.d.ts +20 -0
  126. package/dist/config/define-config.d.ts.map +1 -0
  127. package/dist/config/define-config.js +64 -0
  128. package/dist/config/define-config.js.map +1 -0
  129. package/dist/config/feature-flags.d.ts +48 -0
  130. package/dist/config/feature-flags.d.ts.map +1 -0
  131. package/dist/config/feature-flags.js +97 -0
  132. package/dist/config/feature-flags.js.map +1 -0
  133. package/dist/config/index.d.ts +9 -0
  134. package/dist/config/index.d.ts.map +1 -0
  135. package/dist/config/index.js +8 -0
  136. package/dist/config/index.js.map +1 -0
  137. package/dist/config/presets.d.ts +38 -0
  138. package/dist/config/presets.d.ts.map +1 -0
  139. package/dist/config/presets.js +29 -0
  140. package/dist/config/presets.js.map +1 -0
  141. package/dist/config/types.d.ts +707 -0
  142. package/dist/config/types.d.ts.map +1 -0
  143. package/dist/config/types.js +112 -0
  144. package/dist/config/types.js.map +1 -0
  145. package/dist/context/index.d.ts +95 -0
  146. package/dist/context/index.d.ts.map +1 -0
  147. package/dist/context/index.js +26 -0
  148. package/dist/context/index.js.map +1 -0
  149. package/dist/context/registry.d.ts +32 -0
  150. package/dist/context/registry.d.ts.map +1 -0
  151. package/dist/context/registry.js +142 -0
  152. package/dist/context/registry.js.map +1 -0
  153. package/dist/db/index.d.ts +2 -0
  154. package/dist/db/index.d.ts.map +1 -0
  155. package/dist/db/index.js +4 -0
  156. package/dist/db/index.js.map +1 -0
  157. package/dist/db/schema.d.ts +839 -0
  158. package/dist/db/schema.d.ts.map +1 -0
  159. package/dist/db/schema.js +106 -0
  160. package/dist/db/schema.js.map +1 -0
  161. package/dist/dml/entity.d.ts +132 -0
  162. package/dist/dml/entity.d.ts.map +1 -0
  163. package/dist/dml/entity.js +110 -0
  164. package/dist/dml/entity.js.map +1 -0
  165. package/dist/dml/from-zod.d.ts +13 -0
  166. package/dist/dml/from-zod.d.ts.map +1 -0
  167. package/dist/dml/from-zod.js +81 -0
  168. package/dist/dml/from-zod.js.map +1 -0
  169. package/dist/dml/generator/index.d.ts +62 -0
  170. package/dist/dml/generator/index.d.ts.map +1 -0
  171. package/dist/dml/generator/index.js +208 -0
  172. package/dist/dml/generator/index.js.map +1 -0
  173. package/dist/dml/index.d.ts +11 -0
  174. package/dist/dml/index.d.ts.map +1 -0
  175. package/dist/dml/index.js +13 -0
  176. package/dist/dml/index.js.map +1 -0
  177. package/dist/dml/infer.d.ts +36 -0
  178. package/dist/dml/infer.d.ts.map +1 -0
  179. package/dist/dml/infer.js +5 -0
  180. package/dist/dml/infer.js.map +1 -0
  181. package/dist/dml/model.d.ts +58 -0
  182. package/dist/dml/model.d.ts.map +1 -0
  183. package/dist/dml/model.js +95 -0
  184. package/dist/dml/model.js.map +1 -0
  185. package/dist/dml/modifiers.d.ts +9 -0
  186. package/dist/dml/modifiers.d.ts.map +1 -0
  187. package/dist/dml/modifiers.js +25 -0
  188. package/dist/dml/modifiers.js.map +1 -0
  189. package/dist/dml/properties/array.d.ts +7 -0
  190. package/dist/dml/properties/array.d.ts.map +1 -0
  191. package/dist/dml/properties/array.js +5 -0
  192. package/dist/dml/properties/array.js.map +1 -0
  193. package/dist/dml/properties/autoincrement.d.ts +7 -0
  194. package/dist/dml/properties/autoincrement.d.ts.map +1 -0
  195. package/dist/dml/properties/autoincrement.js +5 -0
  196. package/dist/dml/properties/autoincrement.js.map +1 -0
  197. package/dist/dml/properties/base.d.ts +124 -0
  198. package/dist/dml/properties/base.d.ts.map +1 -0
  199. package/dist/dml/properties/base.js +76 -0
  200. package/dist/dml/properties/base.js.map +1 -0
  201. package/dist/dml/properties/big-number.d.ts +7 -0
  202. package/dist/dml/properties/big-number.d.ts.map +1 -0
  203. package/dist/dml/properties/big-number.js +5 -0
  204. package/dist/dml/properties/big-number.js.map +1 -0
  205. package/dist/dml/properties/boolean.d.ts +7 -0
  206. package/dist/dml/properties/boolean.d.ts.map +1 -0
  207. package/dist/dml/properties/boolean.js +5 -0
  208. package/dist/dml/properties/boolean.js.map +1 -0
  209. package/dist/dml/properties/computed.d.ts +9 -0
  210. package/dist/dml/properties/computed.d.ts.map +1 -0
  211. package/dist/dml/properties/computed.js +22 -0
  212. package/dist/dml/properties/computed.js.map +1 -0
  213. package/dist/dml/properties/date-time.d.ts +7 -0
  214. package/dist/dml/properties/date-time.d.ts.map +1 -0
  215. package/dist/dml/properties/date-time.js +5 -0
  216. package/dist/dml/properties/date-time.js.map +1 -0
  217. package/dist/dml/properties/enum.d.ts +12 -0
  218. package/dist/dml/properties/enum.d.ts.map +1 -0
  219. package/dist/dml/properties/enum.js +14 -0
  220. package/dist/dml/properties/enum.js.map +1 -0
  221. package/dist/dml/properties/float.d.ts +7 -0
  222. package/dist/dml/properties/float.d.ts.map +1 -0
  223. package/dist/dml/properties/float.js +5 -0
  224. package/dist/dml/properties/float.js.map +1 -0
  225. package/dist/dml/properties/index.d.ts +15 -0
  226. package/dist/dml/properties/index.d.ts.map +1 -0
  227. package/dist/dml/properties/index.js +15 -0
  228. package/dist/dml/properties/index.js.map +1 -0
  229. package/dist/dml/properties/json.d.ts +7 -0
  230. package/dist/dml/properties/json.d.ts.map +1 -0
  231. package/dist/dml/properties/json.js +6 -0
  232. package/dist/dml/properties/json.js.map +1 -0
  233. package/dist/dml/properties/nullable.d.ts +23 -0
  234. package/dist/dml/properties/nullable.d.ts.map +1 -0
  235. package/dist/dml/properties/nullable.js +46 -0
  236. package/dist/dml/properties/nullable.js.map +1 -0
  237. package/dist/dml/properties/number.d.ts +10 -0
  238. package/dist/dml/properties/number.d.ts.map +1 -0
  239. package/dist/dml/properties/number.js +13 -0
  240. package/dist/dml/properties/number.js.map +1 -0
  241. package/dist/dml/properties/primary-key.d.ts +14 -0
  242. package/dist/dml/properties/primary-key.d.ts.map +1 -0
  243. package/dist/dml/properties/primary-key.js +23 -0
  244. package/dist/dml/properties/primary-key.js.map +1 -0
  245. package/dist/dml/properties/text.d.ts +15 -0
  246. package/dist/dml/properties/text.d.ts.map +1 -0
  247. package/dist/dml/properties/text.js +19 -0
  248. package/dist/dml/properties/text.js.map +1 -0
  249. package/dist/dml/relations/belongs-to.d.ts +20 -0
  250. package/dist/dml/relations/belongs-to.d.ts.map +1 -0
  251. package/dist/dml/relations/belongs-to.js +29 -0
  252. package/dist/dml/relations/belongs-to.js.map +1 -0
  253. package/dist/dml/relations/has-many.d.ts +16 -0
  254. package/dist/dml/relations/has-many.d.ts.map +1 -0
  255. package/dist/dml/relations/has-many.js +25 -0
  256. package/dist/dml/relations/has-many.js.map +1 -0
  257. package/dist/dml/relations/has-one.d.ts +26 -0
  258. package/dist/dml/relations/has-one.d.ts.map +1 -0
  259. package/dist/dml/relations/has-one.js +46 -0
  260. package/dist/dml/relations/has-one.js.map +1 -0
  261. package/dist/dml/relations/many-to-many.d.ts +9 -0
  262. package/dist/dml/relations/many-to-many.d.ts.map +1 -0
  263. package/dist/dml/relations/many-to-many.js +11 -0
  264. package/dist/dml/relations/many-to-many.js.map +1 -0
  265. package/dist/errors/manta-error.d.ts +68 -0
  266. package/dist/errors/manta-error.d.ts.map +1 -0
  267. package/dist/errors/manta-error.js +80 -0
  268. package/dist/errors/manta-error.js.map +1 -0
  269. package/dist/events/index.d.ts +3 -0
  270. package/dist/events/index.d.ts.map +1 -0
  271. package/dist/events/index.js +3 -0
  272. package/dist/events/index.js.map +1 -0
  273. package/dist/events/message-aggregator.d.ts +25 -0
  274. package/dist/events/message-aggregator.d.ts.map +1 -0
  275. package/dist/events/message-aggregator.js +35 -0
  276. package/dist/events/message-aggregator.js.map +1 -0
  277. package/dist/events/types.d.ts +42 -0
  278. package/dist/events/types.d.ts.map +1 -0
  279. package/dist/events/types.js +3 -0
  280. package/dist/events/types.js.map +1 -0
  281. package/dist/index.d.ts +55 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +53 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/job/index.d.ts +52 -0
  286. package/dist/job/index.d.ts.map +1 -0
  287. package/dist/job/index.js +31 -0
  288. package/dist/job/index.js.map +1 -0
  289. package/dist/link/index.d.ts +97 -0
  290. package/dist/link/index.d.ts.map +1 -0
  291. package/dist/link/index.js +185 -0
  292. package/dist/link/index.js.map +1 -0
  293. package/dist/middleware/define-middleware.d.ts +54 -0
  294. package/dist/middleware/define-middleware.d.ts.map +1 -0
  295. package/dist/middleware/define-middleware.js +40 -0
  296. package/dist/middleware/define-middleware.js.map +1 -0
  297. package/dist/middleware/index.d.ts +56 -0
  298. package/dist/middleware/index.d.ts.map +1 -0
  299. package/dist/middleware/index.js +50 -0
  300. package/dist/middleware/index.js.map +1 -0
  301. package/dist/module/index.d.ts +56 -0
  302. package/dist/module/index.d.ts.map +1 -0
  303. package/dist/module/index.js +52 -0
  304. package/dist/module/index.js.map +1 -0
  305. package/dist/module/versioning.d.ts +27 -0
  306. package/dist/module/versioning.d.ts.map +1 -0
  307. package/dist/module/versioning.js +64 -0
  308. package/dist/module/versioning.js.map +1 -0
  309. package/dist/naming.d.ts +39 -0
  310. package/dist/naming.d.ts.map +1 -0
  311. package/dist/naming.js +95 -0
  312. package/dist/naming.js.map +1 -0
  313. package/dist/ports/analytics.d.ts +7 -0
  314. package/dist/ports/analytics.d.ts.map +1 -0
  315. package/dist/ports/analytics.js +3 -0
  316. package/dist/ports/analytics.js.map +1 -0
  317. package/dist/ports/auth.d.ts +27 -0
  318. package/dist/ports/auth.d.ts.map +1 -0
  319. package/dist/ports/auth.js +3 -0
  320. package/dist/ports/auth.js.map +1 -0
  321. package/dist/ports/cache.d.ts +35 -0
  322. package/dist/ports/cache.d.ts.map +1 -0
  323. package/dist/ports/cache.js +3 -0
  324. package/dist/ports/cache.js.map +1 -0
  325. package/dist/ports/database.d.ts +40 -0
  326. package/dist/ports/database.d.ts.map +1 -0
  327. package/dist/ports/database.js +3 -0
  328. package/dist/ports/database.js.map +1 -0
  329. package/dist/ports/event-bus.d.ts +85 -0
  330. package/dist/ports/event-bus.d.ts.map +1 -0
  331. package/dist/ports/event-bus.js +3 -0
  332. package/dist/ports/event-bus.js.map +1 -0
  333. package/dist/ports/file.d.ts +62 -0
  334. package/dist/ports/file.d.ts.map +1 -0
  335. package/dist/ports/file.js +3 -0
  336. package/dist/ports/file.js.map +1 -0
  337. package/dist/ports/http.d.ts +20 -0
  338. package/dist/ports/http.d.ts.map +1 -0
  339. package/dist/ports/http.js +3 -0
  340. package/dist/ports/http.js.map +1 -0
  341. package/dist/ports/in-memory-progress-channel.d.ts +9 -0
  342. package/dist/ports/in-memory-progress-channel.d.ts.map +1 -0
  343. package/dist/ports/in-memory-progress-channel.js +19 -0
  344. package/dist/ports/in-memory-progress-channel.js.map +1 -0
  345. package/dist/ports/in-memory-queue.d.ts +24 -0
  346. package/dist/ports/in-memory-queue.d.ts.map +1 -0
  347. package/dist/ports/in-memory-queue.js +63 -0
  348. package/dist/ports/in-memory-queue.js.map +1 -0
  349. package/dist/ports/index.d.ts +27 -0
  350. package/dist/ports/index.d.ts.map +1 -0
  351. package/dist/ports/index.js +6 -0
  352. package/dist/ports/index.js.map +1 -0
  353. package/dist/ports/job-scheduler.d.ts +42 -0
  354. package/dist/ports/job-scheduler.d.ts.map +1 -0
  355. package/dist/ports/job-scheduler.js +3 -0
  356. package/dist/ports/job-scheduler.js.map +1 -0
  357. package/dist/ports/locking.d.ts +43 -0
  358. package/dist/ports/locking.d.ts.map +1 -0
  359. package/dist/ports/locking.js +3 -0
  360. package/dist/ports/locking.js.map +1 -0
  361. package/dist/ports/logger.d.ts +65 -0
  362. package/dist/ports/logger.d.ts.map +1 -0
  363. package/dist/ports/logger.js +3 -0
  364. package/dist/ports/logger.js.map +1 -0
  365. package/dist/ports/notification.d.ts +71 -0
  366. package/dist/ports/notification.d.ts.map +1 -0
  367. package/dist/ports/notification.js +3 -0
  368. package/dist/ports/notification.js.map +1 -0
  369. package/dist/ports/progress-channel.d.ts +46 -0
  370. package/dist/ports/progress-channel.d.ts.map +1 -0
  371. package/dist/ports/progress-channel.js +6 -0
  372. package/dist/ports/progress-channel.js.map +1 -0
  373. package/dist/ports/queue.d.ts +21 -0
  374. package/dist/ports/queue.d.ts.map +1 -0
  375. package/dist/ports/queue.js +15 -0
  376. package/dist/ports/queue.js.map +1 -0
  377. package/dist/ports/relational-query.d.ts +37 -0
  378. package/dist/ports/relational-query.d.ts.map +1 -0
  379. package/dist/ports/relational-query.js +3 -0
  380. package/dist/ports/relational-query.js.map +1 -0
  381. package/dist/ports/repository-factory.d.ts +21 -0
  382. package/dist/ports/repository-factory.d.ts.map +1 -0
  383. package/dist/ports/repository-factory.js +4 -0
  384. package/dist/ports/repository-factory.js.map +1 -0
  385. package/dist/ports/repository.d.ts +73 -0
  386. package/dist/ports/repository.d.ts.map +1 -0
  387. package/dist/ports/repository.js +3 -0
  388. package/dist/ports/repository.js.map +1 -0
  389. package/dist/ports/schema-generator.d.ts +15 -0
  390. package/dist/ports/schema-generator.d.ts.map +1 -0
  391. package/dist/ports/schema-generator.js +4 -0
  392. package/dist/ports/schema-generator.js.map +1 -0
  393. package/dist/ports/search.d.ts +7 -0
  394. package/dist/ports/search.d.ts.map +1 -0
  395. package/dist/ports/search.js +3 -0
  396. package/dist/ports/search.js.map +1 -0
  397. package/dist/ports/types.d.ts +112 -0
  398. package/dist/ports/types.d.ts.map +1 -0
  399. package/dist/ports/types.js +26 -0
  400. package/dist/ports/types.js.map +1 -0
  401. package/dist/ports/workflow-store.d.ts +111 -0
  402. package/dist/ports/workflow-store.d.ts.map +1 -0
  403. package/dist/ports/workflow-store.js +5 -0
  404. package/dist/ports/workflow-store.js.map +1 -0
  405. package/dist/query/define-query-graph.d.ts +55 -0
  406. package/dist/query/define-query-graph.d.ts.map +1 -0
  407. package/dist/query/define-query-graph.js +59 -0
  408. package/dist/query/define-query-graph.js.map +1 -0
  409. package/dist/query/define-query.d.ts +79 -0
  410. package/dist/query/define-query.d.ts.map +1 -0
  411. package/dist/query/define-query.js +77 -0
  412. package/dist/query/define-query.js.map +1 -0
  413. package/dist/query/extend-query-graph.d.ts +36 -0
  414. package/dist/query/extend-query-graph.d.ts.map +1 -0
  415. package/dist/query/extend-query-graph.js +34 -0
  416. package/dist/query/extend-query-graph.js.map +1 -0
  417. package/dist/query/index.d.ts +181 -0
  418. package/dist/query/index.d.ts.map +1 -0
  419. package/dist/query/index.js +288 -0
  420. package/dist/query/index.js.map +1 -0
  421. package/dist/service/define.d.ts +97 -0
  422. package/dist/service/define.d.ts.map +1 -0
  423. package/dist/service/define.js +45 -0
  424. package/dist/service/define.js.map +1 -0
  425. package/dist/service/index.d.ts +52 -0
  426. package/dist/service/index.d.ts.map +1 -0
  427. package/dist/service/index.js +281 -0
  428. package/dist/service/index.js.map +1 -0
  429. package/dist/service/instantiate.d.ts +15 -0
  430. package/dist/service/instantiate.d.ts.map +1 -0
  431. package/dist/service/instantiate.js +143 -0
  432. package/dist/service/instantiate.js.map +1 -0
  433. package/dist/service/snapshot-repository.d.ts +31 -0
  434. package/dist/service/snapshot-repository.d.ts.map +1 -0
  435. package/dist/service/snapshot-repository.js +114 -0
  436. package/dist/service/snapshot-repository.js.map +1 -0
  437. package/dist/service/types.d.ts +39 -0
  438. package/dist/service/types.d.ts.map +1 -0
  439. package/dist/service/types.js +3 -0
  440. package/dist/service/types.js.map +1 -0
  441. package/dist/strict-mode/index.d.ts +42 -0
  442. package/dist/strict-mode/index.d.ts.map +1 -0
  443. package/dist/strict-mode/index.js +84 -0
  444. package/dist/strict-mode/index.js.map +1 -0
  445. package/dist/subscriber/index.d.ts +117 -0
  446. package/dist/subscriber/index.d.ts.map +1 -0
  447. package/dist/subscriber/index.js +76 -0
  448. package/dist/subscriber/index.js.map +1 -0
  449. package/dist/testing/relational-query-suite.d.ts +22 -0
  450. package/dist/testing/relational-query-suite.d.ts.map +1 -0
  451. package/dist/testing/relational-query-suite.js +233 -0
  452. package/dist/testing/relational-query-suite.js.map +1 -0
  453. package/dist/user/auto-routes.d.ts +32 -0
  454. package/dist/user/auto-routes.d.ts.map +1 -0
  455. package/dist/user/auto-routes.js +424 -0
  456. package/dist/user/auto-routes.js.map +1 -0
  457. package/dist/user/define-user.d.ts +54 -0
  458. package/dist/user/define-user.d.ts.map +1 -0
  459. package/dist/user/define-user.js +103 -0
  460. package/dist/user/define-user.js.map +1 -0
  461. package/dist/user/index.d.ts +7 -0
  462. package/dist/user/index.d.ts.map +1 -0
  463. package/dist/user/index.js +5 -0
  464. package/dist/user/index.js.map +1 -0
  465. package/dist/user/models/user.d.ts +15 -0
  466. package/dist/user/models/user.d.ts.map +1 -0
  467. package/dist/user/models/user.js +16 -0
  468. package/dist/user/models/user.js.map +1 -0
  469. package/dist/user/user-module-service.d.ts +55 -0
  470. package/dist/user/user-module-service.d.ts.map +1 -0
  471. package/dist/user/user-module-service.js +100 -0
  472. package/dist/user/user-module-service.js.map +1 -0
  473. package/dist/workflows/ai-step.d.ts +2 -0
  474. package/dist/workflows/ai-step.d.ts.map +1 -0
  475. package/dist/workflows/ai-step.js +54 -0
  476. package/dist/workflows/ai-step.js.map +1 -0
  477. package/dist/workflows/create-step.d.ts +16 -0
  478. package/dist/workflows/create-step.d.ts.map +1 -0
  479. package/dist/workflows/create-step.js +194 -0
  480. package/dist/workflows/create-step.js.map +1 -0
  481. package/dist/workflows/create-workflow.d.ts +16 -0
  482. package/dist/workflows/create-workflow.d.ts.map +1 -0
  483. package/dist/workflows/create-workflow.js +21 -0
  484. package/dist/workflows/create-workflow.js.map +1 -0
  485. package/dist/workflows/define-workflow.d.ts +55 -0
  486. package/dist/workflows/define-workflow.d.ts.map +1 -0
  487. package/dist/workflows/define-workflow.js +72 -0
  488. package/dist/workflows/define-workflow.js.map +1 -0
  489. package/dist/workflows/emit-event-step.d.ts +17 -0
  490. package/dist/workflows/emit-event-step.d.ts.map +1 -0
  491. package/dist/workflows/emit-event-step.js +46 -0
  492. package/dist/workflows/emit-event-step.js.map +1 -0
  493. package/dist/workflows/for-each.d.ts +6 -0
  494. package/dist/workflows/for-each.d.ts.map +1 -0
  495. package/dist/workflows/for-each.js +79 -0
  496. package/dist/workflows/for-each.js.map +1 -0
  497. package/dist/workflows/index.d.ts +15 -0
  498. package/dist/workflows/index.d.ts.map +1 -0
  499. package/dist/workflows/index.js +12 -0
  500. package/dist/workflows/index.js.map +1 -0
  501. package/dist/workflows/manager.d.ts +99 -0
  502. package/dist/workflows/manager.d.ts.map +1 -0
  503. package/dist/workflows/manager.js +450 -0
  504. package/dist/workflows/manager.js.map +1 -0
  505. package/dist/workflows/orphan-reaper.d.ts +50 -0
  506. package/dist/workflows/orphan-reaper.d.ts.map +1 -0
  507. package/dist/workflows/orphan-reaper.js +69 -0
  508. package/dist/workflows/orphan-reaper.js.map +1 -0
  509. package/dist/workflows/progress-helper.d.ts +20 -0
  510. package/dist/workflows/progress-helper.d.ts.map +1 -0
  511. package/dist/workflows/progress-helper.js +48 -0
  512. package/dist/workflows/progress-helper.js.map +1 -0
  513. package/dist/workflows/step.d.ts +103 -0
  514. package/dist/workflows/step.d.ts.map +1 -0
  515. package/dist/workflows/step.js +949 -0
  516. package/dist/workflows/step.js.map +1 -0
  517. package/dist/workflows/types.d.ts +215 -0
  518. package/dist/workflows/types.d.ts.map +1 -0
  519. package/dist/workflows/types.js +9 -0
  520. package/dist/workflows/types.js.map +1 -0
  521. package/dist/workflows/yield.d.ts +12 -0
  522. package/dist/workflows/yield.d.ts.map +1 -0
  523. package/dist/workflows/yield.js +29 -0
  524. package/dist/workflows/yield.js.map +1 -0
  525. package/docs/00-overview.md +254 -0
  526. package/docs/01-getting-started.md +224 -0
  527. package/docs/02-models.md +163 -0
  528. package/docs/03-services.md +208 -0
  529. package/docs/04-users.md +165 -0
  530. package/docs/05-commands.md +501 -0
  531. package/docs/06-queries.md +342 -0
  532. package/docs/07-events.md +248 -0
  533. package/docs/08-links.md +182 -0
  534. package/docs/09-agents.md +142 -0
  535. package/docs/10-spa.md +327 -0
  536. package/docs/11-config.md +481 -0
  537. package/docs/12-constraints.md +183 -0
  538. package/docs/13-testing.md +345 -0
  539. package/docs/14-adapters.md +204 -0
  540. package/docs/15-hosts.md +163 -0
  541. package/docs/16-reference.md +274 -0
  542. package/docs/17-dashboard.md +619 -0
  543. package/docs/AGENT.md +501 -0
  544. package/package.json +49 -52
  545. package/.medusa/server/src/admin/index.js +0 -5358
  546. package/.medusa/server/src/admin/index.mjs +0 -5356
  547. package/.medusa/server/src/api/admin/companies/[id]/route.js +0 -39
  548. package/.medusa/server/src/api/admin/companies/middlewares.js +0 -41
  549. package/.medusa/server/src/api/admin/companies/route.js +0 -37
  550. package/.medusa/server/src/api/admin/companies/validators.js +0 -29
  551. package/.medusa/server/src/api/middlewares.js +0 -8
  552. package/.medusa/server/src/index.js +0 -5
  553. package/.medusa/server/src/modules/company/index.js +0 -13
  554. package/.medusa/server/src/modules/company/migrations/Migration20260126141741.js +0 -26
  555. package/.medusa/server/src/modules/company/models/company.js +0 -24
  556. package/.medusa/server/src/modules/company/models/employee.js +0 -15
  557. package/.medusa/server/src/modules/company/models/index.js +0 -11
  558. package/.medusa/server/src/modules/company/service.js +0 -11
  559. package/.medusa/server/src/workflows/create-company.js +0 -10
  560. package/.medusa/server/src/workflows/delete-company.js +0 -10
  561. package/.medusa/server/src/workflows/steps/create-company.js +0 -16
  562. package/.medusa/server/src/workflows/steps/delete-company.js +0 -30
  563. package/.medusa/server/src/workflows/steps/update-company.js +0 -30
  564. package/.medusa/server/src/workflows/update-company.js +0 -10
@@ -0,0 +1,85 @@
1
+ import type { Message } from '../events/types';
2
+ import type { GroupStatus } from './types';
3
+ /**
4
+ * Event bus port contract.
5
+ * Adapters: InMemoryEventBus (dev), Vercel Queues (prod).
6
+ */
7
+ export interface IEventBusPort {
8
+ /**
9
+ * Emit one or more events. Optionally group them by eventGroupId.
10
+ * @param event - A single message or array of messages
11
+ * @param options - Optional groupId for grouped events
12
+ */
13
+ emit(event: Message | Message[], options?: {
14
+ groupId?: string;
15
+ }): Promise<void>;
16
+ /**
17
+ * Subscribe a handler to an event name.
18
+ * @param eventName - The event name to subscribe to
19
+ * @param handler - The handler function
20
+ * @param options - Optional subscriberId for unsubscribe
21
+ */
22
+ subscribe(eventName: string, handler: (event: Message) => Promise<void> | void, options?: {
23
+ subscriberId?: string;
24
+ }): void;
25
+ /**
26
+ * Unsubscribe a handler by its subscriberId.
27
+ * @param subscriberId - The subscriber to remove
28
+ */
29
+ unsubscribe(subscriberId: string): void;
30
+ /**
31
+ * Release all grouped events for the given groupId (emit them to subscribers).
32
+ * @param eventGroupId - The group to release
33
+ */
34
+ releaseGroupedEvents(eventGroupId: string): Promise<void>;
35
+ /**
36
+ * Clear all grouped events for the given groupId without emitting.
37
+ * @param eventGroupId - The group to clear
38
+ */
39
+ clearGroupedEvents(eventGroupId: string): Promise<void>;
40
+ /**
41
+ * Add an interceptor that observes messages as they are emitted.
42
+ * Interceptors are read-only, fire-and-forget.
43
+ * @param fn - The interceptor function
44
+ */
45
+ addInterceptor(fn: (message: Message, context?: {
46
+ isGrouped?: boolean;
47
+ eventGroupId?: string;
48
+ }) => Promise<void> | void): void;
49
+ /**
50
+ * Remove a previously added interceptor.
51
+ * @param fn - The interceptor function to remove
52
+ */
53
+ removeInterceptor(fn: (message: Message, context?: {
54
+ isGrouped?: boolean;
55
+ eventGroupId?: string;
56
+ }) => Promise<void> | void): void;
57
+ /**
58
+ * Optional: hook called when a new event group is created.
59
+ * @param handler - Callback receiving groupId and event count
60
+ */
61
+ onGroupCreated?(handler: (eventGroupId: string, eventCount: number) => void): void;
62
+ /**
63
+ * Optional: hook called when a group is released.
64
+ * @param handler - Callback receiving groupId and event count
65
+ */
66
+ onGroupReleased?(handler: (eventGroupId: string, eventCount: number) => void): void;
67
+ /**
68
+ * Optional: hook called when a group is cleared.
69
+ * @param handler - Callback receiving groupId, count, and reason
70
+ */
71
+ onGroupCleared?(handler: (eventGroupId: string, eventCount: number, reason: 'explicit' | 'ttl') => void): void;
72
+ /**
73
+ * Optional: get the status of a grouped event set.
74
+ * @param eventGroupId - The group to check
75
+ * @returns GroupStatus or null if group does not exist
76
+ */
77
+ getGroupStatus?(eventGroupId: string): GroupStatus | null;
78
+ /**
79
+ * Optional readiness probe. Returns true if the event bus backend is reachable.
80
+ * Used by /health/ready (BC-F22). If the adapter does not implement ping(),
81
+ * the readiness handler treats the event bus as present but unprobed.
82
+ */
83
+ ping?(): Promise<boolean>;
84
+ }
85
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/ports/event-bus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/E;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACjD,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,IAAI,CAAA;IAEP;;;OAGG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvC;;;OAGG;IACH,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD;;;OAGG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvD;;;;OAIG;IACH,cAAc,CACZ,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACvG,IAAI,CAAA;IAEP;;;OAGG;IACH,iBAAiB,CACf,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACvG,IAAI,CAAA;IAEP;;;OAGG;IACH,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;IAElF;;;OAGG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;IAEnF;;;OAGG;IACH,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;IAE9G;;;;OAIG;IACH,cAAc,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAA;IAEzD;;;;OAIG;IACH,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAC1B"}
@@ -0,0 +1,3 @@
1
+ // SPEC-034 — IEventBusPort interface
2
+ export {};
3
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/ports/event-bus.ts"],"names":[],"mappings":"AAAA,qCAAqC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * File storage port contract.
3
+ * Adapters: LocalFileAdapter (dev), VercelBlobAdapter (prod).
4
+ */
5
+ export interface IFilePort {
6
+ /**
7
+ * Upload a file.
8
+ * @param key - The file key/path
9
+ * @param data - The file content as Buffer or ReadableStream
10
+ * @param contentType - Optional MIME type
11
+ * @returns The stored key and public URL
12
+ */
13
+ upload(key: string, data: Buffer | ReadableStream, contentType?: string): Promise<{
14
+ key: string;
15
+ url: string;
16
+ }>;
17
+ /**
18
+ * Delete one or more files.
19
+ * @param key - Single key or array of keys
20
+ */
21
+ delete(key: string | string[]): Promise<void>;
22
+ /**
23
+ * Get a presigned URL for downloading a file.
24
+ * @param key - The file key
25
+ * @returns The presigned download URL
26
+ */
27
+ getPresignedDownloadUrl(key: string): Promise<string>;
28
+ /**
29
+ * Optional: get a presigned URL for uploading a file.
30
+ * @param key - The file key
31
+ * @returns The presigned upload URL
32
+ */
33
+ getPresignedUploadUrl?(key: string): Promise<string>;
34
+ /**
35
+ * Get a readable stream for downloading a file.
36
+ * @param key - The file key
37
+ * @returns A ReadableStream of the file content
38
+ */
39
+ getDownloadStream(key: string): Promise<ReadableStream>;
40
+ /**
41
+ * Get file content as a Buffer.
42
+ * @param key - The file key
43
+ * @returns The file content as Buffer
44
+ */
45
+ getAsBuffer(key: string): Promise<Buffer>;
46
+ /**
47
+ * List files matching a prefix.
48
+ * @param prefix - The prefix to filter by
49
+ * @returns Array of matching file keys
50
+ */
51
+ list(prefix?: string): Promise<string[]>;
52
+ /**
53
+ * Optional: get a writable stream for uploading a file.
54
+ * @param key - The file key
55
+ * @returns An object with the writable stream and a done promise
56
+ */
57
+ getUploadStream?(key: string): Promise<{
58
+ stream: WritableStream;
59
+ done: Promise<void>;
60
+ }>;
61
+ }
62
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/ports/file.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE/G;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7C;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAErD;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpD;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAEvD;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEzC;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAExC;;;;OAIG;IACH,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAA;CACxF"}
@@ -0,0 +1,3 @@
1
+ // SPEC-065/080/081 — IFilePort interface
2
+ export {};
3
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/ports/file.ts"],"names":[],"mappings":"AAAA,yCAAyC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * HTTP port contract (simplified).
3
+ * Adapters: NitroHttpAdapter.
4
+ */
5
+ export interface IHttpPort {
6
+ /**
7
+ * Register a route handler.
8
+ * @param method - HTTP method (GET, POST, PUT, DELETE, etc.)
9
+ * @param path - The route path
10
+ * @param handler - The request handler returning a Response
11
+ */
12
+ registerRoute(method: string, path: string, handler: (req: Request) => Promise<Response> | Response): void;
13
+ /**
14
+ * Handle an incoming HTTP request through the pipeline.
15
+ * @param req - The incoming Request
16
+ * @returns The Response
17
+ */
18
+ handleRequest(req: Request): Promise<Response>;
19
+ }
20
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/ports/http.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAA;IAE1G;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC/C"}
@@ -0,0 +1,3 @@
1
+ // SPEC-039 — IHttpPort interface
2
+ export {};
3
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/ports/http.ts"],"names":[],"mappings":"AAAA,iCAAiC"}
@@ -0,0 +1,9 @@
1
+ import type { IProgressChannelPort, ProgressSnapshot } from './progress-channel';
2
+ export declare class InMemoryProgressChannel implements IProgressChannelPort {
3
+ private _store;
4
+ set(runId: string, snapshot: ProgressSnapshot): Promise<void>;
5
+ get(runId: string): Promise<ProgressSnapshot | null>;
6
+ clear(runId: string): Promise<void>;
7
+ _reset(): void;
8
+ }
9
+ //# sourceMappingURL=in-memory-progress-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-progress-channel.d.ts","sourceRoot":"","sources":["../../src/ports/in-memory-progress-channel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEhF,qBAAa,uBAAwB,YAAW,oBAAoB;IAClE,OAAO,CAAC,MAAM,CAAsC;IAE9C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIpD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM;CAGP"}
@@ -0,0 +1,19 @@
1
+ // InMemoryProgressChannel — test-only implementation of IProgressChannelPort.
2
+ // See WORKFLOW_PROGRESS.md §9.2 "progress-memory: test containers".
3
+ // Uses a plain Map — no TTL, no throttle.
4
+ export class InMemoryProgressChannel {
5
+ _store = new Map();
6
+ async set(runId, snapshot) {
7
+ this._store.set(runId, snapshot);
8
+ }
9
+ async get(runId) {
10
+ return this._store.get(runId) ?? null;
11
+ }
12
+ async clear(runId) {
13
+ this._store.delete(runId);
14
+ }
15
+ _reset() {
16
+ this._store.clear();
17
+ }
18
+ }
19
+ //# sourceMappingURL=in-memory-progress-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-progress-channel.js","sourceRoot":"","sources":["../../src/ports/in-memory-progress-channel.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oEAAoE;AACpE,0CAA0C;AAI1C,MAAM,OAAO,uBAAuB;IAC1B,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEpD,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,QAA0B;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import type { IQueuePort, QueueMessage } from './queue';
2
+ export interface InMemoryQueueAdapterOptions {
3
+ /**
4
+ * Extra headers to add to every POST — typically an internal auth header
5
+ * the resume route trusts (so end users can't spam /_workflow/:id/resume).
6
+ */
7
+ headers?: Record<string, string>;
8
+ /** fetch implementation override — for tests. Defaults to global fetch. */
9
+ fetch?: typeof globalThis.fetch;
10
+ /** Logger for delivery failures. */
11
+ logger?: {
12
+ warn: (msg: string) => void;
13
+ error?: (msg: string, err?: unknown) => void;
14
+ };
15
+ }
16
+ export declare class InMemoryQueueAdapter implements IQueuePort {
17
+ private _recent;
18
+ private _headers;
19
+ private _fetch;
20
+ private _logger;
21
+ constructor(opts?: InMemoryQueueAdapterOptions);
22
+ enqueue(message: QueueMessage): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=in-memory-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-queue.d.ts","sourceRoot":"","sources":["../../src/ports/in-memory-queue.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAIvD,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,oCAAoC;IACpC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAA;CACvF;AAED,qBAAa,oBAAqB,YAAW,UAAU;IACrD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAuC;gBAE1C,IAAI,GAAE,2BAAgC;IAM5C,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAoCpD"}
@@ -0,0 +1,63 @@
1
+ // InMemoryQueueAdapter — dev / test IQueuePort implementation.
2
+ //
3
+ // Delivers messages via `setImmediate(() => fetch(url, { method: 'POST', body }))`
4
+ // in the same Node process. Sufficient for local `pnpm dev` where the dev
5
+ // server and the lambda handler share a process. Loses messages on process
6
+ // death — use `@mantajs/adapter-queue-qstash` (or a similar durable queue) for
7
+ // production.
8
+ //
9
+ // Idempotency: keeps a small in-memory LRU of recently-delivered keys so
10
+ // duplicate enqueues (e.g. a step that throws mid-retry) don't deliver
11
+ // twice within the same process. Best-effort; not a substitute for the
12
+ // durable dedupe a real queue provides.
13
+ const RECENT_KEYS_MAX = 1000;
14
+ export class InMemoryQueueAdapter {
15
+ _recent = new Set();
16
+ _headers;
17
+ _fetch;
18
+ _logger;
19
+ constructor(opts = {}) {
20
+ this._headers = opts.headers ?? {};
21
+ this._fetch = opts.fetch ?? globalThis.fetch;
22
+ this._logger = opts.logger;
23
+ }
24
+ async enqueue(message) {
25
+ if (message.idempotencyKey) {
26
+ if (this._recent.has(message.idempotencyKey))
27
+ return;
28
+ this._recent.add(message.idempotencyKey);
29
+ if (this._recent.size > RECENT_KEYS_MAX) {
30
+ // Evict oldest — Set iteration is insertion order so pop the first one.
31
+ const first = this._recent.values().next().value;
32
+ if (first !== undefined)
33
+ this._recent.delete(first);
34
+ }
35
+ }
36
+ const delay = Math.max(0, message.delayMs ?? 0);
37
+ const deliver = async () => {
38
+ try {
39
+ const res = await this._fetch(message.url, {
40
+ method: 'POST',
41
+ headers: { 'Content-Type': 'application/json', ...this._headers },
42
+ body: JSON.stringify(message.payload ?? {}),
43
+ });
44
+ if (!res.ok) {
45
+ const body = await res.text().catch(() => '');
46
+ this._logger?.warn?.(`[InMemoryQueueAdapter] delivery ${res.status} for ${message.url}: ${body.slice(0, 200)}`);
47
+ }
48
+ }
49
+ catch (err) {
50
+ this._logger?.error?.(`[InMemoryQueueAdapter] delivery failed for ${message.url}`, err);
51
+ }
52
+ };
53
+ if (delay > 0) {
54
+ setTimeout(deliver, delay);
55
+ }
56
+ else {
57
+ // setImmediate so the enqueue returns before the POST fires — matches
58
+ // real queue semantics where enqueue is decoupled from delivery.
59
+ setImmediate(deliver);
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=in-memory-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-queue.js","sourceRoot":"","sources":["../../src/ports/in-memory-queue.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mFAAmF;AACnF,0EAA0E;AAC1E,2EAA2E;AAC3E,+EAA+E;AAC/E,cAAc;AACd,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,uEAAuE;AACvE,wCAAwC;AAIxC,MAAM,eAAe,GAAG,IAAI,CAAA;AAc5B,MAAM,OAAO,oBAAoB;IACvB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3B,QAAQ,CAAwB;IAChC,MAAM,CAAyB;IAC/B,OAAO,CAAuC;IAEtD,YAAY,OAAoC,EAAE;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;gBAAE,OAAM;YACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;YACxC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;gBACxC,wEAAwE;gBACxE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;gBAChD,IAAI,KAAK,KAAK,SAAS;oBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;oBACzC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;oBACjE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;iBAC5C,CAAC,CAAA;gBACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC7C,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAClB,mCAAmC,GAAG,CAAC,MAAM,QAAQ,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC1F,CAAA;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,8CAA8C,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;YACzF,CAAC;QACH,CAAC,CAAA;QACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,iEAAiE;YACjE,YAAY,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ export type { AuthenticationInput, AuthenticationResponse } from '../auth/providers/types';
2
+ export type { AuthContext, AuthCredentials, SessionOptions } from '../auth/types';
3
+ export type { GetMessagesOptions, IMessageAggregator, Message } from '../events/types';
4
+ export type { IAnalyticsProvider } from './analytics';
5
+ export type { IAuthGateway, IAuthModuleService, IAuthPort } from './auth';
6
+ export type { ICachePort } from './cache';
7
+ export type { IDatabasePort } from './database';
8
+ export type { IEventBusPort } from './event-bus';
9
+ export type { IFilePort } from './file';
10
+ export type { IHttpPort } from './http';
11
+ export { InMemoryProgressChannel } from './in-memory-progress-channel';
12
+ export { InMemoryQueueAdapter, type InMemoryQueueAdapterOptions } from './in-memory-queue';
13
+ export type { IJobSchedulerPort } from './job-scheduler';
14
+ export type { ILockingPort } from './locking';
15
+ export type { ILoggerPort } from './logger';
16
+ export type { INotificationPort } from './notification';
17
+ export type { IProgressChannelPort, ProgressSnapshot } from './progress-channel';
18
+ export type { IQueuePort, QueueMessage } from './queue';
19
+ export type { IRelationalQueryPort, RelationalQueryConfig } from './relational-query';
20
+ export type { IRepository } from './repository';
21
+ export type { IRepositoryFactory } from './repository-factory';
22
+ export type { ISchemaGenerator } from './schema-generator';
23
+ export type { ISearchProvider } from './search';
24
+ export type { Context, CursorPagination, DatabaseConfig, GroupStatus, JobExecution, JobResult, TransactionOptions, WorkflowLifecycleEvent, } from './types';
25
+ export { ContainerRegistrationKeys } from './types';
26
+ export type { IWorkflowStorePort, NewWorkflowRun, StepState, StepStatus, WorkflowError, WorkflowRun, WorkflowStatus, } from './workflow-store';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAE1F,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEjF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACtF,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAEzE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAC1F,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChF,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACvD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACrF,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,YAAY,EACV,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACnD,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,6 @@
1
+ // Port interfaces — re-exports all port contracts
2
+ // Each port is defined in its own file with SPEC references.
3
+ export { InMemoryProgressChannel } from './in-memory-progress-channel';
4
+ export { InMemoryQueueAdapter } from './in-memory-queue';
5
+ export { ContainerRegistrationKeys } from './types';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,6DAA6D;AAe7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAoC,MAAM,mBAAmB,CAAA;AAuB1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,42 @@
1
+ import type { MantaApp } from '../app';
2
+ import type { JobExecution, JobResult } from './types';
3
+ /**
4
+ * Job scheduler port contract.
5
+ * Adapters: NodeCronJobScheduler (dev), VercelCronAdapter (prod).
6
+ * Dependencies: ILockingPort, ILoggerPort.
7
+ */
8
+ export interface IJobSchedulerPort {
9
+ /**
10
+ * Register a scheduled job.
11
+ * @param name - Unique job name
12
+ * @param schedule - Cron expression
13
+ * @param handler - Job handler receiving the app
14
+ * @param options - Concurrency, execution limit, and retry options
15
+ */
16
+ register(name: string, schedule: string, handler: (ctx: {
17
+ app: MantaApp;
18
+ }) => Promise<JobResult>, options?: {
19
+ concurrency?: 'allow' | 'forbid';
20
+ numberOfExecutions?: number;
21
+ timeout?: number;
22
+ retry?: {
23
+ maxRetries: number;
24
+ backoff?: 'fixed' | 'exponential';
25
+ delay?: number;
26
+ };
27
+ }): void;
28
+ /**
29
+ * Manually trigger a registered job.
30
+ * @param name - The job name
31
+ * @returns The job execution result
32
+ */
33
+ runJob(name: string): Promise<JobResult>;
34
+ /**
35
+ * Get execution history for a job.
36
+ * @param jobName - The job name
37
+ * @param limit - Maximum number of records to return
38
+ * @returns Array of job execution records
39
+ */
40
+ getJobHistory(jobName: string, limit?: number): Promise<JobExecution[]>;
41
+ }
42
+ //# sourceMappingURL=job-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-scheduler.d.ts","sourceRoot":"","sources":["../../src/ports/job-scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEtD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC,SAAS,CAAC,EACvD,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;QAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAClF,GACA,IAAI,CAAA;IAEP;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAExC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;CACxE"}
@@ -0,0 +1,3 @@
1
+ // SPEC-063 — IJobSchedulerPort interface
2
+ export {};
3
+ //# sourceMappingURL=job-scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-scheduler.js","sourceRoot":"","sources":["../../src/ports/job-scheduler.ts"],"names":[],"mappings":"AAAA,yCAAyC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Locking port contract.
3
+ * Adapters: InMemoryLocking (dev), Neon advisory locks (prod).
4
+ */
5
+ export interface ILockingPort {
6
+ /**
7
+ * Execute a job while holding locks on the given keys.
8
+ * Acquires locks, runs job, releases locks.
9
+ * @param keys - Lock keys to acquire
10
+ * @param job - The function to execute under lock
11
+ * @param options - Optional timeout in ms
12
+ * @returns The result of the job function
13
+ */
14
+ execute<T>(keys: string[], job: () => Promise<T>, options?: {
15
+ timeout?: number;
16
+ }): Promise<T>;
17
+ /**
18
+ * Manually acquire locks on one or more keys.
19
+ * @param keys - Lock key(s) to acquire
20
+ * @param options - Optional ownerId and expiration in ms
21
+ * @returns True if all locks were acquired, false otherwise
22
+ */
23
+ acquire(keys: string | string[], options?: {
24
+ ownerId?: string;
25
+ expire?: number;
26
+ }): Promise<boolean>;
27
+ /**
28
+ * Release locks on one or more keys.
29
+ * @param keys - Lock key(s) to release
30
+ * @param options - Optional ownerId to verify ownership
31
+ */
32
+ release(keys: string | string[], options?: {
33
+ ownerId?: string;
34
+ }): Promise<void>;
35
+ /**
36
+ * Release all locks held by an owner.
37
+ * @param options - Optional ownerId filter
38
+ */
39
+ releaseAll(options?: {
40
+ ownerId?: string;
41
+ }): Promise<void>;
42
+ }
43
+ //# sourceMappingURL=locking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locking.d.ts","sourceRoot":"","sources":["../../src/ports/locking.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAE7F;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnG;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/E;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D"}
@@ -0,0 +1,3 @@
1
+ // SPEC-066/089/090 — ILockingPort interface
2
+ export {};
3
+ //# sourceMappingURL=locking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locking.js","sourceRoot":"","sources":["../../src/ports/locking.ts"],"names":[],"mappings":"AAAA,4CAA4C"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Logger port contract.
3
+ * Adapters: PinoLogger (dev/prod).
4
+ */
5
+ export interface ILoggerPort {
6
+ /** Log at error level */
7
+ error(msg: string, ...args: unknown[]): void;
8
+ /** Log at warn level */
9
+ warn(msg: string, ...args: unknown[]): void;
10
+ /** Log at info level */
11
+ info(msg: string, ...args: unknown[]): void;
12
+ /** Log at http level */
13
+ http(msg: string, ...args: unknown[]): void;
14
+ /** Log at verbose level */
15
+ verbose(msg: string, ...args: unknown[]): void;
16
+ /** Log at debug level */
17
+ debug(msg: string, ...args: unknown[]): void;
18
+ /** Log at silly level */
19
+ silly(msg: string, ...args: unknown[]): void;
20
+ /**
21
+ * Log a panic-level message and potentially crash.
22
+ * @param data - Arbitrary data to log
23
+ */
24
+ panic(data: unknown): void;
25
+ /**
26
+ * Start a timed activity log.
27
+ * @param msg - The activity description
28
+ * @returns An activity ID for progress/success/failure
29
+ */
30
+ activity(msg: string): string;
31
+ /**
32
+ * Log progress on an activity.
33
+ * @param id - The activity ID
34
+ * @param msg - Progress message
35
+ */
36
+ progress(id: string, msg: string): void;
37
+ /**
38
+ * Mark an activity as successful.
39
+ * @param id - The activity ID
40
+ * @param msg - Success message
41
+ */
42
+ success(id: string, msg: string): void;
43
+ /**
44
+ * Mark an activity as failed.
45
+ * @param id - The activity ID
46
+ * @param msg - Failure message
47
+ */
48
+ failure(id: string, msg: string): void;
49
+ /**
50
+ * Check if a given log level would be output.
51
+ * @param level - The log level to check
52
+ * @returns True if messages at this level would be logged
53
+ */
54
+ shouldLog(level: string): boolean;
55
+ /**
56
+ * Override the current log level.
57
+ * @param level - The new log level
58
+ */
59
+ setLogLevel(level: string): void;
60
+ /**
61
+ * Reset the log level to the default.
62
+ */
63
+ unsetLogLevel(): void;
64
+ }
65
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/ports/logger.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC5C,wBAAwB;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3C,wBAAwB;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3C,wBAAwB;IACxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3C,2BAA2B;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC9C,yBAAyB;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC5C,yBAAyB;IACzB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAE5C;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAE1B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAEjC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,aAAa,IAAI,IAAI,CAAA;CACtB"}
@@ -0,0 +1,3 @@
1
+ // SPEC-067/082 — ILoggerPort interface
2
+ export {};
3
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/ports/logger.ts"],"names":[],"mappings":"AAAA,uCAAuC"}