@nwire/forge 0.8.0 → 0.8.17

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 (51) hide show
  1. package/README.md +132 -71
  2. package/dist/__tests__/actor-workflow-hooks.test.js +3 -1
  3. package/dist/__tests__/actor-workflow-hooks.test.js.map +1 -1
  4. package/dist/__tests__/lifecycle-logging.test.js.map +1 -1
  5. package/dist/__tests__/plugin-app-narrow.test.d.ts +12 -0
  6. package/dist/__tests__/plugin-app-narrow.test.d.ts.map +1 -0
  7. package/dist/__tests__/plugin-app-narrow.test.js +77 -0
  8. package/dist/__tests__/plugin-app-narrow.test.js.map +1 -0
  9. package/dist/__tests__/plugin-stress.test.js +2 -2
  10. package/dist/__tests__/plugin-stress.test.js.map +1 -1
  11. package/dist/__tests__/public-marker.test.js +7 -3
  12. package/dist/__tests__/public-marker.test.js.map +1 -1
  13. package/dist/actor-store.d.ts.map +1 -1
  14. package/dist/actor-store.js.map +1 -1
  15. package/dist/create-app.d.ts +9 -1
  16. package/dist/create-app.d.ts.map +1 -1
  17. package/dist/create-app.js +29 -13
  18. package/dist/create-app.js.map +1 -1
  19. package/dist/define-action.d.ts +71 -7
  20. package/dist/define-action.d.ts.map +1 -1
  21. package/dist/define-action.js +101 -27
  22. package/dist/define-action.js.map +1 -1
  23. package/dist/define-actor.js.map +1 -1
  24. package/dist/define-handler.d.ts +18 -1
  25. package/dist/define-handler.d.ts.map +1 -1
  26. package/dist/define-handler.js +7 -0
  27. package/dist/define-handler.js.map +1 -1
  28. package/dist/define-plugin.d.ts +21 -0
  29. package/dist/define-plugin.d.ts.map +1 -1
  30. package/dist/define-plugin.js +66 -0
  31. package/dist/define-plugin.js.map +1 -1
  32. package/dist/define-query.d.ts +66 -12
  33. package/dist/define-query.d.ts.map +1 -1
  34. package/dist/define-query.js +47 -18
  35. package/dist/define-query.js.map +1 -1
  36. package/dist/dev-logger.d.ts.map +1 -1
  37. package/dist/dev-logger.js +5 -2
  38. package/dist/dev-logger.js.map +1 -1
  39. package/dist/event-message.d.ts +9 -2
  40. package/dist/event-message.d.ts.map +1 -1
  41. package/dist/event-message.js +10 -3
  42. package/dist/event-message.js.map +1 -1
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/runtime.d.ts +9 -3
  48. package/dist/runtime.d.ts.map +1 -1
  49. package/dist/runtime.js +32 -13
  50. package/dist/runtime.js.map +1 -1
  51. package/package.json +11 -11
@@ -26,9 +26,16 @@ import { rootContainer } from "@nwire/container";
26
26
  import { seedEnvelope } from "@nwire/envelope";
27
27
  import { hook } from "@nwire/hooks";
28
28
  import { Runtime } from "./runtime.js";
29
- import { buildPluginContext } from "./define-plugin.js";
29
+ import { adaptAppPlugin, buildPluginContext } from "./define-plugin.js";
30
+ import { isAppPlugin } from "@nwire/app";
30
31
  import { AppRegistering, AppBooting, AppBooted, AppShuttingDown, AppShutdown, PluginRegistered, PluginBooting, PluginBooted, PluginShuttingDown, PluginShutdown, builtInLifecycleEvents, } from "./framework-events.js";
