@nwire/forge 0.7.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 (259) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -0
  3. package/dist/__tests__/actor-methods.test.d.ts +9 -0
  4. package/dist/__tests__/actor-methods.test.d.ts.map +1 -0
  5. package/dist/__tests__/actor-methods.test.js +210 -0
  6. package/dist/__tests__/actor-methods.test.js.map +1 -0
  7. package/dist/__tests__/actor-schema-bound.test.d.ts +6 -0
  8. package/dist/__tests__/actor-schema-bound.test.d.ts.map +1 -0
  9. package/dist/__tests__/actor-schema-bound.test.js +112 -0
  10. package/dist/__tests__/actor-schema-bound.test.js.map +1 -0
  11. package/dist/__tests__/app-capabilities.test.d.ts +19 -0
  12. package/dist/__tests__/app-capabilities.test.d.ts.map +1 -0
  13. package/dist/__tests__/app-capabilities.test.js +57 -0
  14. package/dist/__tests__/app-capabilities.test.js.map +1 -0
  15. package/dist/__tests__/cli-runner.test.d.ts +6 -0
  16. package/dist/__tests__/cli-runner.test.d.ts.map +1 -0
  17. package/dist/__tests__/cli-runner.test.js +158 -0
  18. package/dist/__tests__/cli-runner.test.js.map +1 -0
  19. package/dist/__tests__/create-app.test.d.ts +18 -0
  20. package/dist/__tests__/create-app.test.d.ts.map +1 -0
  21. package/dist/__tests__/create-app.test.js +189 -0
  22. package/dist/__tests__/create-app.test.js.map +1 -0
  23. package/dist/__tests__/cross-service-bus.test.d.ts +8 -0
  24. package/dist/__tests__/cross-service-bus.test.d.ts.map +1 -0
  25. package/dist/__tests__/cross-service-bus.test.js +139 -0
  26. package/dist/__tests__/cross-service-bus.test.js.map +1 -0
  27. package/dist/__tests__/define-schema.test.d.ts +5 -0
  28. package/dist/__tests__/define-schema.test.d.ts.map +1 -0
  29. package/dist/__tests__/define-schema.test.js +83 -0
  30. package/dist/__tests__/define-schema.test.js.map +1 -0
  31. package/dist/__tests__/dev-logger.test.d.ts +9 -0
  32. package/dist/__tests__/dev-logger.test.d.ts.map +1 -0
  33. package/dist/__tests__/dev-logger.test.js +126 -0
  34. package/dist/__tests__/dev-logger.test.js.map +1 -0
  35. package/dist/__tests__/external-call.test.d.ts +14 -0
  36. package/dist/__tests__/external-call.test.d.ts.map +1 -0
  37. package/dist/__tests__/external-call.test.js +99 -0
  38. package/dist/__tests__/external-call.test.js.map +1 -0
  39. package/dist/__tests__/framework-events.test.d.ts +13 -0
  40. package/dist/__tests__/framework-events.test.d.ts.map +1 -0
  41. package/dist/__tests__/framework-events.test.js +204 -0
  42. package/dist/__tests__/framework-events.test.js.map +1 -0
  43. package/dist/__tests__/inline-handler.test.d.ts +8 -0
  44. package/dist/__tests__/inline-handler.test.d.ts.map +1 -0
  45. package/dist/__tests__/inline-handler.test.js +101 -0
  46. package/dist/__tests__/inline-handler.test.js.map +1 -0
  47. package/dist/__tests__/lifecycle-logging.test.d.ts +12 -0
  48. package/dist/__tests__/lifecycle-logging.test.d.ts.map +1 -0
  49. package/dist/__tests__/lifecycle-logging.test.js +112 -0
  50. package/dist/__tests__/lifecycle-logging.test.js.map +1 -0
  51. package/dist/__tests__/middleware.test.d.ts +7 -0
  52. package/dist/__tests__/middleware.test.d.ts.map +1 -0
  53. package/dist/__tests__/middleware.test.js +109 -0
  54. package/dist/__tests__/middleware.test.js.map +1 -0
  55. package/dist/__tests__/module-needs.test.d.ts +10 -0
  56. package/dist/__tests__/module-needs.test.d.ts.map +1 -0
  57. package/dist/__tests__/module-needs.test.js +77 -0
  58. package/dist/__tests__/module-needs.test.js.map +1 -0
  59. package/dist/__tests__/module-topo-sort.test.d.ts +15 -0
  60. package/dist/__tests__/module-topo-sort.test.d.ts.map +1 -0
  61. package/dist/__tests__/module-topo-sort.test.js +105 -0
  62. package/dist/__tests__/module-topo-sort.test.js.map +1 -0
  63. package/dist/__tests__/multi-tenancy.test.d.ts +10 -0
  64. package/dist/__tests__/multi-tenancy.test.d.ts.map +1 -0
  65. package/dist/__tests__/multi-tenancy.test.js +122 -0
  66. package/dist/__tests__/multi-tenancy.test.js.map +1 -0
  67. package/dist/__tests__/needs-topology.test.d.ts +11 -0
  68. package/dist/__tests__/needs-topology.test.d.ts.map +1 -0
  69. package/dist/__tests__/needs-topology.test.js +82 -0
  70. package/dist/__tests__/needs-topology.test.js.map +1 -0
  71. package/dist/__tests__/plugin-closure.test.d.ts +15 -0
  72. package/dist/__tests__/plugin-closure.test.d.ts.map +1 -0
  73. package/dist/__tests__/plugin-closure.test.js +140 -0
  74. package/dist/__tests__/plugin-closure.test.js.map +1 -0
  75. package/dist/__tests__/plugin.test.d.ts +10 -0
  76. package/dist/__tests__/plugin.test.d.ts.map +1 -0
  77. package/dist/__tests__/plugin.test.js +225 -0
  78. package/dist/__tests__/plugin.test.js.map +1 -0
  79. package/dist/__tests__/primitives.test.d.ts +9 -0
  80. package/dist/__tests__/primitives.test.d.ts.map +1 -0
  81. package/dist/__tests__/primitives.test.js +434 -0
  82. package/dist/__tests__/primitives.test.js.map +1 -0
  83. package/dist/__tests__/production-readiness.test.d.ts +22 -0
  84. package/dist/__tests__/production-readiness.test.d.ts.map +1 -0
  85. package/dist/__tests__/production-readiness.test.js +196 -0
  86. package/dist/__tests__/production-readiness.test.js.map +1 -0
  87. package/dist/__tests__/provider.test.d.ts +6 -0
  88. package/dist/__tests__/provider.test.d.ts.map +1 -0
  89. package/dist/__tests__/provider.test.js +122 -0
  90. package/dist/__tests__/provider.test.js.map +1 -0
  91. package/dist/__tests__/public-marker.test.d.ts +7 -0
  92. package/dist/__tests__/public-marker.test.d.ts.map +1 -0
  93. package/dist/__tests__/public-marker.test.js +54 -0
  94. package/dist/__tests__/public-marker.test.js.map +1 -0
  95. package/dist/__tests__/retry-dlq.test.d.ts +6 -0
  96. package/dist/__tests__/retry-dlq.test.d.ts.map +1 -0
  97. package/dist/__tests__/retry-dlq.test.js +68 -0
  98. package/dist/__tests__/retry-dlq.test.js.map +1 -0
  99. package/dist/__tests__/validate.test.d.ts +5 -0
  100. package/dist/__tests__/validate.test.d.ts.map +1 -0
  101. package/dist/__tests__/validate.test.js +53 -0
  102. package/dist/__tests__/validate.test.js.map +1 -0
  103. package/dist/__tests__/workflow-saga.test.d.ts +7 -0
  104. package/dist/__tests__/workflow-saga.test.d.ts.map +1 -0
  105. package/dist/__tests__/workflow-saga.test.js +239 -0
  106. package/dist/__tests__/workflow-saga.test.js.map +1 -0
  107. package/dist/actor-store.d.ts +83 -0
  108. package/dist/actor-store.d.ts.map +1 -0
  109. package/dist/actor-store.js +85 -0
  110. package/dist/actor-store.js.map +1 -0
  111. package/dist/cli-runner.d.ts +46 -0
  112. package/dist/cli-runner.d.ts.map +1 -0
  113. package/dist/cli-runner.js +164 -0
  114. package/dist/cli-runner.js.map +1 -0
  115. package/dist/create-app.d.ts +131 -0
  116. package/dist/create-app.d.ts.map +1 -0
  117. package/dist/create-app.js +593 -0
  118. package/dist/create-app.js.map +1 -0
  119. package/dist/define-action.d.ts +148 -0
  120. package/dist/define-action.d.ts.map +1 -0
  121. package/dist/define-action.js +52 -0
  122. package/dist/define-action.js.map +1 -0
  123. package/dist/define-actor.d.ts +302 -0
  124. package/dist/define-actor.d.ts.map +1 -0
  125. package/dist/define-actor.js +294 -0
  126. package/dist/define-actor.js.map +1 -0
  127. package/dist/define-app.d.ts +104 -0
  128. package/dist/define-app.d.ts.map +1 -0
  129. package/dist/define-app.js +49 -0
  130. package/dist/define-app.js.map +1 -0
  131. package/dist/define-cron.d.ts +50 -0
  132. package/dist/define-cron.d.ts.map +1 -0
  133. package/dist/define-cron.js +34 -0
  134. package/dist/define-cron.js.map +1 -0
  135. package/dist/define-error.d.ts +10 -0
  136. package/dist/define-error.d.ts.map +1 -0
  137. package/dist/define-error.js +10 -0
  138. package/dist/define-error.js.map +1 -0
  139. package/dist/define-external-call.d.ts +85 -0
  140. package/dist/define-external-call.d.ts.map +1 -0
  141. package/dist/define-external-call.js +38 -0
  142. package/dist/define-external-call.js.map +1 -0
  143. package/dist/define-handler.d.ts +98 -0
  144. package/dist/define-handler.d.ts.map +1 -0
  145. package/dist/define-handler.js +29 -0
  146. package/dist/define-handler.js.map +1 -0
  147. package/dist/define-inbound-webhook.d.ts +82 -0
  148. package/dist/define-inbound-webhook.d.ts.map +1 -0
  149. package/dist/define-inbound-webhook.js +42 -0
  150. package/dist/define-inbound-webhook.js.map +1 -0
  151. package/dist/define-inbox.d.ts +40 -0
  152. package/dist/define-inbox.d.ts.map +1 -0
  153. package/dist/define-inbox.js +31 -0
  154. package/dist/define-inbox.js.map +1 -0
  155. package/dist/define-initializer.d.ts +54 -0
  156. package/dist/define-initializer.d.ts.map +1 -0
  157. package/dist/define-initializer.js +38 -0
  158. package/dist/define-initializer.js.map +1 -0
  159. package/dist/define-middleware.d.ts +8 -0
  160. package/dist/define-middleware.d.ts.map +1 -0
  161. package/dist/define-middleware.js +8 -0
  162. package/dist/define-middleware.js.map +1 -0
  163. package/dist/define-model.d.ts +10 -0
  164. package/dist/define-model.d.ts.map +1 -0
  165. package/dist/define-model.js +13 -0
  166. package/dist/define-model.js.map +1 -0
  167. package/dist/define-module.d.ts +157 -0
  168. package/dist/define-module.d.ts.map +1 -0
  169. package/dist/define-module.js +60 -0
  170. package/dist/define-module.js.map +1 -0
  171. package/dist/define-outbox.d.ts +47 -0
  172. package/dist/define-outbox.d.ts.map +1 -0
  173. package/dist/define-outbox.js +36 -0
  174. package/dist/define-outbox.js.map +1 -0
  175. package/dist/define-plugin.d.ts +171 -0
  176. package/dist/define-plugin.d.ts.map +1 -0
  177. package/dist/define-plugin.js +134 -0
  178. package/dist/define-plugin.js.map +1 -0
  179. package/dist/define-projection.d.ts +56 -0
  180. package/dist/define-projection.d.ts.map +1 -0
  181. package/dist/define-projection.js +44 -0
  182. package/dist/define-projection.js.map +1 -0
  183. package/dist/define-provider.d.ts +49 -0
  184. package/dist/define-provider.d.ts.map +1 -0
  185. package/dist/define-provider.js +45 -0
  186. package/dist/define-provider.js.map +1 -0
  187. package/dist/define-query.d.ts +50 -0
  188. package/dist/define-query.d.ts.map +1 -0
  189. package/dist/define-query.js +33 -0
  190. package/dist/define-query.js.map +1 -0
  191. package/dist/define-resolver.d.ts +111 -0
  192. package/dist/define-resolver.d.ts.map +1 -0
  193. package/dist/define-resolver.js +146 -0
  194. package/dist/define-resolver.js.map +1 -0
  195. package/dist/define-schema.d.ts +88 -0
  196. package/dist/define-schema.d.ts.map +1 -0
  197. package/dist/define-schema.js +72 -0
  198. package/dist/define-schema.js.map +1 -0
  199. package/dist/define-workflow.d.ts +193 -0
  200. package/dist/define-workflow.d.ts.map +1 -0
  201. package/dist/define-workflow.js +345 -0
  202. package/dist/define-workflow.js.map +1 -0
  203. package/dist/dev-logger.d.ts +41 -0
  204. package/dist/dev-logger.d.ts.map +1 -0
  205. package/dist/dev-logger.js +135 -0
  206. package/dist/dev-logger.js.map +1 -0
  207. package/dist/event-message.d.ts +37 -0
  208. package/dist/event-message.d.ts.map +1 -0
  209. package/dist/event-message.js +51 -0
  210. package/dist/event-message.js.map +1 -0
  211. package/dist/foundation.d.ts +14 -0
  212. package/dist/foundation.d.ts.map +1 -0
  213. package/dist/foundation.js +14 -0
  214. package/dist/foundation.js.map +1 -0
  215. package/dist/framework-event-bus.d.ts +13 -0
  216. package/dist/framework-event-bus.d.ts.map +1 -0
  217. package/dist/framework-event-bus.js +13 -0
  218. package/dist/framework-event-bus.js.map +1 -0
  219. package/dist/framework-events.d.ts +121 -0
  220. package/dist/framework-events.d.ts.map +1 -0
  221. package/dist/framework-events.js +67 -0
  222. package/dist/framework-events.js.map +1 -0
  223. package/dist/index.d.ts +53 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +61 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/module-surface.d.ts +47 -0
  228. package/dist/module-surface.d.ts.map +1 -0
  229. package/dist/module-surface.js +65 -0
  230. package/dist/module-surface.js.map +1 -0
  231. package/dist/projection-store.d.ts +26 -0
  232. package/dist/projection-store.d.ts.map +1 -0
  233. package/dist/projection-store.js +28 -0
  234. package/dist/projection-store.js.map +1 -0
  235. package/dist/public-marker.d.ts +35 -0
  236. package/dist/public-marker.d.ts.map +1 -0
  237. package/dist/public-marker.js +45 -0
  238. package/dist/public-marker.js.map +1 -0
  239. package/dist/response.d.ts +8 -0
  240. package/dist/response.d.ts.map +1 -0
  241. package/dist/response.js +8 -0
  242. package/dist/response.js.map +1 -0
  243. package/dist/runtime.d.ts +497 -0
  244. package/dist/runtime.d.ts.map +1 -0
  245. package/dist/runtime.js +1083 -0
  246. package/dist/runtime.js.map +1 -0
  247. package/dist/validate.d.ts +33 -0
  248. package/dist/validate.d.ts.map +1 -0
  249. package/dist/validate.js +48 -0
  250. package/dist/validate.js.map +1 -0
  251. package/dist/when.d.ts +101 -0
  252. package/dist/when.d.ts.map +1 -0
  253. package/dist/when.js +57 -0
  254. package/dist/when.js.map +1 -0
  255. package/dist/workflow-timer-store.d.ts +78 -0
  256. package/dist/workflow-timer-store.d.ts.map +1 -0
  257. package/dist/workflow-timer-store.js +56 -0
  258. package/dist/workflow-timer-store.js.map +1 -0
  259. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * `validate(input, [predicates])` — run a list of invariant predicates over an
