@nwire/hooks 0.9.2 → 0.10.1

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/dist/compose.d.ts CHANGED
@@ -13,4 +13,3 @@ import type { ChainFn } from "./types.js";
13
13
  * Throws if a middleware calls `next()` more than once (koa convention).
14
14
  */
15
15
  export declare function compose<Ctx>(fns: ReadonlyArray<ChainFn<Ctx>>): ChainFn<Ctx>;
16
- //# sourceMappingURL=compose.d.ts.map
package/dist/compose.js CHANGED
@@ -27,4 +27,3 @@ export function compose(fns) {
27
27
  return dispatch(0);
28
28
  };
29
29
  }
30
- //# sourceMappingURL=compose.js.map
@@ -53,4 +53,3 @@ export interface Host<T extends HookMap> {
53
53
  */
54
54
  export declare function createHooks<T extends HookMap>(hooks: T): Host<T>;
55
55
  export {};
56
- //# sourceMappingURL=create-hooks.d.ts.map
@@ -60,4 +60,3 @@ function applyEntry(target, entry) {
60
60
  }
61
61
  }
62
62
  }
63
- //# sourceMappingURL=create-hooks.js.map
package/dist/hook.d.ts CHANGED
@@ -14,14 +14,20 @@
14
14
  * - prioritised — `.use(fn, { priority })` orders the chain
15
15
  * - filterable — `.on(fn, { when: "success" | "failure" })`
16
16
  * - replayable — `.runDetailed()` returns the full step trace
17
+ *
18
+ * Chain wrappers are built once per attached step and cached. Per-run state
19
+ * (runId, parentRunId, signal, emit) flows through AsyncLocalStorage —
20
+ * wrappers read it from `currentRunInternal()` rather than closing over it
21
+ * fresh on every invocation. The composed chain is rebuilt only when the
22
+ * shape changes (use/off/priority sort), driven by a `_dirty` flag.
17
23
  */
18
24
  import type { ChainFn, HookOptions, ListenerFn, OnOptions, RunOptions, RunResult, TapFn, UseOptions } from "./types.js";
19
25
  /**
20
26
  * The public Hook surface.
21
27
  *
22
- * The signatures stay backward-compatible: `.use(fn)`, `.on(fn)`, `.run(ctx)`
23
- * work exactly as before. Each method accepts new optional arguments
24
- * priority, name, when, signal that opt into the richer behavior.
28
+ * Method names and signatures are the sealed 0.10 contract. Optional
29
+ * arguments priority, name, when, signal opt into richer behavior
30
+ * without changing the core call shape.
25
31
  */