31
32
  export function createApp(options) {
33
+ // Normalize the plugin list: callers may pass either the rich forge
34
+ // PluginDefinition or the narrow @nwire/app AppPluginDefinition. The
35
+ // downstream pipeline (register loop, framework events, shutdown) is
36
+ // written against the rich shape, so adapt narrow → rich here. Every
37
+ // subsequent use of `options.plugins` reads from `plugins` instead.
38
+ const plugins = (options.plugins ?? []).map((p) => isAppPlugin(p) ? adaptAppPlugin(p) : p);
32
39
  // Index local provides up-front — both validators and the bus-subscription
33
40
  // loop need to know "is this event satisfiable locally in this app?"
34
41
  const localEventProviders = indexLocalEventProviders(options.modules);
@@ -70,14 +77,18 @@ export function createApp(options) {
70
77
  */
71
78
  const containerForCaps = options.container ?? rootContainer;
72
79
  containerForCaps.register("execute", () => {
73
- return async function execute(action, input) {
74
- return await runtime.dispatch(action, input, seedEnvelope({}));
80
+ return async function execute(actionOrCmd, input) {
81
+ const { resolveDispatch } = await import("./define-action.js");
82
+ const { action, input: resolvedInput } = resolveDispatch(actionOrCmd, input, runtime.findActionByName.bind(runtime));
83
+ return await runtime.dispatch(action, resolvedInput, seedEnvelope({}));
75
84
  };
76
85
  });
77
86
  containerForCaps.register("send", () => {
78
- return async function send(action, input) {
87
+ return async function send(actionOrCmd, input) {
79
88
  // Fire-and-forget — same envelope-per-call story as `execute`.
80
- await runtime.dispatch(action, input, seedEnvelope({}));
89
+ const { resolveDispatch } = await import("./define-action.js");
90
+ const { action, input: resolvedInput } = resolveDispatch(actionOrCmd, input, runtime.findActionByName.bind(runtime));
91
+ await runtime.dispatch(action, resolvedInput, seedEnvelope({}));
81
92
  };
82
93
  });
83
94
  containerForCaps.register("useProjection", () => {
@@ -167,7 +178,7 @@ export function createApp(options) {
167
178
  pluginShutdownHooks.set(module.name, shutdownH);
168
179
  }
169
180
  // Same for real plugins.
170
- for (const plugin of options.plugins ?? []) {
181
+ for (const plugin of plugins) {
171
182
  const bootH = hook(`plugin.boot:${plugin.name}`);
172
183
  const shutdownH = hook(`plugin.shutdown:${plugin.name}`);
173
184
  runtime.adoptHook(bootH);
@@ -194,7 +205,7 @@ export function createApp(options) {
194
205
  /** Keyed by plugin index so we can fire reverse on stop in-order. */
195
206
  const closureShutdowns = new Map();
196
207
  let pluginIdx = 0;
197
- for (const plugin of options.plugins ?? []) {
208
+ for (const plugin of plugins) {
198
209
  if (plugin.register)
199
210
  plugin.register(container);
200
211
  if (plugin.setup) {
@@ -229,7 +240,7 @@ export function createApp(options) {
229
240
  $nwireApp: true,
230
241
  runtime,
231
242
  modules: options.modules,
232
- plugins: options.plugins ?? [],
243
+ plugins,
233
244
  container,
234
245
  get appName() {
235
246
  return runtime.appName;
@@ -265,7 +276,7 @@ export function createApp(options) {
265
276
  kind: "module",
266
277
  });
267
278
  }
268
- for (const plugin of options.plugins ?? []) {
279
+ for (const plugin of plugins) {
269
280
  await runtime.frameworkEvents.fire(PluginRegistered, {
270
281
  appName,
271
282
  pluginName: plugin.name,
@@ -315,7 +326,7 @@ export function createApp(options) {
315
326
  // Object-form plugins run their `boot` callback; closure-form
316
327
  // plugins additionally fire every `api.boot(...)` they registered
317
328
  // in setup, in declaration order.
318
- const allPlugins = options.plugins ?? [];
329
+ const allPlugins = plugins;
319
330
  for (let i = 0; i < allPlugins.length; i++) {
320
331
  const plugin = allPlugins[i];
321
332
  const pluginName = plugin.name;
@@ -332,7 +343,10 @@ export function createApp(options) {
332
343
  // runs (matches Studio's expected view of "what runs at boot").
333
344
  const bootHook = pluginBootHooks.get(pluginName);
334
345
  if (plugin.boot) {
335
- bootHook.use(async (_c, next) => { await plugin.boot(container); await next(); }, {
346
+ bootHook.use(async (_c, next) => {
347
+ await plugin.boot(container);
348
+ await next();
349
+ }, {
336
350
  name: "boot",
337
351
  });
338
352
  }
@@ -340,7 +354,10 @@ export function createApp(options) {
340
354
  if (boots) {
341
355
  for (let k = 0; k < boots.length; k++) {
342
356
  const fn = boots[k];
343
- bootHook.use(async (_c, next) => { await fn(); await next(); }, {
357
+ bootHook.use(async (_c, next) => {
358
+ await fn();
359
+ await next();
360
+ }, {
344
361
  name: `closure[${k}]`,
345
362
  });
346
363
  }
@@ -442,7 +459,6 @@ export function createApp(options) {
442
459
  console.error(`[nwire/shutdown] step "${label}" threw — continuing with remaining steps:`, err);
443
460
  }
444
461
  };
445
- const plugins = options.plugins ?? [];
446
462
  for (let i = plugins.length - 1; i >= 0; i--) {
447
463
  const plugin = plugins[i];
448
464
  const pluginName = plugin.name;
@@ -1 +1 @@
1
- {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,15 @@
11
11
  * })
12
12
  *
13
13
  * An action carries a `name` (its routing key) and a `schema` (input type).
14
- * Pass it by reference to `defineHandler(action, fn)`, `ctx.request(action, ...)`,
15
- * or `ctx.send(action, ...)`. The name is the identity everywhere — Studio,
16
- * telemetry, OpenAPI, and the event graph all key off it.
14
+ * It is BOTH a meta record (`.name`, `.schema`, …) AND a callable factory:
15
+ *
16
+ * execute(submitAnswer({ studentId, attemptId, choice })) // dispatch
17
+ * defineHandler(submitAnswer, fn) // bind handler
18
+ * ctx.send(submitAnswer, input) // also valid
19
+ *
20
+ * Calling the action mints a typed `CommandMessage` with input validated
21
+ * against the zod schema — the dispatch site can't pass bad data. Mirrors
22
+ * the `defineEvent → EventMessage` pattern (Phase 41.9).
17
23
  *
18
24
  * Inline shorthand: `defineAction({ ..., handler })` synthesizes a handler
19
25
  * alongside the contract. For cross-module orchestration where the handler
@@ -23,7 +29,6 @@ import type { z } from "zod";
23
29
  import type { ZodTypeAny } from "@nwire/messages";
24
30
  import type { EventDefinition, SourceLocation } from "@nwire/messages";
25
31
  import { type HandlerDefinition, type HandlerReturn, type HandlerContext } from "./define-handler.js";
26
- import { type PublicMarker } from "./public-marker.js";
27
32
  /**
28
33
  * Retry policy for an action's handler. When a handler throws, the runtime
29
34
  * retries up to `max` times with `backoff` strategy between attempts. After
@@ -52,7 +57,38 @@ export interface ActionSlo {
52
57
  /** Declared success rate target (0–1). */
53
58
  readonly successRate?: number;
54
59
  }
55
- export interface ActionDefinition<TSchema extends ZodTypeAny = ZodTypeAny> extends PublicMarker {
60
+ /**
61
+ * Shape returned when an action definition is called as a factory.
62
+ *
63
+ * const cmd = submitAnswer({ ... }) // { $kind, actionName, input }
64
+ * execute(cmd) // dispatch
65
+ *
66
+ * The runtime's `execute`/`send`/`dispatch` accept either this command
67
+ * message OR the legacy `(action, input)` positional form. Both routes
68
+ * end at the same handler.
69
+ */
70
+ export interface CommandMessage<TSchema extends ZodTypeAny = ZodTypeAny> {
71
+ readonly $kind: "command";
72
+ readonly actionName: string;
73
+ readonly input: z.output<TSchema>;
74
+ }
75
+ /**
76
+ * The non-callable action shape — used as the abstract reference type in
77
+ * function signatures (`runtime.dispatch(action: ActionDefinition, …)`,
78
+ * `defineHandler(action: ActionDefinition, …)`, etc.). Concrete actions
79
+ * returned from `defineAction` are `CallableActionDefinition` (this + a
80
+ * call signature); they're assignable wherever `ActionDefinition` is
81
+ * required because the call signature is purely additive.
82
+ *
83
+ * Why split: TS call signatures are contravariant in their parameter, so
84
+ * a typed `(input: MySchema) => …` is NOT assignable to `(input: unknown)
85
+ * => …`. Keeping the abstract reference type non-callable preserves
86
+ * covariance over `TSchema` — `ActionDefinition<MySchema>` flows freely
87
+ * into `ActionDefinition<ZodTypeAny>` positions across the runtime.
88
+ */
89
+ export interface ActionDefinition<TSchema extends ZodTypeAny = ZodTypeAny> {
90
+ /** Truthy when this definition was marked via `.public()` in a manifest. */
91
+ readonly $public?: true;
56
92
  readonly $kind: "action";
57
93
  readonly name: string;
58
94
  readonly description?: string;
@@ -114,7 +150,18 @@ export interface ActionDefinition<TSchema extends ZodTypeAny = ZodTypeAny> exten
114
150
  readonly emits?: readonly EventDefinition[];
115
151
  /** Where the action was declared. Studio uses this for IDE-open links. */
116
152
  readonly $source?: SourceLocation;
153
+ /** Return a callable action clone with `$public: true`. */
154
+ public: () => CallableActionDefinition<TSchema>;
117
155
  }
156
+ /**
157
+ * The full action shape returned from `defineAction` — adds the call
158
+ * signature so consumers can mint a typed `CommandMessage` inline:
159
+ *
160
+ * submitAnswer.name // "submissions.submit-answer"
161
+ * submitAnswer({ studentId, ... }) // CommandMessage
162
+ * submitAnswer.public() // callable clone, $public: true
163
+ */
164
+ export type CallableActionDefinition<TSchema extends ZodTypeAny = ZodTypeAny> = ActionDefinition<TSchema> & ((input: z.input<TSchema>) => CommandMessage<TSchema>);
118
165
  export interface ActionMeta<TSchema extends ZodTypeAny = ZodTypeAny> {
119
166
  readonly name: string;
120
167
  readonly description?: string;
@@ -144,7 +191,24 @@ export interface ActionMeta<TSchema extends ZodTypeAny = ZodTypeAny> {
144
191
  */
145
192
  readonly handler?: (input: z.output<TSchema>, ctx: HandlerContext) => Promise<HandlerReturn> | HandlerReturn;
146
193
  }
147
- export declare function defineAction<TSchema extends ZodTypeAny>(meta: ActionMeta<TSchema>): ActionDefinition<TSchema>;
148
- export declare function defineAction<TSchema extends ZodTypeAny>(name: string, meta: Omit<ActionMeta<TSchema>, "name">): ActionDefinition<TSchema>;
194
+ export declare function defineAction<TSchema extends ZodTypeAny>(meta: ActionMeta<TSchema>): CallableActionDefinition<TSchema>;
195
+ export declare function defineAction<TSchema extends ZodTypeAny>(name: string, meta: Omit<ActionMeta<TSchema>, "name">): CallableActionDefinition<TSchema>;
149
196
  export type ActionInput<A> = A extends ActionDefinition<infer S> ? z.output<S> : never;
197
+ /**
198
+ * Type guard for `CommandMessage`. Runtime accepts either `(action, input)`
199
+ * positional or `command` shorthand; transports + execute() use this to
200
+ * disambiguate.
201
+ */
202
+ export declare function isCommandMessage(x: unknown): x is CommandMessage;
203
+ /**
204
+ * Resolve either dispatch form into `(action, input)`. Centralised so every
205
+ * transport surface (execute, send, ctx.request) accepts both call shapes
206
+ * with one helper. When the caller passes a `CommandMessage`, the resolver
207
+ * looks up the action by name on the runtime; when they pass an
208
+ * `ActionDefinition` + input, it short-circuits.
209
+ */
210
+ export declare function resolveDispatch(actionOrCmd: ActionDefinition | CommandMessage, input: unknown, lookup: (name: string) => ActionDefinition | undefined): {
211
+ action: ActionDefinition;
212
+ input: unknown;
213
+ };
150
214
  //# sourceMappingURL=define-action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-action.d.ts","sourceRoot":"","sources":["../src/define-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-action.d.ts","sourceRoot":"","sources":["../src/define-action.ts"],"names":[],"mappings":"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"}
@@ -11,45 +11,119 @@
11
11
  * })
12
12
  *
13
13
  * An action carries a `name` (its routing key) and a `schema` (input type).
14
- * Pass it by reference to `defineHandler(action, fn)`, `ctx.request(action, ...)`,
15
- * or `ctx.send(action, ...)`. The name is the identity everywhere — Studio,
16
- * telemetry, OpenAPI, and the event graph all key off it.
14
+ * It is BOTH a meta record (`.name`, `.schema`, …) AND a callable factory:
15
+ *
16
+ * execute(submitAnswer({ studentId, attemptId, choice })) // dispatch
17
+ * defineHandler(submitAnswer, fn) // bind handler
18
+ * ctx.send(submitAnswer, input) // also valid
19
+ *
20
+ * Calling the action mints a typed `CommandMessage` with input validated
21
+ * against the zod schema — the dispatch site can't pass bad data. Mirrors
22
+ * the `defineEvent → EventMessage` pattern (Phase 41.9).
17
23
  *
18
24
  * Inline shorthand: `defineAction({ ..., handler })` synthesizes a handler
19
25
  * alongside the contract. For cross-module orchestration where the handler
20
26
  * lives elsewhere, leave `handler` undefined and wire via `defineHandler`.
21
27
  */
22
28
  import { captureSourceLocation } from "@nwire/messages";
23
- import { defineHandler } from "./define-handler.js";
24
- import { markable } from "./public-marker.js";
29
+ import { defineHandler, } from "./define-handler.js";
25
30
  export function defineAction(nameOrMeta, maybeMeta) {
26
31
  const $source = captureSourceLocation();
27
32
  const meta = typeof nameOrMeta === "string"
28
33
  ? { ...(maybeMeta ?? {}), name: nameOrMeta }
29
34
  : nameOrMeta;
30
- const action = {
31
- $kind: "action",
32
- name: meta.name,
33
- description: meta.description,
34
- schema: meta.schema,
35
- retry: meta.retry,
36
- policy: meta.policy,
37
- persona: meta.persona,
38
- journeyStep: meta.journeyStep,
39
- capability: meta.capability,
40
- slo: meta.slo,
41
- tags: meta.tags,
42
- emits: meta.emits,
43
- $source,
44
- };
35
+ return buildAction(meta, $source, false);
36
+ }
37
+ /**
38
+ * Internal — build the callable action with all meta props attached.
39
+ * Separated so `.public()` can re-build a clone with `$public: true` while
40
+ * sharing one construction path (avoids drift between fresh-defined and
41
+ * cloned actions).
42
+ */
43
+ function buildAction(meta, $source, isPublic) {
44
+ const factory = (input) => ({
45
+ $kind: "command",
46
+ actionName: meta.name,
47
+ input: meta.schema.parse(input),
48
+ });
49
+ // Inline handler — delegate to `defineHandler` so there is a single
50
+ // construction path for HandlerDefinition.
51
+ let handler;
52
+ if (meta.handler) {
53
+ // Will be patched onto `factory` below; build the handler def first so it
54
+ // references the action contract (factory itself, post-property-attach).
55
+ handler = undefined; // placeholder, set after props attach
56
+ }
57
+ Object.defineProperties(factory, {
58
+ $kind: { value: "action", enumerable: true },
59
+ name: { value: meta.name, enumerable: true, configurable: true },
60
+ description: { value: meta.description, enumerable: true },
61
+ schema: { value: meta.schema, enumerable: true },
62
+ retry: { value: meta.retry, enumerable: true },
63
+ policy: { value: meta.policy, enumerable: true },
64
+ persona: { value: meta.persona, enumerable: true },
65
+ journeyStep: { value: meta.journeyStep, enumerable: true },
66
+ capability: { value: meta.capability, enumerable: true },
67
+ slo: { value: meta.slo, enumerable: true },
68
+ tags: { value: meta.tags, enumerable: true },
69
+ emits: { value: meta.emits, enumerable: true },
70
+ toString: { value: () => meta.name, enumerable: false },
71
+ $source: { value: $source, enumerable: false, configurable: true },
72
+ });
73
+ if (isPublic) {
74
+ Object.defineProperty(factory, "$public", {
75
+ value: true,
76
+ enumerable: false,
77
+ configurable: true,
78
+ });
79
+ }
80
+ // Now that `factory` carries all action metadata, defineHandler can bind
81
+ // to it as a proper ActionDefinition reference.
45
82
  if (meta.handler) {
46
- // Inline form is sugar — delegate to `defineHandler` so there is a
47
- // single construction path for HandlerDefinition. Anything that
48
- // future-touches handler shape (kind tag, telemetry hooks, schema
49
- // binding) only has to be updated in one place.
50
- const handler = defineHandler(action, meta.handler);
51
- return markable({ ...action, handler });
83
+ handler = defineHandler(factory, meta.handler);
84
+ Object.defineProperty(factory, "handler", {
85
+ value: handler,
86
+ enumerable: true,
87
+ configurable: true,
88
+ });
89
+ }
90
+ Object.defineProperty(factory, "public", {
91
+ value: function publicMarker() {
92
+ return buildAction(meta, $source, true);
93
+ },
94
+ enumerable: false,
95
+ configurable: true,
96
+ });
97
+ return factory;
98
+ }
99
+ /**
100
+ * Type guard for `CommandMessage`. Runtime accepts either `(action, input)`
101
+ * positional or `command` shorthand; transports + execute() use this to
102
+ * disambiguate.
103
+ */
104
+ export function isCommandMessage(x) {
105
+ return (typeof x === "object" &&
106
+ x !== null &&
107
+ x.$kind === "command" &&
108
+ typeof x.actionName === "string");
109
+ }
110
+ /**
111
+ * Resolve either dispatch form into `(action, input)`. Centralised so every
112
+ * transport surface (execute, send, ctx.request) accepts both call shapes
113
+ * with one helper. When the caller passes a `CommandMessage`, the resolver
114
+ * looks up the action by name on the runtime; when they pass an
115
+ * `ActionDefinition` + input, it short-circuits.
116
+ */
117
+ export function resolveDispatch(actionOrCmd, input, lookup) {
118
+ if (isCommandMessage(actionOrCmd)) {
119
+ const action = lookup(actionOrCmd.actionName);
120
+ if (!action) {
121
+ throw new Error(`dispatch: action "${actionOrCmd.actionName}" is not registered. ` +
122
+ `If you used the callable form (\`execute(myAction(input))\`), make ` +
123
+ `sure the action is included in a module's \`actions\` array.`);
124
+ }
125
+ return { action, input: actionOrCmd.input };
52
126
  }
53
- return markable(action);
127
+ return { action: actionOrCmd, input };
54
128
  }
55
129
  //# sourceMappingURL=define-action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-action.js","sourceRoot":"","sources":["../src/define-action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAmE,MAAM,kBAAkB,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAqB,MAAM,iBAAiB,CAAC;AA6I9D,MAAM,UAAU,YAAY,CAC1B,UAAwC,EACxC,SAA6C;IAE7C,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IACxC,MAAM,IAAI,GACR,OAAO,UAAU,KAAK,QAAQ;QAC5B,CAAC,CAAE,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAA0B;QACrE,CAAC,CAAC,UAAU,CAAC;IAEjB,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,QAAiB;QACxB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;KACR,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,mEAAmE;QACnE,gEAAgE;QAChE,kEAAkE;QAClE,gDAAgD;QAChD,MAAM,OAAO,GAAG,aAAa,CAC3B,MAAmC,EACnC,IAAI,CAAC,OAAgD,CACtD,CAAC;QACF,OAAO,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAA8B,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAA8B,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"define-action.js","sourceRoot":"","sources":["../src/define-action.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-actor.js","sourceRoot":"","sources":["../src/define-actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-actor.js","sourceRoot":"","sources":["../src/define-actor.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@
18
18
  * returned events route to actors + workflows and commit atomically.
19
19
  *
20
20
  * If the handler does pure side effects (no events to commit), return `void`.
21
+ *
22
+ * For CRUD-style handlers that don't emit events but want to surface a small
23
+ * record to the caller (e.g. `{ userId }` for the HTTP layer to echo back),
24
+ * return a plain object. The runtime treats it as a non-event return: nothing
25
+ * is published, and the value flows through `runtime.dispatch`'s return + the
26
+ * `ActionCompleted` framework event. Events vs records are disambiguated by
27
+ * the `eventName` + `payload` shape — plain objects pass straight through.
21
28
  */
22
29
  import type { z } from "zod";
23
30
  import type { ZodTypeAny, SourceLocation } from "@nwire/messages";
@@ -105,7 +112,17 @@ export interface HandlerContext {
105
112
  */
106
113
  externalCall<TRequest extends ZodTypeAny, TResponse extends ZodTypeAny>(call: ExternalCallDefinition<TRequest, TResponse>, request: z.output<TRequest>): Promise<z.output<TResponse>>;
107
114
  }
108
- export type HandlerReturn = void | EventMessage | EventMessage[] | null;
115
+ /**
116
+ * What a handler may return.
117
+ *
118
+ * - `void` / `null` / `undefined` — pure side-effect handler, nothing to publish.
119
+ * - `EventMessage` / `EventMessage[]` — events the runtime publishes atomically.
120
+ * - `Record<string, unknown>` — a plain data record (e.g. `{ userId }`) that
121
+ * is NOT published. It flows out via `runtime.dispatch`'s return value and
122
+ * the `ActionCompleted` framework event. Distinguished from `EventMessage`
123
+ * at runtime by the missing `eventName` + `payload` shape.
124
+ */
125
+ export type HandlerReturn = void | EventMessage | EventMessage[] | Record<string, unknown> | null;
109
126
  export interface HandlerDefinition<TSchema extends ZodTypeAny = ZodTypeAny> {
110
127
  readonly $kind: "handler";
111
128
  readonly action: ActionDefinition<TSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"define-handler.d.ts","sourceRoot":"","sources":["../src/define-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-handler.d.ts","sourceRoot":"","sources":["../src/define-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,4EAA4E;IAC5E,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChG;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,GAAG,OAAO,EAErB,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,MAAM,SAAS,eAAe,EAChC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,SAAS,UAAU,EAAE,SAAS,SAAS,UAAU,EACpE,IAAI,EAAE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,EACjD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAElG,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACxB,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;IAC5C,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAS,UAAU,EACtD,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,EACjC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GAC7C,iBAAiB,CAAC,OAAO,CAAC,CAO5B"}
@@ -18,6 +18,13 @@
18
18
  * returned events route to actors + workflows and commit atomically.
19
19
  *
20
20
  * If the handler does pure side effects (no events to commit), return `void`.
21
+ *
22
+ * For CRUD-style handlers that don't emit events but want to surface a small
23
+ * record to the caller (e.g. `{ userId }` for the HTTP layer to echo back),
24
+ * return a plain object. The runtime treats it as a non-event return: nothing
25
+ * is published, and the value flows through `runtime.dispatch`'s return + the
26
+ * `ActionCompleted` framework event. Events vs records are disambiguated by
27
+ * the `eventName` + `payload` shape — plain objects pass straight through.
21
28
  */
22
29
  import { captureSourceLocation } from "@nwire/messages";
23
30
  export function defineHandler(action, handler) {
@@ -1 +1 @@
1
- {"version":3,"file":"define-handler.js","sourceRoot":"","sources":["../src/define-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA8GxD,MAAM,UAAU,aAAa,CAC3B,MAAiC,EACjC,OAA8C;IAE9C,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,MAAM;QACN,OAAO;QACP,OAAO,EAAE,qBAAqB,EAAE;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"define-handler.js","sourceRoot":"","sources":["../src/define-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAwHxD,MAAM,UAAU,aAAa,CAC3B,MAAiC,EACjC,OAA8C;IAE9C,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,MAAM;QACN,OAAO;QACP,OAAO,EAAE,qBAAqB,EAAE;KACjC,CAAC;AACJ,CAAC"}