@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.
- package/README.md +132 -71
- package/dist/__tests__/actor-workflow-hooks.test.js +3 -1
- package/dist/__tests__/actor-workflow-hooks.test.js.map +1 -1
- package/dist/__tests__/lifecycle-logging.test.js.map +1 -1
- package/dist/__tests__/plugin-app-narrow.test.d.ts +12 -0
- package/dist/__tests__/plugin-app-narrow.test.d.ts.map +1 -0
- package/dist/__tests__/plugin-app-narrow.test.js +77 -0
- package/dist/__tests__/plugin-app-narrow.test.js.map +1 -0
- package/dist/__tests__/plugin-stress.test.js +2 -2
- package/dist/__tests__/plugin-stress.test.js.map +1 -1
- package/dist/__tests__/public-marker.test.js +7 -3
- package/dist/__tests__/public-marker.test.js.map +1 -1
- package/dist/actor-store.d.ts.map +1 -1
- package/dist/actor-store.js.map +1 -1
- package/dist/create-app.d.ts +9 -1
- package/dist/create-app.d.ts.map +1 -1
- package/dist/create-app.js +29 -13
- package/dist/create-app.js.map +1 -1
- package/dist/define-action.d.ts +71 -7
- package/dist/define-action.d.ts.map +1 -1
- package/dist/define-action.js +101 -27
- package/dist/define-action.js.map +1 -1
- package/dist/define-actor.js.map +1 -1
- package/dist/define-handler.d.ts +18 -1
- package/dist/define-handler.d.ts.map +1 -1
- package/dist/define-handler.js +7 -0
- package/dist/define-handler.js.map +1 -1
- package/dist/define-plugin.d.ts +21 -0
- package/dist/define-plugin.d.ts.map +1 -1
- package/dist/define-plugin.js +66 -0
- package/dist/define-plugin.js.map +1 -1
- package/dist/define-query.d.ts +66 -12
- package/dist/define-query.d.ts.map +1 -1
- package/dist/define-query.js +47 -18
- package/dist/define-query.js.map +1 -1
- package/dist/dev-logger.d.ts.map +1 -1
- package/dist/dev-logger.js +5 -2
- package/dist/dev-logger.js.map +1 -1
- package/dist/event-message.d.ts +9 -2
- package/dist/event-message.d.ts.map +1 -1
- package/dist/event-message.js +10 -3
- package/dist/event-message.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts +9 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +32 -13
- package/dist/runtime.js.map +1 -1
- package/package.json +11 -11
package/dist/define-plugin.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ import type { ActorDefinition } from "./define-actor.js";
|
|
|
53
53
|
import type { MessageEnvelope } from "@nwire/envelope";
|
|
54
54
|
import type { FrameworkEventDefinition } from "./framework-events.js";
|
|
55
55
|
import type { FrameworkEventHandler } from "./framework-event-bus.js";
|
|
56
|
+
import type { AppPluginDefinition } from "@nwire/app";
|
|
56
57
|
/** Hook fired by the runtime after an actor transitions to a new state. */
|
|
57
58
|
export type ActorTransitionHook = (actor: ActorDefinition, key: string, fromState: string, toState: string, event: EventMessage, envelope: MessageEnvelope) => Promise<void> | void;
|
|
58
59
|
export interface PluginActorHooks {
|
|
@@ -171,4 +172,24 @@ export declare function buildPluginContext(container: Container, runtime: Runtim
|
|
|
171
172
|
readonly boots: Array<() => Promise<void> | void>;
|
|
172
173
|
readonly shutdowns: Array<() => Promise<void> | void>;
|
|
173
174
|
};
|
|
175
|
+
/**
|
|
176
|
+
* Adapt a narrow `@nwire/app` plugin into the rich forge `PluginDefinition`
|
|
177
|
+
* createApp expects. The narrow shape (provide / on / boot / shutdown) is a
|
|
178
|
+
* strict subset of the rich shape, so the adaptation is straight forwarding:
|
|
179
|
+
*
|
|
180
|
+
* - `provide(name, lifecycle)` becomes a `bind` whose factory invokes the
|
|
181
|
+
* lifecycle's `boot()` once, plus a shutdown step that runs
|
|
182
|
+
* `lifecycle.shutdown(value)` against the resolved value if it was ever
|
|
183
|
+
* materialized. Lazy resolution matches the rich `bind` contract — a
|
|
184
|
+
* value nobody asks for is never booted (and therefore never torn down).
|
|
185
|
+
* - `on(FrameworkEvent, handler, prio?)` maps 1:1 onto `runtime.onFramework`,
|
|
186
|
+
* which is what the rich `api.on` already does internally.
|
|
187
|
+
* - `boot(fn)` / `shutdown(fn)` map 1:1.
|
|
188
|
+
*
|
|
189
|
+
* The narrow plugin's `setup` may be async; we honor that by returning a
|
|
190
|
+
* Promise from the rich setup. createApp's sync register loop rejects async
|
|
191
|
+
* rich setups today, so app-plugin authors who need async work should put it
|
|
192
|
+
* inside `api.boot(...)` — same rule as forge's closure form.
|
|
193
|
+
*/
|
|
194
|
+
export declare function adaptAppPlugin(app: AppPluginDefinition): PluginDefinition;
|
|
174
195
|
//# sourceMappingURL=define-plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-plugin.d.ts","sourceRoot":"","sources":["../src/define-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"define-plugin.d.ts","sourceRoot":"","sources":["../src/define-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/define-plugin.js
CHANGED
|
@@ -151,4 +151,70 @@ config, pluginName = "anonymous") {
|
|
|
151
151
|
};
|
|
152
152
|
return { api, boots, shutdowns };
|
|
153
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Adapt a narrow `@nwire/app` plugin into the rich forge `PluginDefinition`
|
|
156
|
+
* createApp expects. The narrow shape (provide / on / boot / shutdown) is a
|
|
157
|
+
* strict subset of the rich shape, so the adaptation is straight forwarding:
|
|
158
|
+
*
|
|
159
|
+
* - `provide(name, lifecycle)` becomes a `bind` whose factory invokes the
|
|
160
|
+
* lifecycle's `boot()` once, plus a shutdown step that runs
|
|
161
|
+
* `lifecycle.shutdown(value)` against the resolved value if it was ever
|
|
162
|
+
* materialized. Lazy resolution matches the rich `bind` contract — a
|
|
163
|
+
* value nobody asks for is never booted (and therefore never torn down).
|
|
164
|
+
* - `on(FrameworkEvent, handler, prio?)` maps 1:1 onto `runtime.onFramework`,
|
|
165
|
+
* which is what the rich `api.on` already does internally.
|
|
166
|
+
* - `boot(fn)` / `shutdown(fn)` map 1:1.
|
|
167
|
+
*
|
|
168
|
+
* The narrow plugin's `setup` may be async; we honor that by returning a
|
|
169
|
+
* Promise from the rich setup. createApp's sync register loop rejects async
|
|
170
|
+
* rich setups today, so app-plugin authors who need async work should put it
|
|
171
|
+
* inside `api.boot(...)` — same rule as forge's closure form.
|
|
172
|
+
*/
|
|
173
|
+
export function adaptAppPlugin(app) {
|
|
174
|
+
return {
|
|
175
|
+
$kind: "plugin",
|
|
176
|
+
name: app.name,
|
|
177
|
+
$source: app.$source,
|
|
178
|
+
setup(ctx) {
|
|
179
|
+
// bus is exposed on the narrow context for advanced cases (the rich
|
|
180
|
+
// `on` only covers framework events). runtime.frameworkEvents is the
|
|
181
|
+
// same bus the rich api.on writes to, so passing it through is safe.
|
|
182
|
+
const narrow = {
|
|
183
|
+
container: ctx.container,
|
|
184
|
+
bus: ctx.runtime.frameworkEvents,
|
|
185
|
+
provide(name, lifecycle) {
|
|
186
|
+
let booted = false;
|
|
187
|
+
let value;
|
|
188
|
+
ctx.bind(name, () => {
|
|
189
|
+
// The narrow contract permits async boot; bind's factory is
|
|
190
|
+
// sync. We synchronously kick the promise (if any) — consumers
|
|
191
|
+
// resolving an async-provided binding get the Promise back,
|
|
192
|
+
// mirroring what they'd get if they implemented `bind` directly.
|
|
193
|
+
const result = lifecycle.boot();
|
|
194
|
+
booted = true;
|
|
195
|
+
value = result;
|
|
196
|
+
return result;
|
|
197
|
+
});
|
|
198
|
+
if (lifecycle.shutdown) {
|
|
199
|
+
ctx.shutdown(async () => {
|
|
200
|
+
if (!booted)
|
|
201
|
+
return;
|
|
202
|
+
await lifecycle.shutdown(value);
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
on(event, handler, priority) {
|
|
207
|
+
ctx.on(event, handler, priority);
|
|
208
|
+
},
|
|
209
|
+
boot(fn) {
|
|
210
|
+
ctx.boot(fn);
|
|
211
|
+
},
|
|
212
|
+
shutdown(fn) {
|
|
213
|
+
ctx.shutdown(fn);
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
return app.setup(narrow);
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
}
|
|
154
220
|
//# sourceMappingURL=define-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-plugin.js","sourceRoot":"","sources":["../src/define-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EAAE,qBAAqB,EAAuB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"define-plugin.js","sourceRoot":"","sources":["../src/define-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/define-query.d.ts
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `defineQuery` — read function over a projection
|
|
2
|
+
* `defineQuery` — read function over a projection or a direct adapter (DB,
|
|
3
|
+
* cache, search index). Two forms:
|
|
3
4
|
*
|
|
5
|
+
* // Projection-driven — runtime hands you `state` + validated input.
|
|
4
6
|
* export const submissionsByStudent = defineQuery(SubmissionsByStudent, {
|
|
5
7
|
* name: 'submissions.by-student',
|
|
6
|
-
* schema: z.object({ studentId: StudentId
|
|
7
|
-
* execute: (state, { studentId
|
|
8
|
-
* Object.values(state).filter(s => s.studentId === studentId
|
|
9
|
-
* (!status || s.status === status))
|
|
8
|
+
* schema: z.object({ studentId: StudentId }),
|
|
9
|
+
* execute: (state, { studentId }) =>
|
|
10
|
+
* Object.values(state).filter(s => s.studentId === studentId),
|
|
10
11
|
* })
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* // Handler form — no projection, you reach into the container yourself.
|
|
14
|
+
* export const usersById = defineQuery({
|
|
15
|
+
* name: 'users.by-id',
|
|
16
|
+
* schema: z.object({ id: UserId }),
|
|
17
|
+
* handler: async ({ id }, { resolve }) => {
|
|
18
|
+
* const db = resolve<DrizzleDb>('db');
|
|
19
|
+
* return db.select().from(users).where(eq(users.id, id)).limit(1);
|
|
20
|
+
* },
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* Pick projection form when the read is "eventually-consistent over events
|
|
24
|
+
* I publish in-process." Pick handler form when reading from any external
|
|
25
|
+
* source of truth (Postgres rows, Redis, OpenSearch) — no projection layer
|
|
26
|
+
* needed. Queries are always direct calls: no envelope, no bus, no commit.
|
|
15
27
|
*
|
|
16
|
-
* Naming follows actions: `<domain>.<verb-noun>` so a query is addressable
|
|
17
|
-
* the same routing keyspace as actions when transports need it (HTTP GET
|
|
28
|
+
* Naming follows actions: `<domain>.<verb-noun>` so a query is addressable
|
|
29
|
+
* on the same routing keyspace as actions when transports need it (HTTP GET
|
|
18
30
|
* routes wire queries; HTTP POST routes wire actions).
|
|
19
31
|
*/
|
|
20
32
|
import type { z } from "zod";
|
|
@@ -26,6 +38,20 @@ export interface QuerySlo {
|
|
|
26
38
|
/** Declared p95 latency target in milliseconds. */
|
|
27
39
|
readonly p95LatencyMs?: number;
|
|
28
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Context handed to a handler-form query. Mirrors `HandlerContext` but read-
|
|
43
|
+
* only: no `request`, no `send`, no `recordThat`. The query may load other
|
|
44
|
+
* projections, resolve DI bindings (typically a DB handle), and read its
|
|
45
|
+
* envelope (request-id, tenant, signal) when one is in play.
|
|
46
|
+
*/
|
|
47
|
+
export interface QueryContext {
|
|
48
|
+
/** Resolve a DI binding (db connection, http client, etc.). */
|
|
49
|
+
resolve: <T = unknown>(name: string) => T;
|
|
50
|
+
/** Tenant scope, if the calling transport set one. */
|
|
51
|
+
readonly tenant?: string;
|
|
52
|
+
/** Abort signal — wired from the caller's request when available. */
|
|
53
|
+
readonly signal?: AbortSignal;
|
|
54
|
+
}
|
|
29
55
|
export interface QueryOptions<TState, TSchema extends ZodTypeAny, TResult> {
|
|
30
56
|
readonly name: string;
|
|
31
57
|
readonly description?: string;
|
|
@@ -36,17 +62,45 @@ export interface QueryOptions<TState, TSchema extends ZodTypeAny, TResult> {
|
|
|
36
62
|
/** Studio-aware: hint that this query is safe to cache. */
|
|
37
63
|
readonly cacheable?: boolean;
|
|
38
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Options for handler-form `defineQuery({ name, schema, handler })`. No
|
|
67
|
+
* projection, no state — you read from whatever source you care to via
|
|
68
|
+
* `ctx.resolve<DbType>("db")` (or any registered binding).
|
|
69
|
+
*/
|
|
70
|
+
export interface QueryHandlerOptions<TSchema extends ZodTypeAny, TResult> {
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly description?: string;
|
|
73
|
+
readonly schema: TSchema;
|
|
74
|
+
readonly handler: (input: z.output<TSchema>, ctx: QueryContext) => TResult | Promise<TResult>;
|
|
75
|
+
readonly slo?: QuerySlo;
|
|
76
|
+
readonly cacheable?: boolean;
|
|
77
|
+
}
|
|
39
78
|
export interface QueryDefinition<TState = unknown, TSchema extends ZodTypeAny = ZodTypeAny, TResult = unknown> extends PublicMarker {
|
|
40
79
|
readonly $kind: "query";
|
|
41
80
|
readonly name: string;
|
|
42
81
|
readonly description?: string;
|
|
43
82
|
readonly schema: TSchema;
|
|
44
|
-
|
|
45
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Backing projection. `undefined` for handler-form queries — runtime
|
|
85
|
+
* detects this and routes through `handler` directly (no state load).
|
|
86
|
+
*/
|
|
87
|
+
readonly projection?: ProjectionDefinition<TState>;
|
|
88
|
+
/**
|
|
89
|
+
* Projection-form executor. Called with the projection's full state + the
|
|
90
|
+
* validated input. Present iff `projection` is present.
|
|
91
|
+
*/
|
|
92
|
+
readonly execute?: (state: TState, input: z.output<TSchema>) => TResult | Promise<TResult>;
|
|
93
|
+
/**
|
|
94
|
+
* Handler-form executor. Called with the validated input + a
|
|
95
|
+
* `QueryContext` (DI resolution, tenant, abort signal). Present iff
|
|
96
|
+
* `projection` is absent.
|
|
97
|
+
*/
|
|
98
|
+
readonly handler?: (input: z.output<TSchema>, ctx: QueryContext) => TResult | Promise<TResult>;
|
|
46
99
|
readonly slo?: QuerySlo;
|
|
47
100
|
readonly cacheable?: boolean;
|
|
48
101
|
/** Where the query was declared. Studio uses this for IDE-open links. */
|
|
49
102
|
readonly $source?: SourceLocation;
|
|
50
103
|
}
|
|
51
104
|
export declare function defineQuery<TState, TSchema extends ZodTypeAny, TResult>(projection: ProjectionDefinition<TState>, options: QueryOptions<TState, TSchema, TResult>): QueryDefinition<TState, TSchema, TResult>;
|
|
105
|
+
export declare function defineQuery<TSchema extends ZodTypeAny, TResult>(options: QueryHandlerOptions<TSchema, TResult>): QueryDefinition<any, TSchema, TResult>;
|
|
52
106
|
//# sourceMappingURL=define-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-query.d.ts","sourceRoot":"","sources":["../src/define-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"define-query.d.ts","sourceRoot":"","sources":["../src/define-query.ts"],"names":[],"mappings":"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"}
|
package/dist/define-query.js
CHANGED
|
@@ -1,35 +1,64 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `defineQuery` — read function over a projection
|
|
2
|
+
* `defineQuery` — read function over a projection or a direct adapter (DB,
|
|
3
|
+
* cache, search index). Two forms:
|
|
3
4
|
*
|
|
5
|
+
* // Projection-driven — runtime hands you `state` + validated input.
|
|
4
6
|
* export const submissionsByStudent = defineQuery(SubmissionsByStudent, {
|
|
5
7
|
* name: 'submissions.by-student',
|
|
6
|
-
* schema: z.object({ studentId: StudentId
|
|
7
|
-
* execute: (state, { studentId
|
|
8
|
-
* Object.values(state).filter(s => s.studentId === studentId
|
|
9
|
-
* (!status || s.status === status))
|
|
8
|
+
* schema: z.object({ studentId: StudentId }),
|
|
9
|
+
* execute: (state, { studentId }) =>
|
|
10
|
+
* Object.values(state).filter(s => s.studentId === studentId),
|
|
10
11
|
* })
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* // Handler form — no projection, you reach into the container yourself.
|
|
14
|
+
* export const usersById = defineQuery({
|
|
15
|
+
* name: 'users.by-id',
|
|
16
|
+
* schema: z.object({ id: UserId }),
|
|
17
|
+
* handler: async ({ id }, { resolve }) => {
|
|
18
|
+
* const db = resolve<DrizzleDb>('db');
|
|
19
|
+
* return db.select().from(users).where(eq(users.id, id)).limit(1);
|
|
20
|
+
* },
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* Pick projection form when the read is "eventually-consistent over events
|
|
24
|
+
* I publish in-process." Pick handler form when reading from any external
|
|
25
|
+
* source of truth (Postgres rows, Redis, OpenSearch) — no projection layer
|
|
26
|
+
* needed. Queries are always direct calls: no envelope, no bus, no commit.
|
|
15
27
|
*
|
|
16
|
-
* Naming follows actions: `<domain>.<verb-noun>` so a query is addressable
|
|
17
|
-
* the same routing keyspace as actions when transports need it (HTTP GET
|
|
28
|
+
* Naming follows actions: `<domain>.<verb-noun>` so a query is addressable
|
|
29
|
+
* on the same routing keyspace as actions when transports need it (HTTP GET
|
|
18
30
|
* routes wire queries; HTTP POST routes wire actions).
|
|
19
31
|
*/
|
|
20
32
|
import { captureSourceLocation } from "@nwire/messages";
|
|
21
33
|
import { markable } from "./public-marker.js";
|
|
22
|
-
export function defineQuery(
|
|
34
|
+
export function defineQuery(projectionOrOptions, maybeOptions) {
|
|
35
|
+
const $source = captureSourceLocation();
|
|
36
|
+
// Handler form — first arg is the options object with `handler`.
|
|
37
|
+
if (maybeOptions === undefined) {
|
|
38
|
+
const opts = projectionOrOptions;
|
|
39
|
+
return markable({
|
|
40
|
+
$kind: "query",
|
|
41
|
+
name: opts.name,
|
|
42
|
+
description: opts.description,
|
|
43
|
+
schema: opts.schema,
|
|
44
|
+
handler: opts.handler,
|
|
45
|
+
slo: opts.slo,
|
|
46
|
+
cacheable: opts.cacheable,
|
|
47
|
+
$source,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
// Projection form — first arg is the projection.
|
|
51
|
+
const projection = projectionOrOptions;
|
|
23
52
|
return markable({
|
|
24
53
|
$kind: "query",
|
|
25
|
-
name:
|
|
26
|
-
description:
|
|
27
|
-
schema:
|
|
54
|
+
name: maybeOptions.name,
|
|
55
|
+
description: maybeOptions.description,
|
|
56
|
+
schema: maybeOptions.schema,
|
|
28
57
|
projection,
|
|
29
|
-
execute:
|
|
30
|
-
slo:
|
|
31
|
-
cacheable:
|
|
32
|
-
$source
|
|
58
|
+
execute: maybeOptions.execute,
|
|
59
|
+
slo: maybeOptions.slo,
|
|
60
|
+
cacheable: maybeOptions.cacheable,
|
|
61
|
+
$source,
|
|
33
62
|
});
|
|
34
63
|
}
|
|
35
64
|
//# sourceMappingURL=define-query.js.map
|
package/dist/define-query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-query.js","sourceRoot":"","sources":["../src/define-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"define-query.js","sourceRoot":"","sources":["../src/define-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAqB,MAAM,iBAAiB,CAAC;AA4F9D,MAAM,UAAU,WAAW,CACzB,mBAAyF,EACzF,YAAqD;IAGrD,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IAExC,iEAAiE;IACjE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,mBAA4D,CAAC;QAC1E,OAAO,QAAQ,CAAC;YACd,KAAK,EAAE,OAAgB;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAA+D;YAC7E,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;SACR,CAA8C,CAAC;IAClD,CAAC;IAED,iDAAiD;IACjD,MAAM,UAAU,GAAG,mBAAmD,CAAC;IACvE,OAAO,QAAQ,CAAC;QACd,KAAK,EAAE,OAAgB;QACvB,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,UAAU;QACV,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,GAAG,EAAE,YAAY,CAAC,GAAG;QACrB,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
|
package/dist/dev-logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../src/dev-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAuDD,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../src/dev-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAuDD,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAiEtD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAQxF"}
|
package/dist/dev-logger.js
CHANGED
|
@@ -94,8 +94,11 @@ export function formatTelemetry(rec) {
|
|
|
94
94
|
return "";
|
|
95
95
|
const tag = namespaceTag("hook");
|
|
96
96
|
const padded = `nwire:hook`.padEnd(14, " ").slice("nwire:hook".length);
|
|
97
|
-
const phaseGlyph = rec.phase === "end"
|
|
98
|
-
|
|
97
|
+
const phaseGlyph = rec.phase === "end"
|
|
98
|
+
? color("·", GREEN)
|
|
99
|
+
: rec.phase === "error"
|
|
100
|
+
? color("✗", RED)
|
|
101
|
+
: color("?", DIM);
|
|
99
102
|
const stepLabel = rec.stepName ?? `#${rec.stepId}`;
|
|
100
103
|
const dur = rec.durationMs !== undefined ? dim(` (${rec.durationMs.toFixed(1)}ms)`) : "";
|
|
101
104
|
const err = rec.error ? ` ${color(rec.error.message, RED)}` : "";
|
package/dist/dev-logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-logger.js","sourceRoot":"","sources":["../src/dev-logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dev-logger.js","sourceRoot":"","sources":["../src/dev-logger.ts"],"names":[],"mappings":"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"}
|
package/dist/event-message.d.ts
CHANGED
|
@@ -32,6 +32,13 @@ export type EventFactory<E extends EventDefinition> = ((payload: EventPayload<E>
|
|
|
32
32
|
export declare function eventFactory<E extends EventDefinition>(definition: E): EventFactory<E>;
|
|
33
33
|
/** Type-narrowing predicate. */
|
|
34
34
|
export declare function isEventMessage(value: unknown): value is EventMessage;
|
|
35
|
-
/**
|
|
36
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Normalize a handler's return value to an EventMessage[].
|
|
37
|
+
*
|
|
38
|
+
* Handlers may also return plain data records (e.g. `{ userId }`) for the
|
|
39
|
+
* CRUD case where the value is meant for the caller, not for publication.
|
|
40
|
+
* Such returns yield `[]` here — the original record still survives upstream
|
|
41
|
+
* via `runtime.dispatch`'s return + the `ActionCompleted` event.
|
|
42
|
+
*/
|
|
43
|
+
export declare function normalizeEventReturn(value: void | EventMessage | EventMessage[] | Record<string, unknown> | null | undefined): EventMessage[];
|
|
37
44
|
//# sourceMappingURL=event-message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../src/event-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAErE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CACrD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KACrB,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;IACtB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,UAAU,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAYtF;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE;AAED
|
|
1
|
+
{"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../src/event-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAErE,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CACrD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,KACrB,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;IACtB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,UAAU,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAYtF;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAOpE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACvF,YAAY,EAAE,CAIhB"}
|
package/dist/event-message.js
CHANGED
|
@@ -40,12 +40,19 @@ export function isEventMessage(value) {
|
|
|
40
40
|
typeof value.eventName === "string" &&
|
|
41
41
|
"payload" in value);
|
|
42
42
|
}
|
|
43
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Normalize a handler's return value to an EventMessage[].
|
|
45
|
+
*
|
|
46
|
+
* Handlers may also return plain data records (e.g. `{ userId }`) for the
|
|
47
|
+
* CRUD case where the value is meant for the caller, not for publication.
|
|
48
|
+
* Such returns yield `[]` here — the original record still survives upstream
|
|
49
|
+
* via `runtime.dispatch`'s return + the `ActionCompleted` event.
|
|
50
|
+
*/
|
|
44
51
|
export function normalizeEventReturn(value) {
|
|
45
52
|
if (value == null)
|
|
46
53
|
return [];
|
|
47
54
|
if (Array.isArray(value))
|
|
48
|
-
return value;
|
|
49
|
-
return [value];
|
|
55
|
+
return value.filter(isEventMessage);
|
|
56
|
+
return isEventMessage(value) ? [value] : [];
|
|
50
57
|
}
|
|
51
58
|
//# sourceMappingURL=event-message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-message.js","sourceRoot":"","sources":["../src/event-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAA4B,UAAa;IACnE,MAAM,OAAO,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,CAAC;QAC9D,SAAS,EAAE,UAAU,CAAC,IAAI;QAC1B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAoB;KAC7D,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;QACzC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI;QAC5B,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,OAA0B,CAAC;AACpC,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ;QAChE,SAAS,IAAI,KAAK,CACnB,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"event-message.js","sourceRoot":"","sources":["../src/event-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAA4B,UAAa;IACnE,MAAM,OAAO,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,CAAC;QAC9D,SAAS,EAAE,UAAU,CAAC,IAAI;QAC1B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAoB;KAC7D,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;QACzC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI;QAC5B,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,OAA0B,CAAC;AACpC,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAiC,CAAC,SAAS,KAAK,QAAQ;QAChE,SAAS,IAAI,KAAK,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAwF;IAExF,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC9D,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - ctx verbs (in handlers + resolvers): request, send, use, query
|
|
16
16
|
* - .public() marks an item exposed across module boundaries
|
|
17
17
|
*/
|
|
18
|
-
export { defineAction, type ActionDefinition, type ActionMeta, type ActionInput, } from "./define-action.js";
|
|
18
|
+
export { defineAction, isCommandMessage, resolveDispatch, type ActionDefinition, type CallableActionDefinition, type CommandMessage, type ActionMeta, type ActionInput, } from "./define-action.js";
|
|
19
19
|
export { defineActor, eventKey, type ActorDefinition, type ActorOptions, type ActorOptionsBound, type ActorReaction, type ActorStateConfig, type ActorTimerSpec, type ActorMethod, type ActorInstanceView, } from "./define-actor.js";
|
|
20
20
|
export { defineSchema, isSchemaDefinition, type SchemaDefinition, type SchemaOptions, type SchemaStateSpec, type SchemaStorageHints, } from "./define-schema.js";
|
|
21
21
|
export { validate, isInvariantError, InvariantError, type Invariant } from "./validate.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - ctx verbs (in handlers + resolvers): request, send, use, query
|
|
16
16
|
* - .public() marks an item exposed across module boundaries
|
|
17
17
|
*/
|
|
18
|
-
export { defineAction, } from "./define-action.js";
|
|
18
|
+
export { defineAction, isCommandMessage, resolveDispatch, } from "./define-action.js";
|
|
19
19
|
export { defineActor, eventKey, } from "./define-actor.js";
|
|
20
20
|
export { defineSchema, isSchemaDefinition, } from "./define-schema.js";
|
|
21
21
|
export { validate, isInvariantError, InvariantError } from "./validate.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ import { type FrameworkEventDefinition } from "./framework-events.js";
|
|
|
69
69
|
* Middleware MUST call `next()` exactly once (or never, if intentionally
|
|
70
70
|
* short-circuiting). Calling it twice is a programming error.
|
|
71
71
|
*/
|
|
72
|
-
export type DispatchMiddleware = (next: () => Promise<EventMessage | EventMessage[] | void>, action: ActionDefinition, input: any, ctx: HandlerContext) => Promise<EventMessage | EventMessage[] | void>;
|
|
72
|
+
export type DispatchMiddleware = (next: () => Promise<EventMessage | EventMessage[] | Record<string, unknown> | void>, action: ActionDefinition, input: any, ctx: HandlerContext) => Promise<EventMessage | EventMessage[] | Record<string, unknown> | void>;
|
|
73
73
|
/**
|
|
74
74
|
* Per-action `action.before:<name>` hook context. Chain steps inspect
|
|
75
75
|
* the input + envelope-bound ctx; setting `vetoed = true` (typically by
|
|
@@ -611,7 +611,13 @@ export declare class Runtime {
|
|
|
611
611
|
* interval; see `startTimerScheduler(app, intervalMs)` in `create-app.ts`.
|
|
612
612
|
*/
|
|
613
613
|
fireDueTimers(now?: number): Promise<number>;
|
|
614
|
-
|
|
614
|
+
/**
|
|
615
|
+
* Resolve an action definition by its routing name. Used by execute/send
|
|
616
|
+
* to support the callable form `execute(myAction(input))` — the
|
|
617
|
+
* `CommandMessage` carries only the name; the runtime looks up the actual
|
|
618
|
+
* action from the registered handler map.
|
|
619
|
+
*/
|
|
620
|
+
findActionByName(name: string): ActionDefinition | undefined;
|
|
615
621
|
/**
|
|
616
622
|
* Drain every due saga timer from the workflow timer store and route
|
|
617
623
|
* each as a synthetic event back into the originating workflow. The
|
|
@@ -631,7 +637,7 @@ export declare class Runtime {
|
|
|
631
637
|
* Run an action through its handler, then atomically apply returned events.
|
|
632
638
|
* Returns the handler's raw return value (events) for callers that want it.
|
|
633
639
|
*/
|
|
634
|
-
dispatch<TInput, TResult extends EventMessage | EventMessage[] | void = EventMessage | EventMessage[] | void>(action: ActionDefinition, input: TInput, parentEnvelope?: MessageEnvelope, opts?: DispatchOptions): Promise<TResult>;
|
|
640
|
+
dispatch<TInput, TResult extends EventMessage | EventMessage[] | Record<string, unknown> | void = EventMessage | EventMessage[] | Record<string, unknown> | void>(action: ActionDefinition, input: TInput, parentEnvelope?: MessageEnvelope, opts?: DispatchOptions): Promise<TResult>;
|
|
635
641
|
/**
|
|
636
642
|
* Apply a batch of events: route to actors (state transitions + assigns +
|
|
637
643
|
* timer scheduling), fold projections, then fire workflows. Used internally
|