3
+ * input (optionally bound to actor state) and throw if any fail.
4
+ *
5
+ * Predicates return `true | string`. The string IS the failure message — no
6
+ * cute encoding, no error types per failure, no class hierarchies. If any
7
+ * predicate fails, `validate` throws an `InvariantError` whose `.failures`
8
+ * carries every failure message.
9
+ *
10
+ * const hasAnswer = (input) => input.answer?.length > 0 || "Answer required"
11
+ * const isModerator = (_i, state) => state.role === "moderator" || "Must be moderator"
12
+ * const notAlreadyOpen = (_i, state) => !state.isOpen || "Already open"
13
+ *
14
+ * validate(input, [hasAnswer, isModerator, notAlreadyOpen], submission.state)
15
+ *
16
+ * Why this shape:
17
+ * - Predicates are plain functions — no decorators, no framework magic.
18
+ * - Returning the message inline keeps the test where the invariant lives.
19
+ * - One throw with aggregated failures lets the UI show every problem at
20
+ * once instead of revealing them one by one across retries.
21
+ *
22
+ * Use in actions OR in actor methods — same signature in both places.
23
+ */
24
+ export declare class InvariantError extends Error {
25
+ readonly failures: readonly string[];
26
+ constructor(failures: readonly string[]);
27
+ }
28
+ /** A predicate: returns `true` if the invariant holds, or a failure message string. */
29
+ export type Invariant<TInput, TState = unknown> = (input: TInput, state: TState) => true | string;
30
+ export declare function validate<TInput, TState = unknown>(input: TInput, predicates: ReadonlyArray<Invariant<TInput, TState>>, state?: TState): void;
31
+ /** Type-narrowing predicate. */
32
+ export declare function isInvariantError(x: unknown): x is InvariantError;
33
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEzB,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKxC;AAED,uFAAuF;AACvF,MAAM,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC;AAElG,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAC/C,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACpD,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAWN;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAEhE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * `validate(input, [predicates])` — run a list of invariant predicates over an
3
+ * input (optionally bound to actor state) and throw if any fail.
4
+ *
5
+ * Predicates return `true | string`. The string IS the failure message — no
6
+ * cute encoding, no error types per failure, no class hierarchies. If any
7
+ * predicate fails, `validate` throws an `InvariantError` whose `.failures`
8
+ * carries every failure message.
9
+ *
10
+ * const hasAnswer = (input) => input.answer?.length > 0 || "Answer required"
11
+ * const isModerator = (_i, state) => state.role === "moderator" || "Must be moderator"
12
+ * const notAlreadyOpen = (_i, state) => !state.isOpen || "Already open"
13
+ *
14
+ * validate(input, [hasAnswer, isModerator, notAlreadyOpen], submission.state)
15
+ *
16
+ * Why this shape:
17
+ * - Predicates are plain functions — no decorators, no framework magic.
18
+ * - Returning the message inline keeps the test where the invariant lives.
19
+ * - One throw with aggregated failures lets the UI show every problem at
20
+ * once instead of revealing them one by one across retries.
21
+ *
22
+ * Use in actions OR in actor methods — same signature in both places.
23
+ */
24
+ export class InvariantError extends Error {
25
+ failures;
26
+ constructor(failures) {
27
+ super(`Invariant failed: ${failures.join("; ")}`);
28
+ this.name = "InvariantError";
29
+ this.failures = failures;
30
+ }
31
+ }
32
+ export function validate(input, predicates, state) {
33
+ const failures = [];
34
+ for (const pred of predicates) {
35
+ const result = pred(input, state);
36
+ if (result !== true) {
37
+ failures.push(typeof result === "string" ? result : "invariant failed");
38
+ }
39
+ }
40
+ if (failures.length > 0) {
41
+ throw new InvariantError(failures);
42
+ }
43
+ }
44
+ /** Type-narrowing predicate. */
45
+ export function isInvariantError(x) {
46
+ return x instanceof InvariantError;
47
+ }
48
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,QAAQ,CAAoB;IAErC,YAAY,QAA2B;QACrC,KAAK,CAAC,qBAAqB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAKD,MAAM,UAAU,QAAQ,CACtB,KAAa,EACb,UAAoD,EACpD,KAAc;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,KAAe,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,OAAO,CAAC,YAAY,cAAc,CAAC;AACrC,CAAC"}
package/dist/when.d.ts ADDED
@@ -0,0 +1,101 @@
1
+ /**
2
+ * V3 `when(Event, fn)` — declarative cross-cutting reaction.
3
+ *
4
+ * when(AnswerFlaggedEvent, async (event, { send }) => {
5
+ * await send(sendNotification, { to: event.studentId, template: 'flagged' })
6
+ * })
7
+ *
8
+ * when(AnswerSubmittedEvent, async (event, { request }) => {
9
+ * await request(gradeSubmission, { ... })
10
+ * }, { dispatches: [gradeSubmission] })
11
+ *
12
+ * Reacts to an event from any source (per ADR-006 — actors react to events
13
+ * about themselves; `when` reactions react to anyone's events). Used for
14
+ * notifications, projections, audit, external syncs.
15
+ *
16
+ * The optional `dispatches` declares which actions this reaction is intended
17
+ * to dispatch — the *intent* edge in the EventStorming canvas. Runtime
18
+ * observation validates the intent: declared-but-never-fired or
19
+ * fired-but-not-declared rings the drift alarm.
20
+ *
21
+ * Returns a `WhenDefinition` that the runtime registers via `registerWhen`.
22
+ */
23
+ import type { EventDefinition, EventPayload } from "@nwire/messages";
24
+ import type { HandlerContext } from "./define-handler.js";
25
+ import type { EventMessage } from "./event-message.js";
26
+ import type { ActionDefinition } from "./define-action.js";
27
+ /**
28
+ * Idempotency-key extractor — given a triggering event, returns a string
29
+ * uniquely identifying the work this reaction would do. Studio + future
30
+ * runtime dedup use it: if a key is observed twice within a window, the
31
+ * second run is skipped. Pure function of the event payload.
32
+ */
33
+ export type IdempotencyKeyFn<E extends EventDefinition> = (payload: EventPayload<E>) => string;
34
+ export interface ReactionRetryPolicy {
35
+ readonly max: number;
36
+ readonly backoff?: "exponential" | "fixed";
37
+ readonly baseDelayMs?: number;
38
+ readonly maxDelayMs?: number;
39
+ }
40
+ export interface WhenDefinition<E extends EventDefinition = EventDefinition> {
41
+ readonly $kind: "when";
42
+ readonly eventName: string;
43
+ readonly handler: (event: EventMessage<E>, ctx: HandlerContext) => Promise<void> | void;
44
+ /**
45
+ * Declared actions this reaction intends to dispatch. Names only — the
46
+ * scanner reads them into the static graph (event → policy → command).
47
+ */
48
+ readonly dispatches?: readonly {
49
+ readonly name: string;
50
+ }[];
51
+ /** Free-form description (Studio-aware). */
52
+ readonly description?: string;
53
+ /**
54
+ * Reaction-level retry policy. Independent from the action.retry that
55
+ * applies to the *dispatched* action — this one applies to the reaction
56
+ * body itself (e.g. network call inside a `when` handler).
57
+ */
58
+ readonly retry?: ReactionRetryPolicy;
59
+ /**
60
+ * True if the reaction declared an idempotency-key extractor. Scanner
61
+ * surfaces this as a Studio badge ("dedup'd"); future runtime dedup uses
62
+ * the closure carried in `idempotencyKey`.
63
+ */
64
+ readonly hasIdempotencyKey?: boolean;
65
+ /** The closure itself — kept on the runtime definition, not serialized. */
66
+ readonly idempotencyKey?: IdempotencyKeyFn<E>;
67
+ }
68
+ export interface WhenOptions<E extends EventDefinition = EventDefinition> {
69
+ /** Declared actions this reaction intends to dispatch. */
70
+ readonly dispatches?: readonly ActionDefinition[];
71
+ /** Free-form description for Studio. */
72
+ readonly description?: string;
73
+ /**
74
+ * Pure key extractor for idempotency — Studio surfaces it as the
75
+ * deduplication identity; future runtime dedup will short-circuit
76
+ * repeated keys within a window.
77
+ */
78
+ readonly idempotencyKey?: IdempotencyKeyFn<E>;
79
+ /** Reaction-body retry policy. */
80
+ readonly retry?: ReactionRetryPolicy;
81
+ }
82
+ export declare function when<E extends EventDefinition>(event: E, handler: (eventPayload: EventPayload<E>, ctx: HandlerContext) => Promise<void> | void, options?: WhenOptions<E>): WhenDefinition<E>;
83
+ /**
84
+ * `defineReaction(name, Event, handler, opts?)` — named reaction.
85
+ *
86
+ * Thin wrapper over `when(Event, handler, opts)` that also sets the reaction's
87
+ * name (Studio displays it; the scanner emits it as one row per reaction in
88
+ * `.nwire/reactions.json`). The name should be `<module>.<verb-noun>`:
89
+ *
90
+ * defineReaction(
91
+ * "notifications.notify-on-approval",
92
+ * PostWasApproved,
93
+ * async (event, { send }) => {
94
+ * await send(recordNotification, { ... });
95
+ * },
96
+ * )
97
+ */
98
+ export declare function defineReaction<E extends EventDefinition>(name: string, event: E, handler: (eventPayload: EventPayload<E>, ctx: HandlerContext) => Promise<void> | void, options?: WhenOptions<E>): WhenDefinition<E> & {
99
+ readonly name: string;
100
+ };
101
+ //# sourceMappingURL=when.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when.d.ts","sourceRoot":"","sources":["../src/when.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,eAAe,IAAI,CACxD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KACrB,MAAM,CAAC;AAEZ,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxF;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACtE,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,wCAAwC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9C,kCAAkC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CACtC;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,eAAe,EAC5C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACrF,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACvB,cAAc,CAAC,CAAC,CAAC,CAanB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,eAAe,EACtD,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACrF,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACvB,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAI/C"}
package/dist/when.js ADDED
@@ -0,0 +1,57 @@
1
+ /**
2
+ * V3 `when(Event, fn)` — declarative cross-cutting reaction.
3
+ *
4
+ * when(AnswerFlaggedEvent, async (event, { send }) => {
5
+ * await send(sendNotification, { to: event.studentId, template: 'flagged' })
6
+ * })
7
+ *
8
+ * when(AnswerSubmittedEvent, async (event, { request }) => {
9
+ * await request(gradeSubmission, { ... })
10
+ * }, { dispatches: [gradeSubmission] })
11
+ *
12
+ * Reacts to an event from any source (per ADR-006 — actors react to events
13
+ * about themselves; `when` reactions react to anyone's events). Used for
14
+ * notifications, projections, audit, external syncs.
15
+ *
16
+ * The optional `dispatches` declares which actions this reaction is intended
17
+ * to dispatch — the *intent* edge in the EventStorming canvas. Runtime
18
+ * observation validates the intent: declared-but-never-fired or
19
+ * fired-but-not-declared rings the drift alarm.
20
+ *
21
+ * Returns a `WhenDefinition` that the runtime registers via `registerWhen`.
22
+ */
23
+ export function when(event, handler, options) {
24
+ return {
25
+ $kind: "when",
26
+ eventName: event.name,
27
+ handler: async (msg, ctx) => {
28
+ await handler(msg.payload, ctx);
29
+ },
30
+ dispatches: options?.dispatches?.map((a) => ({ name: a.name })),
31
+ description: options?.description,
32
+ retry: options?.retry,
33
+ hasIdempotencyKey: !!options?.idempotencyKey,
34
+ idempotencyKey: options?.idempotencyKey,
35
+ };
36
+ }
37
+ /**
38
+ * `defineReaction(name, Event, handler, opts?)` — named reaction.
39
+ *
40
+ * Thin wrapper over `when(Event, handler, opts)` that also sets the reaction's
41
+ * name (Studio displays it; the scanner emits it as one row per reaction in
42
+ * `.nwire/reactions.json`). The name should be `<module>.<verb-noun>`:
43
+ *
44
+ * defineReaction(
45
+ * "notifications.notify-on-approval",
46
+ * PostWasApproved,
47
+ * async (event, { send }) => {
48
+ * await send(recordNotification, { ... });
49
+ * },
50
+ * )
51
+ */
52
+ export function defineReaction(name, event, handler, options) {
53
+ const w = when(event, handler, { description: name, ...(options ?? {}) });
54
+ // Attach name as an additional own field so the manifest can pick it up.
55
+ return Object.assign(w, { name });
56
+ }
57
+ //# sourceMappingURL=when.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when.js","sourceRoot":"","sources":["../src/when.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAoEH,MAAM,UAAU,IAAI,CAClB,KAAQ,EACR,OAAqF,EACrF,OAAwB;IAExB,OAAO;QACL,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,OAA0B,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc;QAC5C,cAAc,EAAE,OAAO,EAAE,cAAc;KACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,KAAQ,EACR,OAAqF,EACrF,OAAwB;IAExB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,yEAAyE;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAW,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Pluggable saga timer infrastructure.
3
+ *
4
+ * A workflow's `schedule(timer)` call enqueues a `WorkflowTimer` into a
5
+ * `WorkflowTimerStore`. The runtime periodically asks the store for due
6
+ * timers and routes each as a synthetic event into the originating
7
+ * workflow.
8
+ *
9
+ * The default store is in-memory (`InMemoryWorkflowTimerStore`) — fine for
10
+ * development, single-process apps, and tests. For production sagas that
11
+ * must survive process restarts, plug in a different adapter via
12
+ * `createApp({ workflowTimerStore: new MongoWorkflowTimerStore(db) })`.
13
+ * Same contract; same closure surface; only the backing changes.
14
+ */
15
+ /**
16
+ * A scheduled saga timer. Carries enough context for the runtime to route
17
+ * the fire event back to the right workflow instance.
18
+ */
19
+ export interface WorkflowTimer {
20
+ /** Unique handle id (random by default; durable adapters can use this for dedup). */
21
+ readonly id: string;
22
+ /** Workflow name (`defineWorkflow("subscription.renewal", …)`). */
23
+ readonly workflowName: string;
24
+ /** Correlation key (the saga instance the timer belongs to). */
25
+ readonly correlationKey: string;
26
+ /**
27
+ * Timer's logical name — declared via `timeout("payment-overdue", "7d")`.
28
+ * When the timer fires the runtime synthesizes an event whose name is
29
+ * `__nwire/timer/<workflowName>/<timerName>` and routes it into the
30
+ * workflow as if it had been a normal `on(timer, …)` event.
31
+ */
32
+ readonly timerName: string;
33
+ /** When the timer should fire (ISO 8601 string for adapter portability). */
34
+ readonly fireAt: string;
35
+ /** Optional payload to thread through to the handler. */
36
+ readonly payload?: unknown;
37
+ }
38
+ /**
39
+ * The contract every saga timer store implements. Three methods make a
40
+ * store: schedule, cancel, and drainDue. Adapters add their own boot/
41
+ * shutdown hooks as needed.
42
+ */
43
+ export interface WorkflowTimerStore {
44
+ /** Persist a timer. Idempotent on `id` if the adapter supports it. */
45
+ schedule(timer: WorkflowTimer): Promise<void>;
46
+ /** Cancel a previously-scheduled timer by id. */
47
+ cancel(timerId: string): Promise<void>;
48
+ /**
49
+ * Yield every timer whose `fireAt` is <= `now`. The runtime is
50
+ * responsible for routing each fire back into its workflow. Adapters
51
+ * SHOULD remove yielded timers atomically (so a crash mid-loop doesn't
52
+ * re-fire them next tick).
53
+ */
54
+ drainDue(now: Date): AsyncIterable<WorkflowTimer>;
55
+ /** Optional: list all scheduled timers for one workflow instance. */
56
+ list?(workflowName: string, correlationKey: string): Promise<readonly WorkflowTimer[]>;
57
+ }
58
+ /**
59
+ * Default in-memory store. Lives in the runtime by default; swap to
60
+ * `MongoWorkflowTimerStore` / `RedisWorkflowTimerStore` / your own adapter
61
+ * via `createApp({ workflowTimerStore })` for durable sagas.
62
+ */
63
+ export declare class InMemoryWorkflowTimerStore implements WorkflowTimerStore {
64
+ private readonly timers;
65
+ schedule(timer: WorkflowTimer): Promise<void>;
66
+ cancel(timerId: string): Promise<void>;
67
+ drainDue(now: Date): AsyncIterable<WorkflowTimer>;
68
+ list(workflowName: string, correlationKey: string): Promise<readonly WorkflowTimer[]>;
69
+ /** Test helper — observe what's currently scheduled. */
70
+ snapshot(): readonly WorkflowTimer[];
71
+ }
72
+ /**
73
+ * Synthesize the event name a fired timer arrives as. Workflows subscribe
74
+ * via `on(timer, handler)` where `timer` is the `TimerDefinition` returned
75
+ * by `timeout("foo", "7d")`; both sides agree on the same canonical name.
76
+ */
77
+ export declare function timerEventName(workflowName: string, timerName: string): string;
78
+ //# sourceMappingURL=workflow-timer-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-timer-store.d.ts","sourceRoot":"","sources":["../src/workflow-timer-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,iDAAiD;IACjD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAClD,qEAAqE;IACrE,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CACxF;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,kBAAkB;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAErD,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,aAAa,CAAC,aAAa,CAAC;IAYlD,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IAM3F,wDAAwD;IACxD,QAAQ,IAAI,SAAS,aAAa,EAAE;CAGrC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Pluggable saga timer infrastructure.
3
+ *
4
+ * A workflow's `schedule(timer)` call enqueues a `WorkflowTimer` into a
5
+ * `WorkflowTimerStore`. The runtime periodically asks the store for due
6
+ * timers and routes each as a synthetic event into the originating
7
+ * workflow.
8
+ *
9
+ * The default store is in-memory (`InMemoryWorkflowTimerStore`) — fine for
10
+ * development, single-process apps, and tests. For production sagas that
11
+ * must survive process restarts, plug in a different adapter via
12
+ * `createApp({ workflowTimerStore: new MongoWorkflowTimerStore(db) })`.
13
+ * Same contract; same closure surface; only the backing changes.
14
+ */
15
+ /**
16
+ * Default in-memory store. Lives in the runtime by default; swap to
17
+ * `MongoWorkflowTimerStore` / `RedisWorkflowTimerStore` / your own adapter
18
+ * via `createApp({ workflowTimerStore })` for durable sagas.
19
+ */
20
+ export class InMemoryWorkflowTimerStore {
21
+ timers = new Map();
22
+ async schedule(timer) {
23
+ this.timers.set(timer.id, timer);
24
+ }
25
+ async cancel(timerId) {
26
+ this.timers.delete(timerId);
27
+ }
28
+ async *drainDue(now) {
29
+ const cutoff = now.getTime();
30
+ const due = [];
31
+ for (const [id, timer] of this.timers) {
32
+ if (Date.parse(timer.fireAt) <= cutoff) {
33
+ due.push(timer);
34
+ this.timers.delete(id);
35
+ }
36
+ }
37
+ for (const timer of due)
38
+ yield timer;
39
+ }
40
+ async list(workflowName, correlationKey) {
41
+ return [...this.timers.values()].filter((t) => t.workflowName === workflowName && t.correlationKey === correlationKey);
42
+ }
43
+ /** Test helper — observe what's currently scheduled. */
44
+ snapshot() {
45
+ return [...this.timers.values()];
46
+ }
47
+ }
48
+ /**
49
+ * Synthesize the event name a fired timer arrives as. Workflows subscribe
50
+ * via `on(timer, handler)` where `timer` is the `TimerDefinition` returned
51
+ * by `timeout("foo", "7d")`; both sides agree on the same canonical name.
52
+ */
53
+ export function timerEventName(workflowName, timerName) {
54
+ return `__nwire/timer/${workflowName}/${timerName}`;
55
+ }
56
+ //# sourceMappingURL=workflow-timer-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-timer-store.js","sourceRoot":"","sources":["../src/workflow-timer-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA+CH;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IACpB,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE3D,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAS;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAoB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,GAAG;YAAE,MAAM,KAAK,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAoB,EAAE,cAAsB;QACrD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,CAAC,cAAc,KAAK,cAAc,CAC9E,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,QAAQ;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB,EAAE,SAAiB;IACpE,OAAO,iBAAiB,YAAY,IAAI,SAAS,EAAE,CAAC;AACtD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@nwire/forge",
3
+ "version": "0.7.0",
4
+ "description": "Nwire — the framework's core primitives. defineAction, defineEvent, defineHandler, defineActor, defineProjection, defineQuery, defineWorkflow, defineModule, defineApp, definePlugin, createApp. MessageEnvelope with correlation/causation. The runtime is the bus.",
5
+ "keywords": [
6
+ "actions",
7
+ "actors",
8
+ "cqrs",
9
+ "events",
10
+ "forge",
11
+ "framework",
12
+ "nwire"
13
+ ],
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
18
+ "type": "module",
19
+ "main": "./dist/foundation.js",
20
+ "types": "./dist/foundation.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/foundation.js",
24
+ "types": "./dist/foundation.d.ts"
25
+ }
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "dependencies": {
31
+ "@koa/router": "^15.3.0",
32
+ "emittery": "1.0.1",
33
+ "koa": "^2.16.4",
34
+ "zod": "^4.0.0",
35
+ "@nwire/container": "0.7.0",
36
+ "@nwire/envelope": "0.7.0",
37
+ "@nwire/handler": "0.7.0",
38
+ "@nwire/bus": "0.7.0",
39
+ "@nwire/logger": "0.7.0",
40
+ "@nwire/interface": "0.7.0",
41
+ "@nwire/dead-letter": "0.7.0",
42
+ "@nwire/app": "0.7.0",
43
+ "@nwire/messages": "0.7.0"
44
+ },
45
+ "devDependencies": {
46
+ "@types/koa": "^2.15.0",
47
+ "@types/koa-bodyparser": "^4.3.13",
48
+ "@types/koa__router": "^12.0.5",
49
+ "@types/node": "^22.19.9",
50
+ "@types/supertest": "^6.0.3",
51
+ "koa-bodyparser": "^4.4.1",
52
+ "supertest": "^7.2.2",
53
+ "typescript": "^5.9.3"
54
+ },
55
+ "scripts": {
56
+ "build": "tsc && node ../../scripts/fix-dist-extensions.mjs dist",
57
+ "dev": "tsc --watch",
58
+ "typecheck": "tsc --noEmit"
59
+ }
60
+ }