26
32
  export interface Hook<Ctx> {
27
33
  /** Hook name. Stable for logging + telemetry. */
@@ -48,4 +54,3 @@ export interface Hook<Ctx> {
48
54
  }
49
55
  /** Create a new hook. */
50
56
  export declare function hook<Ctx>(name: string, options?: HookOptions<Ctx>): Hook<Ctx>;
51
- //# sourceMappingURL=hook.d.ts.map
package/dist/hook.js CHANGED
@@ -14,11 +14,15 @@
14
14
  * - prioritised — `.use(fn, { priority })` orders the chain
15
15
  * - filterable — `.on(fn, { when: "success" | "failure" })`
16
16
  * - replayable — `.runDetailed()` returns the full step trace
17
+ *
18
+ * Chain wrappers are built once per attached step and cached. Per-run state
19
+ * (runId, parentRunId, signal, emit) flows through AsyncLocalStorage —
20
+ * wrappers read it from `currentRunInternal()` rather than closing over it
21
+ * fresh on every invocation. The composed chain is rebuilt only when the
22
+ * shape changes (use/off/priority sort), driven by a `_dirty` flag.
17
23
  */
18
- import Emittery from "emittery";
19
24
  import { compose } from "./compose.js";
20
- import { captureSourceLocation, nextHookId, nextRunId, registerHook, withRunContext, currentRun, } from "./registry.js";
21
- const RUN_EVENT = "__nwire_hooks_run__";
25
+ import { captureSourceLocation, nextHookId, nextRunId, registerHook, withRunContext, currentRun, currentRunInternal, } from "./registry.js";
22
26
  /**
23
27
  * A non-aborting placeholder signal. Used when `.run()` is called without
24
28
  * `opts.signal` — every chain ctx is guaranteed to have `ctx.signal`, so
@@ -37,11 +41,14 @@ class HookImpl {
37
41
  id;
38
42
  chain = [];
39
43
  listeners = [];
40
- emitter = new Emittery();
41
44
  taps = new Set();
42
45
  stepCounter = 0;
43
46
  strictListeners;
44
47
  onListenerError;
48
+ // Lazy-memoized composed chain. Rebuilt when `_dirty` is true; the flag
49
+ // flips on use/off (and on priority sort, which is implicit in `.use()`).
50
+ _composed;
51
+ _dirty = true;
45
52
  constructor(name, options) {
46
53
  this.name = name;
47
54
  this.id = nextHookId();
@@ -59,6 +66,7 @@ class HookImpl {
59
66
  use(fn, opts) {
60
67
  const entry = {
61
68
  fn,
69
+ wrapped: this.buildWrapper(fn, this.stepCounter, opts?.name),
62
70
  stepId: this.stepCounter++,
63
71
  name: opts?.name,
64
72
  priority: opts?.priority ?? 0,
@@ -67,37 +75,32 @@ class HookImpl {
67
75
  // Higher priority runs first (outermost). Stable sort preserves insertion
68
76
  // order for equal priorities.
69
77
  this.chain.sort((a, b) => b.priority - a.priority || a.stepId - b.stepId);
78
+ this._dirty = true;
70
79
  return this;
71
80
  }
72
81
  on(fn, opts) {
73
82
  if (this.listeners.find((l) => l.fn === fn))
74
83
  return this;
75
- const adapter = async (ctx) => {
76
- await fn(ctx);
77
- };
78
84
  const entry = {
79
85
  fn,
80
86
  stepId: this.stepCounter++,
81
87
  name: opts?.name,
82
88
  priority: opts?.priority ?? 0,
83
89
  when: opts?.when ?? "always",
84
- adapter,
85
90
  };
86
91
  this.listeners.push(entry);
87
92
  this.listeners.sort((a, b) => b.priority - a.priority || a.stepId - b.stepId);
88
- this.emitter.on(RUN_EVENT, adapter);
89
93
  return this;
90
94
  }
91
95
  off(fn) {
92
96
  const chainIdx = this.chain.findIndex((c) => c.fn === fn);
93
97
  if (chainIdx >= 0) {
94
98
  this.chain.splice(chainIdx, 1);
99
+ this._dirty = true;
95
100
  return this;
96
101
  }
97
102
  const listenerIdx = this.listeners.findIndex((l) => l.fn === fn);
98
103
  if (listenerIdx >= 0) {
99
- const entry = this.listeners[listenerIdx];
100
- this.emitter.off(RUN_EVENT, entry.adapter);
101
104
  this.listeners.splice(listenerIdx, 1);
102
105
  }
103
106
  return this;
@@ -132,48 +135,20 @@ class HookImpl {
132
135
  }
133
136
  }
134
137
  };
135
- // Ensure ctx carries the two BaseHookCtx fields by the time any chain
136
- // step runs. `signal` is sourced from opts.signal, falling back to a
137
- // non-aborting placeholder so steps can pass it through without
138
- // null-guarding. `.set(key, value)` is a typed setter that mutates ctx
139
- // in place; its assertion-function signature widens the ctx type for
140
- // the rest of the chain (see `BaseHookCtx` in types.ts).
141
- //
142
- // Both fields are defined as NON-ENUMERABLE own properties so
143
- // `structuredClone` and JSON.stringify (used by record/replay + tracing)
144
- // walk past them — `signal` (an AbortSignal) and `set` (a function) are
145
- // not serializable, but they're framework-internal, not domain state.
146
- // User-provided values on ctx win — we never overwrite.
147
- if (ctx && typeof ctx === "object") {
148
- const obj = ctx;
149
- const desc = Object.getOwnPropertyDescriptor;
150
- if (!desc(obj, "signal")) {
151
- Object.defineProperty(obj, "signal", {
152
- value: signal ?? NEVER_ABORTS,
153
- enumerable: false,
154
- writable: false,
155
- configurable: true,
156
- });
157
- }
158
- if (!desc(obj, "set")) {
159
- Object.defineProperty(obj, "set", {
160
- value: function set(key, value) {
161
- obj[key] = value;
162
- },
163
- enumerable: false,
164
- writable: false,
165
- configurable: true,
166
- });
167
- }
168
- }
169
- const composed = compose(this.chain.map((entry) => wrapChain(this, entry, runId, parentRunId, signal, emit)));
138
+ installBaseCtxFields(ctx, signal);
139
+ const composed = this.getComposedChain();
170
140
  // A chain step that doesn't call its `next()` short-circuits — the tail
171
141
  // is the only place that *reliably* signals "every step yielded down to
172
142
  // me." We toggle a flag inside the tail; if it stays false after the
173
143
  // compose resolves without throwing, the chain was prevented.
174
144
  let chainError = undefined;
175
145
  let reachedTail = false;
176
- await withRunContext({ runId, hookId: this.id, parentRunId }, async () => {
146
+ let outcome = "completed";
147
+ // Both the chain AND the listeners run inside this scope. Listeners
148
+ // that launch nested .run() calls inherit `runId` as their `parentRunId`
149
+ // via `currentRun()`. Without this, nested-from-listener runs would
150
+ // appear as orphans in the topology tree.
151
+ await withRunContext({ runId, hookId: this.id, hookName: this.name, parentRunId, signal, emit }, async () => {
177
152
  try {
178
153
  await composed(ctx, async () => {
179
154
  reachedTail = true;
@@ -188,12 +163,11 @@ class HookImpl {
188
163
  ctx.error = err;
189
164
  }
190
165
  }
166
+ if (this.chain.length === 0)
167
+ reachedTail = true;
168
+ outcome = chainError !== undefined ? "failed" : reachedTail ? "completed" : "prevented";
169
+ await this.fireListeners(ctx, outcome, runId, parentRunId, emit);
191
170
  });
192
- // Empty chain — nothing to short-circuit, treat as completed.
193
- if (this.chain.length === 0)
194
- reachedTail = true;
195
- const outcome = chainError !== undefined ? "failed" : reachedTail ? "completed" : "prevented";
196
- await this.fireListeners(ctx, outcome, runId, parentRunId, emit);
197
171
  return {
198
172
  ctx,
199
173
  outcome,
@@ -204,6 +178,49 @@ class HookImpl {
204
178
  error: chainError,
205
179
  };
206
180
  }
181
+ // ─── Internals ──────────────────────────────────────────────────────
182
+ /** Return the cached composed chain, rebuilding only if `_dirty`. */
183
+ getComposedChain() {
184
+ if (!this._dirty && this._composed)
185
+ return this._composed;
186
+ this._composed = compose(this.chain.map((entry) => entry.wrapped));
187
+ this._dirty = false;
188
+ return this._composed;
189
+ }
190
+ /**
191
+ * Build the instrumentation wrapper for a chain entry **once**. Per-run
192
+ * state (runId, parentRunId, signal, emit) is read from
193
+ * `currentRunInternal()` so this wrapper can be cached and reused.
194
+ */
195
+ buildWrapper(fn, stepId, stepName) {
196
+ const hookId = this.id;
197
+ const hookName = this.name;
198
+ return async function instrumented(ctx, next) {
199
+ const rc = currentRunInternal();
200
+ // Defensive — runDetailed always wraps in withRunContext, so this
201
+ // branch only runs if someone hand-invokes a wrapper. In that case
202
+ // skip instrumentation and just delegate.
203
+ if (!rc) {
204
+ await fn(ctx, next);
205
+ return;
206
+ }
207
+ if (rc.signal?.aborted) {
208
+ throw rc.signal.reason ?? new Error("hook aborted");
209
+ }
210
+ const startTs = nowMs();
211
+ rc.emit?.(makeObs(hookName, hookId, stepId, "chain", stepName, "start", startTs, rc.runId, rc.parentRunId));
212
+ try {
213
+ await fn(ctx, next);
214
+ const endTs = nowMs();
215
+ rc.emit?.(makeObs(hookName, hookId, stepId, "chain", stepName, "end", endTs, rc.runId, rc.parentRunId, endTs - startTs));
216
+ }
217
+ catch (err) {
218
+ const endTs = nowMs();
219
+ rc.emit?.(makeObs(hookName, hookId, stepId, "chain", stepName, "error", endTs, rc.runId, rc.parentRunId, endTs - startTs, err));
220
+ throw err;
221
+ }
222
+ };
223
+ }
207
224
  async fireListeners(ctx, outcome, runId, parentRunId, emit) {
208
225
  const eligible = this.listeners.filter((l) => {
209
226
  if (l.when === "always")
@@ -216,15 +233,17 @@ class HookImpl {
216
233
  });
217
234
  if (eligible.length === 0)
218
235
  return;
236
+ const hookName = this.name;
237
+ const hookId = this.id;
219
238
  const results = await Promise.allSettled(eligible.map(async (entry) => {
220
239
  const startTs = nowMs();
221
- emit(makeObs(this, entry.stepId, "listener", entry.name, "start", startTs, runId, parentRunId));
240
+ emit(makeObs(hookName, hookId, entry.stepId, "listener", entry.name, "start", startTs, runId, parentRunId));
222
241
  try {
223
242
  await entry.fn(ctx);
224
- emit(makeObs(this, entry.stepId, "listener", entry.name, "end", nowMs(), runId, parentRunId, nowMs() - startTs));
243
+ emit(makeObs(hookName, hookId, entry.stepId, "listener", entry.name, "end", nowMs(), runId, parentRunId, nowMs() - startTs));
225
244
  }
226
245
  catch (err) {
227
- emit(makeObs(this, entry.stepId, "listener", entry.name, "error", nowMs(), runId, parentRunId, nowMs() - startTs, err));
246
+ emit(makeObs(hookName, hookId, entry.stepId, "listener", entry.name, "error", nowMs(), runId, parentRunId, nowMs() - startTs, err));
228
247
  throw err;
229
248
  }
230
249
  }));
@@ -255,29 +274,54 @@ class HookImpl {
255
274
  }
256
275
  }
257
276
  // ─── Helpers ──────────────────────────────────────────────────────────
258
- function wrapChain(hook, entry, runId, parentRunId, signal, emit) {
259
- return async function instrumented(ctx, next) {
260
- if (signal?.aborted) {
261
- throw signal.reason ?? new Error("hook aborted");
262
- }
263
- const startTs = nowMs();
264
- emit(makeObs(hook, entry.stepId, "chain", entry.name, "start", startTs, runId, parentRunId));
265
- try {
266
- await entry.fn(ctx, next);
267
- const endTs = nowMs();
268
- emit(makeObs(hook, entry.stepId, "chain", entry.name, "end", endTs, runId, parentRunId, endTs - startTs));
269
- }
270
- catch (err) {
271
- const endTs = nowMs();
272
- emit(makeObs(hook, entry.stepId, "chain", entry.name, "error", endTs, runId, parentRunId, endTs - startTs, err));
273
- throw err;
274
- }
275
- };
277
+ /**
278
+ * Install the BaseHookCtx fields on the ctx object so chain steps can rely
279
+ * on them.
280
+ *
281
+ * - `signal` — non-enumerable, non-serializable framework property.
282
+ * - `state` — enumerable, so structuredClone / JSON.stringify capture
283
+ * contributed values (record/replay + tracing rely on this).
284
+ * - `set` — non-enumerable, writes into `state` for typed widening.
285
+ *
286
+ * User-provided values on ctx win — we never overwrite existing fields.
287
+ */
288
+ function installBaseCtxFields(ctx, signal) {
289
+ if (!ctx || typeof ctx !== "object")
290
+ return;
291
+ const obj = ctx;
292
+ const desc = Object.getOwnPropertyDescriptor;
293
+ if (!desc(obj, "signal")) {
294
+ Object.defineProperty(obj, "signal", {
295
+ value: signal ?? NEVER_ABORTS,
296
+ enumerable: false,
297
+ writable: false,
298
+ configurable: true,
299
+ });
300
+ }
301
+ if (!desc(obj, "state")) {
302
+ Object.defineProperty(obj, "state", {
303
+ value: {},
304
+ enumerable: true,
305
+ writable: false,
306
+ configurable: true,
307
+ });
308
+ }
309
+ if (!desc(obj, "set")) {
310
+ Object.defineProperty(obj, "set", {
311
+ value: function set(key, value) {
312
+ const state = obj.state;
313
+ state[key] = value;
314
+ },
315
+ enumerable: false,
316
+ writable: false,
317
+ configurable: true,
318
+ });
319
+ }
276
320
  }
277
- function makeObs(hook, stepId, stepKind, stepName, phase, ts, runId, parentRunId, durationMs, error) {
321
+ function makeObs(hookName, hookId, stepId, stepKind, stepName, phase, ts, runId, parentRunId, durationMs, error) {
278
322
  return {
279
- hookName: hook.name,
280
- hookId: hook.id,
323
+ hookName,
324
+ hookId,
281
325
  runId,
282
326
  parentRunId,
283
327
  stepId,
@@ -294,4 +338,3 @@ function makeObs(hook, stepId, stepKind, stepName, phase, ts, runId, parentRunId
294
338
  const nowMs = typeof performance !== "undefined" && typeof performance.now === "function"
295
339
  ? () => performance.now()
296
340
  : () => Date.now();
297
- //# sourceMappingURL=hook.js.map
package/dist/index.d.ts CHANGED
@@ -15,4 +15,3 @@ export { pipe, withTimeout, withRetry } from "./pipe.js";
15
15
  export { record, replay, type RecordOptions, type ReplayResult } from "./record.js";
16
16
  export { listHooks, currentRun, captureSourceLocation } from "./registry.js";
17
17
  export type { BaseHookCtx, ChainFn, HookOptions, ListenerFn, OnOptions, Recording, RetryOpts, RunOptions, RunOutcome, RunResult, SourceLocation, StepKind, StepObservation, StepPhase, TapFn, UseOptions, } from "./types.js";
18
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -14,4 +14,3 @@ export { compose } from "./compose.js";
14
14
  export { pipe, withTimeout, withRetry } from "./pipe.js";
15
15
  export { record, replay } from "./record.js";
16
16
  export { listHooks, currentRun, captureSourceLocation } from "./registry.js";
17
- //# sourceMappingURL=index.js.map
package/dist/pipe.d.ts CHANGED
@@ -25,4 +25,3 @@ export declare function withTimeout<Ctx>(ms: number, fn: ChainFn<Ctx>): ChainFn<
25
25
  * retried fn (compose around it).
26
26
  */
27
27
  export declare function withRetry<Ctx>(opts: RetryOpts, fn: ChainFn<Ctx>): ChainFn<Ctx>;
28
- //# sourceMappingURL=pipe.d.ts.map
package/dist/pipe.js CHANGED
@@ -72,4 +72,3 @@ export function withRetry(opts, fn) {
72
72
  throw lastErr;
73
73
  };
74
74
  }
75
- //# sourceMappingURL=pipe.js.map
package/dist/record.d.ts CHANGED
@@ -47,4 +47,3 @@ export interface ReplayResult<Ctx> {
47
47
  * their drift so a human can decide whether it's expected.
48
48
  */
49
49
  export declare function replay<Ctx>(hook: Hook<Ctx>, recording: Recording, opts?: RecordOptions): Promise<ReplayResult<Ctx>>;
50
- //# sourceMappingURL=record.d.ts.map
package/dist/record.js CHANGED
@@ -83,4 +83,3 @@ export async function replay(hook, recording, opts = {}) {
83
83
  },
84
84
  };
85
85
  }
86
- //# sourceMappingURL=record.js.map
@@ -30,10 +30,24 @@ export declare function __resetRegistryForTests(): void;
30
30
  * one or two helpers deep aim past their own wrapper.
31
31
  */
32
32
  export declare function captureSourceLocation(skipFrames?: number): SourceLocation | undefined;
33
- interface RunContext {
33
+ import type { StepObservation } from "./types.js";
34
+ /**
35
+ * Per-run context flowing through AsyncLocalStorage. Includes both the
36
+ * topology fields (runId, hookId, parentRunId) and the per-run state the
37
+ * pre-built chain wrappers need to do their work (signal, emit, hook
38
+ * snapshot for observations).
39
+ *
40
+ * Carrying these here lets the chain wrappers be assembled **once** at
41
+ * `.use()` time and reused across runs — they read per-run state from
42
+ * `currentRun()` instead of closing over it per invocation.
43
+ */
44
+ export interface RunContext {
34
45
  readonly runId: string;
35
46
  readonly hookId: string;
47
+ readonly hookName: string;
36
48
  readonly parentRunId?: string;
49
+ readonly signal?: AbortSignal;
50
+ readonly emit?: (obs: StepObservation) => void;
37
51
  }
38
52
  /** Monotonic id for the next `.run()`. Shared across module instances. */
39
53
  export declare function nextRunId(): string;
@@ -48,7 +62,12 @@ export declare function withRunContext<T>(ctx: RunContext, fn: () => Promise<T>)
48
62
  /**
49
63
  * The active run context, if any. Returns undefined when called outside
50
64
  * a hook run — that's the normal case for top-level dispatch.
65
+ *
66
+ * The shape published here intentionally narrows the topology fields
67
+ * (runId/hookId/parentRunId/hookName) — the per-run state fields
68
+ * (signal/emit) are framework-internal and consumed by chain wrappers,
69
+ * not domain code.
51
70
  */
52
- export declare function currentRun(): RunContext | undefined;
53
- export {};
54
- //# sourceMappingURL=registry.d.ts.map
71
+ export declare function currentRun(): Pick<RunContext, "runId" | "hookId" | "hookName" | "parentRunId"> | undefined;
72
+ /** Internal — used by chain wrappers to read per-run signal + emit. */
73
+ export declare function currentRunInternal(): RunContext | undefined;
package/dist/registry.js CHANGED
@@ -96,8 +96,19 @@ export function withRunContext(ctx, fn) {
96
96
  /**
97
97
  * The active run context, if any. Returns undefined when called outside
98
98
  * a hook run — that's the normal case for top-level dispatch.
99
+ *
100
+ * The shape published here intentionally narrows the topology fields
101
+ * (runId/hookId/parentRunId/hookName) — the per-run state fields
102
+ * (signal/emit) are framework-internal and consumed by chain wrappers,
103
+ * not domain code.
99
104
  */
100
105
  export function currentRun() {
106
+ const rc = runContext.getStore();
107
+ if (!rc)
108
+ return undefined;
109
+ return { runId: rc.runId, hookId: rc.hookId, hookName: rc.hookName, parentRunId: rc.parentRunId };
110
+ }
111
+ /** Internal — used by chain wrappers to read per-run signal + emit. */
112
+ export function currentRunInternal() {
101
113
  return runContext.getStore();
102
114
  }
103
- //# sourceMappingURL=registry.js.map
package/dist/types.d.ts CHANGED
@@ -9,29 +9,39 @@
9
9
  * contract every consumer relies on for tracing, scan, Studio, OTel, replay.
10
10
  */
11
11
  /**
12
- * The two fields every hook ctx carries, contributed by the runtime in
13
- * `.run()`. Consumers extend this shape with whatever their handler / step
14
- * needs — but `signal` + `set` are always there.
12
+ * The fields every hook ctx carries, contributed by the runtime in `.run()`.
13
+ * Consumers extend this shape with whatever their handler / step needs —
14
+ * but `signal`, `state`, and `set` are always there.
15
15
  *
16
16
  * - `signal` — Web-standard cooperative cancellation. The runtime sources
17
17
  * it from `RunOptions.signal`; if none is provided, a non-aborting
18
18
  * placeholder is supplied so handlers can pass it through without
19
19
  * null checks.
20
- * - `set(key, value)` — typed setter for contributing fields mid-chain.
21
- * Uses a TS assertion function so subsequent steps + the rest of the
22
- * current step see the widened type:
20
+ * - `state` — a per-run bag for fields contributed mid-chain. Keeping
21
+ * contributed values inside a single property keeps the ctx root from
22
+ * accreting ambient properties as the chain runs. Reads:
23
23
  *
24
- * ctx.set("user", user); // ctx now widened to (TCtx & { user: User })
24
+ * ctx.state.user.id
25
+ *
26
+ * - `set(key, value)` — typed setter that writes into `ctx.state`. Uses a
27
+ * TS assertion function so subsequent steps + the rest of the current
28
+ * step see `ctx.state` widened with the new field:
29
+ *
30
+ * ctx.set("user", user);
25
31
  * await next();
32
+ * // here ctx.state.user is typed as User
26
33
  *
27
- * Plain reassignment (`ctx.user = x`) still works when the field is
28
- * declared on TCtx — `.set()` is the *contributing* primitive for cases
29
- * where the field wasn't pre-declared on the ctx.
34
+ * Plain assignment to declared root fields (`ctx.result = …` when
35
+ * `result` is on TCtx) still works — `.set()` is the *contributing*
36
+ * primitive for fields that weren't declared on the base ctx.
30
37
  */
31
38
  export interface BaseHookCtx {
32
39
  readonly signal: AbortSignal;
40
+ readonly state: Record<string, unknown>;
33
41
  set<K extends string, V>(key: K, value: V): asserts this is this & {
34
- [P in K]: V;
42
+ readonly state: {
43
+ readonly [P in K]: V;
44
+ } & Record<string, unknown>;
35
45
  };
36
46
  }
37
47
  /** A single link in a chain — koa-compose-shaped middleware. */
@@ -145,4 +155,3 @@ export interface Recording {
145
155
  readonly ctxOut: unknown;
146
156
  readonly capturedAt: string;
147
157
  }
148
- //# sourceMappingURL=types.d.ts.map
package/dist/types.js CHANGED
@@ -9,4 +9,3 @@
9
9
  * contract every consumer relies on for tracing, scan, Studio, OTel, replay.
10
10
  */
11
11
  export {};
12
- //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nwire/hooks",
3
- "version": "0.9.2",
4
- "description": "Nwire — the universal dispatch primitive. One hook() accepts both .use() (sequential koa-compose chain) and .on() (parallel listener) attachments. Built on emittery + a ~30 LOC composer. Standalone, in-process only, ~100 LOC of surface.",
3
+ "version": "0.10.1",
4
+ "description": "Nwire — the universal dispatch primitive. One hook() accepts both .use() (sequential koa-compose chain) and .on() (parallel listener) attachments. Lazy-memoized chain compose, per-step observation tap, AsyncLocalStorage-linked run topology. In-process only.",
5
5
  "keywords": [
6
6
  "dispatch",
7
7
  "events",
@@ -29,9 +29,6 @@
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
- "dependencies": {
33
- "emittery": "1.0.1"
34
- },
35
32
  "devDependencies": {
36
33
  "@types/node": "^22.19.9",
37
34
  "typescript": "^5.9.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAgB3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAM,GAAgC;IAC3D,OAAO,SAAS,QAAQ,CAAC,GAAG,EAAE,SAAS;QACrC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAS,EAAiB,EAAE;YAClD,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YACD,SAAS,GAAG,CAAC,CAAC;YACd,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE;gBAAE,OAAO;YAChB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-hooks.d.ts","sourceRoot":"","sources":["../src/create-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnD,oDAAoD;AACpD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEhD,2CAA2C;AAC3C,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,GAAG,IACvB,OAAO,CAAC,GAAG,CAAC,GACZ;IAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;CAAE,GACxD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;IAAE,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAE3F,gEAAgE;AAChE,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC;AAEF,sDAAsD;AACtD,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,OAAO;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,2DAA2D;IAC3D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAehE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-hooks.js","sourceRoot":"","sources":["../src/create-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqCH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAoB,KAAQ;IACrD,MAAM,IAAI,GAAY;QACpB,KAAK;QACL,GAAG,CAAC,MAAM;YACR,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAmB,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAS;gBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAM,MAAiB,EAAE,KAAuB;IACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,KAAK;YAAE,UAAU,CAAC,MAAM,EAAE,GAAuB,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,EAAE,IAAI,IAAI;gBAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EAEV,SAAS,EAET,KAAK,EACL,UAAU,EACX,MAAM,SAAS,CAAC;AAWjB;;;;;;GAMG;AACH,MAAM,WAAW,IAAI,CAAC,GAAG;IACvB,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,iEAAiE;IACjE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAE/C,uEAAuE;IACvE,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAEhD,6EAA6E;IAC7E,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAE9C,8EAA8E;IAC9E,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/C,0EAA0E;IAC1E,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAElE,yEAAyE;IACzE,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,IAAI,CAAC;IAEjC,0EAA0E;IAC1E,UAAU,IAAI;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED,yBAAyB;AACzB,wBAAgB,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAW,CAAC,GAAG,CAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAKjF"}
package/dist/hook.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,WAAW,EACX,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC1E,YAAY,EACV,WAAW,EACX,OAAO,EACP,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,eAAe,EACf,SAAS,EACT,KAAK,EACL,UAAU,GACX,MAAM,SAAS,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAC;AACzC,OAAO,EACL,WAAW,GAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAyC,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../src/pipe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElD,4DAA4D;AAC5D,wBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAiB3E;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CA0B9E"}
package/dist/pipe.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipe.js","sourceRoot":"","sources":["../src/pipe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,4DAA4D;AAC5D,MAAM,UAAU,IAAI,CAAM,GAAG,GAAmB;IAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAM,EAAU,EAAE,EAAgB;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC,6DAA6D,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,UAAU,KAAK,CAAC,GAAG,EAAE,IAAI;QACnC,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3E,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAM,IAAe,EAAE,EAAgB;IAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,UAAU,CAAC,uDAAuD,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO,KAAK,UAAU,OAAO,CAAC,GAAG,EAAE,IAAI;QACrC,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,GAAG,CAAC;gBACd,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC3D,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QACD,mDAAmD;QACnD,MAAM,OAAO,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;CACnC;AAQD;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAC9B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,GAAG,EAAE,GAAG,EACR,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,SAAS,CAAC,CAepB;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY,CAAC,GAAG;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChG;AAED;;;;;;GAMG;AACH,wBAAsB,MAAM,CAAC,GAAG,EAC9B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EACf,SAAS,EAAE,SAAS,EACpB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAoC5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA6B9C,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;CAClC,CAAC,CAQD;AAED,sEAAsE;AACtE,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAcD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,SAAI,GAAG,cAAc,GAAG,SAAS,CAehF;AAID,UAAU,UAAU;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAID,0EAA0E;AAC1E,wBAAgB,SAAS,IAAI,MAAM,CAGlC;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEnF;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,UAAU,GAAG,SAAS,CAEnD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}