stitchkit 0.76.1 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/agent-runtime-coding-tools.js +1 -2
  2. package/dist/agent-runtime-harness.js +4 -5
  3. package/dist/agent-runtime.js +7 -8
  4. package/dist/application/decisions.d.ts +86 -0
  5. package/dist/application/decisions.d.ts.map +1 -0
  6. package/dist/application/kernel.d.ts +33 -1
  7. package/dist/application/kernel.d.ts.map +1 -1
  8. package/dist/application/watch-hub.d.ts +1 -1
  9. package/dist/application/watch-hub.d.ts.map +1 -1
  10. package/dist/application-schemas.d.ts +15 -0
  11. package/dist/application-schemas.d.ts.map +1 -0
  12. package/dist/application-schemas.js +111 -0
  13. package/dist/application.d.ts +3 -2
  14. package/dist/application.d.ts.map +1 -1
  15. package/dist/application.js +184 -114
  16. package/dist/cli.js +6 -7
  17. package/dist/contract/index.js +1 -2
  18. package/dist/{index-v5dm4bwq.js → index-58jzmnn4.js} +1 -1
  19. package/dist/{index-885chjxq.js → index-7qy2ex0m.js} +1 -1
  20. package/dist/index-a916km3r.js +45 -0
  21. package/dist/{index-28jsdwt1.js → index-aczggrty.js} +1 -1
  22. package/dist/{index-65kathdm.js → index-da1aqnhb.js} +4 -6
  23. package/dist/{index-xgahrwdf.js → index-ezmn6ac6.js} +3 -3
  24. package/dist/{index-4kp4fxvp.js → index-f6n5n7nz.js} +18 -4
  25. package/dist/{index-6wr9f6qm.js → index-jqtsc9mj.js} +2 -2
  26. package/dist/{index-9c5dbr5q.js → index-k2zczx1g.js} +1 -1
  27. package/dist/{index-v7xjfy10.js → index-m668wzyc.js} +1 -1
  28. package/dist/{index-e0a57ymn.js → index-nemjkxjp.js} +1 -1
  29. package/dist/{index-9my2n66s.js → index-s2rchahr.js} +4 -4
  30. package/dist/{index-k68e5jz0.js → index-s4c8wy8m.js} +2 -2
  31. package/dist/{index-52400rdd.js → index-t8qyvrvg.js} +3 -3
  32. package/dist/{index-endzd8sj.js → index-vbf2p6me.js} +1 -1
  33. package/dist/{index-hvftzz91.js → index-vc1b0b1b.js} +221 -117
  34. package/dist/{index-hsz2mmk0.js → index-vj3vvpaa.js} +17 -1
  35. package/dist/index.js +1 -2
  36. package/dist/internal/decision.d.ts +31 -0
  37. package/dist/internal/decision.d.ts.map +1 -0
  38. package/dist/internal/stable-digest.d.ts +40 -6
  39. package/dist/internal/stable-digest.d.ts.map +1 -1
  40. package/dist/live/events.d.ts +8 -13
  41. package/dist/live/events.d.ts.map +1 -1
  42. package/dist/live/watch-client.d.ts.map +1 -1
  43. package/dist/live.d.ts +1 -1
  44. package/dist/live.d.ts.map +1 -1
  45. package/dist/live.js +40 -57
  46. package/dist/node.js +4 -5
  47. package/dist/observability/index.js +3 -4
  48. package/dist/primitives.js +1 -2
  49. package/dist/remote.js +2 -3
  50. package/dist/server/event-bus.d.ts +3 -2
  51. package/dist/server/event-bus.d.ts.map +1 -1
  52. package/dist/server/index.js +5 -6
  53. package/dist/testing.js +3 -4
  54. package/dist/tool-invoker.js +5 -6
  55. package/dist/tools.js +13 -14
  56. package/llms-full.txt +184 -4
  57. package/package.json +6 -2
  58. package/dist/index-rxfy4cq7.js +0 -17
  59. package/dist/index-vdvmcy7r.js +0 -22
@@ -21,6 +21,7 @@
21
21
  * → ADR 0150.
22
22
  */
23
23
  import { z } from 'zod';
24
+ import type { UndecidedOutcome } from '../internal/decision.js';
24
25
  import type { RealtimeContract, RealtimeEventRegistry } from '../realtime/contract.js';
25
26
  /**
26
27
  * How a topic reaches the listeners registered for it **in this process**.
@@ -38,23 +39,17 @@ import type { RealtimeContract, RealtimeEventRegistry } from '../realtime/contra
38
39
  */
39
40
  export type EventDeliveryMode = 'emit' | 'serial' | 'decision';
40
41
  /**
41
- * One listener's vote on a `decision` topic.
42
+ * One listener's vote on a `decision` topic — the framework's one decision
43
+ * vocabulary, shared with the policy pipeline in `stitchkit/application`.
42
44
  *
43
45
  * `defer` is a real answer — "not my call" — and it is distinct from `allow` on
44
46
  * purpose: an event where every listener defers is one nobody claimed, and what
45
47
  * should happen then is a policy the topic has to state rather than a default
46
- * somebody guesses. See `whenAllDefer`.
48
+ * somebody guesses. See `whenAllDefer`. (A policy pipeline treats that ending
49
+ * as a defect instead, because an operation nothing decided cannot be answered
50
+ * either way; same words, different mechanisms, and each says which it is.)
47
51
  */
48
- export type EventDecision = {
49
- readonly outcome: 'allow';
50
- } | {
51
- readonly outcome: 'deny';
52
- readonly reason: string;
53
- } | {
54
- readonly outcome: 'defer';
55
- };
56
- /** What a `decision` topic concludes when every listener deferred, or there were none. */
57
- export type EventUndecided = 'allow' | 'deny';
52
+ export type { PolicyDecision, UndecidedOutcome } from '../internal/decision.js';
58
53
  export interface EventTopicDeclaration<TSchema extends z.ZodType = z.ZodType> {
59
54
  /** The payload schema. One payload per topic — a topic is not a function call. */
60
55
  readonly schema: TSchema;
@@ -67,7 +62,7 @@ export interface EventTopicDeclaration<TSchema extends z.ZodType = z.ZodType> {
67
62
  * every topic whose author never thought about it. Both are decisions; a
68
63
  * default makes them silently.
69
64
  */
70
- readonly whenAllDefer?: EventUndecided;
65
+ readonly whenAllDefer?: UndecidedOutcome;
71
66
  /**
72
67
  * How long one listener may take on a `serial` or `decision` topic before the
73
68
  * dispatcher stops waiting for it, in milliseconds.
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/live/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/live/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch-client.d.ts","sourceRoot":"","sources":["../../src/live/watch-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch-client.d.ts","sourceRoot":"","sources":["../../src/live/watch-client.ts"],"names":[],"mappings":"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"}
package/dist/live.d.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  * delivery is `createEventBus` from `stitchkit/server`, and the server halves of
13
13
  * a watched read live in `stitchkit/application`. → ADR 0150.
14
14
  */
15
- export { defineEvents, type EventDecision, type EventDeliveryMode, type EventPayloads, type EventsConfig, type EventsDeclaration, type EventTopicDeclaration, type EventTopicRegistry, type EventTopicsOfMode, type EventUndecided, toRealtimeContract, type WireTopic, } from './live/events.js';
15
+ export { defineEvents, type EventDeliveryMode, type EventPayloads, type EventsConfig, type EventsDeclaration, type EventTopicDeclaration, type EventTopicRegistry, type EventTopicsOfMode, type PolicyDecision, toRealtimeContract, type UndecidedOutcome, type WireTopic, } from './live/events.js';
16
16
  export { createWatchClient, type RealtimeClientLike, type TypedWatchClient, type WatchClientConfig, type WatchHandle, type WatchInboundEvents, type WatchListeners, type WatchTransport, watchTransport, } from './live/watch-client.js';
17
17
  export { WATCH_CLOSE, WATCH_OPEN, WATCH_STATE, WATCH_VALUE, type WatchKey, WatchKeySchema, type WatchStateFrame, WatchStateSchema, type WatchValueFrame, WatchValueSchema, watchContract, watchKeyString, } from './live/watch-contract.js';
18
18
  //# sourceMappingURL=live.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,eAAe,EACpB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,eAAe,EACpB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC"}
package/dist/live.js CHANGED
@@ -2,9 +2,6 @@ import {
2
2
  LiveStatePhaseSchema,
3
3
  LiveStateStopReasonSchema
4
4
  } from "./index-35z5h2ty.js";
5
- import {
6
- bytesToBase64Url
7
- } from "./index-rxfy4cq7.js";
8
5
 
9
6
  // src/live/events.ts
10
7
  import { z } from "zod";
@@ -68,9 +65,36 @@ function stableValue(value) {
68
65
  }
69
66
  return result;
70
67
  }
71
- async function argumentsDigest(args) {
72
- const bytes = new TextEncoder().encode(JSON.stringify(stableValue(args)));
73
- return bytesToBase64Url(new Uint8Array(await crypto.subtle.digest("SHA-256", bytes)));
68
+ function mix128(input) {
69
+ let a = 2654435769;
70
+ let b = 2246822507;
71
+ let c = 3266489909;
72
+ let d = 668265263;
73
+ for (let index = 0;index < input.length; index += 1) {
74
+ const code = input.charCodeAt(index);
75
+ a = Math.imul(a ^ code, 2246822519);
76
+ b = Math.imul(b ^ code, 3266489917);
77
+ c = Math.imul(c ^ code, 668265263);
78
+ d = Math.imul(d ^ code, 374761393);
79
+ a = a << 13 | a >>> 19;
80
+ b = b << 17 | b >>> 15;
81
+ c = c << 7 | c >>> 25;
82
+ d = d << 11 | d >>> 21;
83
+ }
84
+ a ^= b >>> 15;
85
+ b ^= c >>> 13;
86
+ c ^= d >>> 11;
87
+ d ^= a >>> 9;
88
+ return [
89
+ Math.imul(a ^ a >>> 16, 575075507) >>> 0,
90
+ Math.imul(b ^ b >>> 13, 2654435761) >>> 0,
91
+ Math.imul(c ^ c >>> 16, 2246822507) >>> 0,
92
+ Math.imul(d ^ d >>> 15, 3266489909) >>> 0
93
+ ];
94
+ }
95
+ function argumentsDigest(args) {
96
+ const lanes = mix128(JSON.stringify(stableValue(args)) ?? "undefined");
97
+ return lanes.map((lane) => lane.toString(16).padStart(8, "0")).join("");
74
98
  }
75
99
 
76
100
  // src/live/watch-contract.ts
@@ -121,7 +145,6 @@ function watchTransport(client) {
121
145
  }
122
146
  function createWatchClient(contract, config) {
123
147
  const entries = new Map;
124
- const digests = new Map;
125
148
  const holdMs = config.holdMs ?? 0;
126
149
  const openTimeoutMs = config.openTimeoutMs ?? 1e4;
127
150
  const service = contract.meta.prefix;
@@ -168,18 +191,6 @@ function createWatchClient(contract, config) {
168
191
  open(entry);
169
192
  }
170
193
  });
171
- function cachedDigest(action, args) {
172
- return digests.get(`${service}/${action}/${JSON.stringify(stableValue(args))}`);
173
- }
174
- async function resolveDigest(action, args) {
175
- const cacheKey = `${service}/${action}/${JSON.stringify(stableValue(args))}`;
176
- const cached = digests.get(cacheKey);
177
- if (cached !== undefined)
178
- return cached;
179
- const digest = await argumentsDigest(args);
180
- digests.set(cacheKey, digest);
181
- return digest;
182
- }
183
194
  function entryFor(key, args) {
184
195
  const id = watchKeyString(key);
185
196
  const existing = entries.get(id);
@@ -246,55 +257,27 @@ function createWatchClient(contract, config) {
246
257
  }
247
258
  function handleFor(action, args) {
248
259
  const mine = new Set;
249
- let entry;
250
- const known = cachedDigest(action, args);
251
- if (known !== undefined)
252
- entry = entryFor({ service, action, digest: known }, args);
253
- const ready = (async () => {
254
- if (entry)
255
- return entry;
256
- const digest = await resolveDigest(action, args);
257
- entry = entryFor({ service, action, digest }, args);
258
- return entry;
259
- })();
260
+ const entry = entryFor({ service, action, digest: argumentsDigest(args) }, args);
260
261
  return {
261
262
  subscribe(listeners) {
262
263
  const registered = listeners;
263
264
  mine.add(registered);
264
- if (entry) {
265
- entry.listeners.add(registered);
266
- if (entry.hasValue)
267
- registered.value(entry.value);
268
- registered.state?.(entry.state);
269
- }
270
- ready.then((target) => {
271
- if (!mine.has(registered))
272
- return;
273
- if (!target.listeners.has(registered)) {
274
- target.listeners.add(registered);
275
- if (target.hasValue)
276
- registered.value(target.value);
277
- registered.state?.(target.state);
278
- }
279
- open(target);
280
- });
265
+ entry.listeners.add(registered);
266
+ if (entry.hasValue)
267
+ registered.value(entry.value);
268
+ registered.state?.(entry.state);
269
+ open(entry);
281
270
  return () => {
282
271
  mine.delete(registered);
283
- const target = entry;
284
- if (!target)
285
- return;
286
- target.listeners.delete(registered);
287
- releaseEntry(target);
272
+ entry.listeners.delete(registered);
273
+ releaseEntry(entry);
288
274
  };
289
275
  },
290
276
  close() {
291
- const target = entry;
292
- if (!target)
293
- return;
294
277
  for (const listener of mine)
295
- target.listeners.delete(listener);
278
+ entry.listeners.delete(listener);
296
279
  mine.clear();
297
- releaseEntry(target);
280
+ releaseEntry(entry);
298
281
  }
299
282
  };
300
283
  }
package/dist/node.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  createHandler,
6
6
  createSocketIOServer,
7
7
  createUnixClientTransport
8
- } from "./index-52400rdd.js";
8
+ } from "./index-t8qyvrvg.js";
9
9
  import {
10
10
  createImplement,
11
11
  createImplementRegistry,
@@ -14,8 +14,8 @@ import {
14
14
  createScopedImplementRegistry,
15
15
  implement,
16
16
  implementRegistry
17
- } from "./index-endzd8sj.js";
18
- import"./index-e0a57ymn.js";
17
+ } from "./index-vbf2p6me.js";
18
+ import"./index-nemjkxjp.js";
19
19
  import"./index-7b188kmz.js";
20
20
  import {
21
21
  ShutdownOptionsSchema,
@@ -25,8 +25,7 @@ import {
25
25
  createServerLifecycle
26
26
  } from "./index-3z73fh2c.js";
27
27
  import"./index-nt1mp8km.js";
28
- import"./index-hsz2mmk0.js";
29
- import"./index-rxfy4cq7.js";
28
+ import"./index-vj3vvpaa.js";
30
29
  import {
31
30
  AppError,
32
31
  appError,
@@ -10,7 +10,7 @@ import {
10
10
  redact,
11
11
  sanitizePayload,
12
12
  truncatePreview
13
- } from "../index-28jsdwt1.js";
13
+ } from "../index-aczggrty.js";
14
14
  import {
15
15
  getRequestContext,
16
16
  getTraceId,
@@ -21,7 +21,7 @@ import {
21
21
  setRequestError,
22
22
  setRequestUser,
23
23
  wrapInRequestContext
24
- } from "../index-e0a57ymn.js";
24
+ } from "../index-nemjkxjp.js";
25
25
  import {
26
26
  childSpan,
27
27
  createTraceContext,
@@ -31,8 +31,7 @@ import {
31
31
  resolvePropagationContext,
32
32
  resolveTraceContext
33
33
  } from "../index-nt1mp8km.js";
34
- import"../index-hsz2mmk0.js";
35
- import"../index-rxfy4cq7.js";
34
+ import"../index-vj3vvpaa.js";
36
35
  import"../index-0w9abg87.js";
37
36
  import {
38
37
  isRecord
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  ManagedFileRefSchema
3
- } from "./index-4kp4fxvp.js";
4
- import"./index-rxfy4cq7.js";
3
+ } from "./index-f6n5n7nz.js";
5
4
  import"./index-ksp6e2ye.js";
6
5
 
7
6
  // src/primitives/audit.ts
package/dist/remote.js CHANGED
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  ApiError,
3
3
  createClient
4
- } from "./index-v5dm4bwq.js";
4
+ } from "./index-58jzmnn4.js";
5
5
  import"./index-1rxswfbv.js";
6
6
  import"./index-nt1mp8km.js";
7
7
  import {
8
8
  mergeMeta
9
- } from "./index-hsz2mmk0.js";
10
- import"./index-rxfy4cq7.js";
9
+ } from "./index-vj3vvpaa.js";
11
10
  import {
12
11
  AppError
13
12
  } from "./index-0w9abg87.js";
@@ -1,4 +1,5 @@
1
- import type { EventDecision, EventTopicDeclaration } from '../live/events.js';
1
+ import type { PolicyDecision } from '../internal/decision.js';
2
+ import type { EventTopicDeclaration } from '../live/events.js';
2
3
  /**
3
4
  * A listener's return value.
4
5
  *
@@ -50,7 +51,7 @@ export interface EventBus<M extends Record<string, unknown> = DefaultEventMap> {
50
51
  * the same isolation would mean "counted as consent". A listener that was
51
52
  * asked and did not answer has not agreed.
52
53
  */
53
- decide<K extends keyof M & string>(event: K, data: M[K]): Promise<EventDecision>;
54
+ decide<K extends keyof M & string>(event: K, data: M[K]): Promise<PolicyDecision>;
54
55
  on<K extends keyof M & string>(event: K, handler: EventHandler<M[K]>): () => void;
55
56
  once<K extends keyof M & string>(event: K, handler: EventHandler<M[K]>): () => void;
56
57
  off<K extends keyof M & string>(event: K, handler: EventHandler<M[K]>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/server/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;AAE7D,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAC3E;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACjF,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IAClF,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IACpF,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7E,KAAK,IAAI,IAAI,CAAC;CACf;AAYD,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAC1D;AAkCD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,EAChF,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CAAC,CAAC,CAAC,CAwKb"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/server/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;AAE7D,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAC3E;;;OAGG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAClF,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IAClF,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IACpF,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7E,KAAK,IAAI,IAAI,CAAC;CACf;AAYD,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAC1D;AAkCD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,EAChF,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CAAC,CAAC,CAAC,CAwKb"}
@@ -13,7 +13,7 @@ import {
13
13
  sseRoute,
14
14
  streamingRoute,
15
15
  webSocketLane
16
- } from "../index-52400rdd.js";
16
+ } from "../index-t8qyvrvg.js";
17
17
  import {
18
18
  composeAuthHooks,
19
19
  createAuthHook,
@@ -26,7 +26,7 @@ import {
26
26
  signJwt,
27
27
  verifyJwt,
28
28
  verifyPkce
29
- } from "../index-65kathdm.js";
29
+ } from "../index-da1aqnhb.js";
30
30
  import {
31
31
  DEFAULT_CORS_ALLOW_HEADERS,
32
32
  DEFAULT_CORS_EXPOSE_HEADERS,
@@ -40,7 +40,7 @@ import {
40
40
  defineMultipartStream,
41
41
  implement,
42
42
  implementRegistry
43
- } from "../index-endzd8sj.js";
43
+ } from "../index-vbf2p6me.js";
44
44
  import {
45
45
  extractIp,
46
46
  generateTraceId,
@@ -49,7 +49,7 @@ import {
49
49
  isPublicIp,
50
50
  resolveSocketIp,
51
51
  resolveTraceId
52
- } from "../index-e0a57ymn.js";
52
+ } from "../index-nemjkxjp.js";
53
53
  import {
54
54
  isWithinDir,
55
55
  realPathWithinDir
@@ -81,8 +81,7 @@ import {
81
81
  DEFAULT_CONTRACT_STREAM_FRAME_BYTES,
82
82
  joinRoutePath,
83
83
  parseTrailingWildcard
84
- } from "../index-hsz2mmk0.js";
85
- import"../index-rxfy4cq7.js";
84
+ } from "../index-vj3vvpaa.js";
86
85
  import {
87
86
  AppError,
88
87
  STITCH_ERROR_STATUS,
package/dist/testing.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  } from "./index-x1th9s8c.js";
5
5
  import {
6
6
  createApplication
7
- } from "./index-hvftzz91.js";
7
+ } from "./index-vc1b0b1b.js";
8
8
  import"./index-2k4yrqkc.js";
9
9
  import"./index-8eywc9zv.js";
10
10
  import {
@@ -24,13 +24,12 @@ import {
24
24
  import {
25
25
  createClient,
26
26
  createClients
27
- } from "./index-v5dm4bwq.js";
27
+ } from "./index-58jzmnn4.js";
28
28
  import"./index-1rxswfbv.js";
29
29
  import"./index-nt1mp8km.js";
30
30
  import {
31
31
  joinRoutePath
32
- } from "./index-hsz2mmk0.js";
33
- import"./index-rxfy4cq7.js";
32
+ } from "./index-vj3vvpaa.js";
34
33
  import"./index-0w9abg87.js";
35
34
  import {
36
35
  isRecord
@@ -1,14 +1,13 @@
1
1
  import {
2
2
  createToolInvoker
3
- } from "./index-6wr9f6qm.js";
4
- import"./index-885chjxq.js";
5
- import"./index-k68e5jz0.js";
6
- import"./index-e0a57ymn.js";
3
+ } from "./index-jqtsc9mj.js";
4
+ import"./index-7qy2ex0m.js";
5
+ import"./index-s4c8wy8m.js";
6
+ import"./index-nemjkxjp.js";
7
7
  import"./index-22by16v6.js";
8
8
  import"./index-cby4ar3v.js";
9
9
  import"./index-nt1mp8km.js";
10
- import"./index-hsz2mmk0.js";
11
- import"./index-rxfy4cq7.js";
10
+ import"./index-vj3vvpaa.js";
12
11
  import"./index-0w9abg87.js";
13
12
  import"./index-qyrqwr4c.js";
14
13
  import"./index-6k1937bx.js";
package/dist/tools.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  redact
3
- } from "./index-28jsdwt1.js";
3
+ } from "./index-aczggrty.js";
4
4
  import {
5
5
  buildToolManifest,
6
6
  mountAgent
7
- } from "./index-xgahrwdf.js";
7
+ } from "./index-ezmn6ac6.js";
8
8
  import"./index-3xnq72rz.js";
9
9
  import {
10
10
  argumentsDigest
11
- } from "./index-vdvmcy7r.js";
11
+ } from "./index-a916km3r.js";
12
12
  import {
13
13
  signJwt,
14
14
  verifyPkce
15
- } from "./index-65kathdm.js";
15
+ } from "./index-da1aqnhb.js";
16
16
  import {
17
17
  DEFAULT_CORS_ALLOW_HEADERS,
18
18
  DEFAULT_PROCESS_SIGNALS,
@@ -20,10 +20,10 @@ import {
20
20
  defaultSignalSource,
21
21
  guardSignalCallback,
22
22
  reportSignalError
23
- } from "./index-endzd8sj.js";
23
+ } from "./index-vbf2p6me.js";
24
24
  import {
25
25
  createToolInvoker
26
- } from "./index-6wr9f6qm.js";
26
+ } from "./index-jqtsc9mj.js";
27
27
  import {
28
28
  WaitTimeoutError,
29
29
  createCli,
@@ -32,10 +32,10 @@ import {
32
32
  fetchPinnedDocument,
33
33
  readCapped,
34
34
  runWaitOperation
35
- } from "./index-9my2n66s.js";
35
+ } from "./index-s2rchahr.js";
36
36
  import {
37
37
  collectToolSurface
38
- } from "./index-9c5dbr5q.js";
38
+ } from "./index-k2zczx1g.js";
39
39
  import {
40
40
  createRuntimeToolFactory,
41
41
  defineRuntimeTool
@@ -44,19 +44,19 @@ import {
44
44
  collectTools,
45
45
  createToolRunner,
46
46
  formatToolError
47
- } from "./index-885chjxq.js";
47
+ } from "./index-7qy2ex0m.js";
48
48
  import {
49
49
  ToolExecutionControlError,
50
50
  coerceJsonArgs,
51
51
  executeToolMethod,
52
52
  isToolExecutionControlError,
53
53
  toolResultFromError
54
- } from "./index-k68e5jz0.js";
54
+ } from "./index-s4c8wy8m.js";
55
55
  import {
56
56
  getRequestContext,
57
57
  getTraceId,
58
58
  runWithRequestContext
59
- } from "./index-e0a57ymn.js";
59
+ } from "./index-nemjkxjp.js";
60
60
  import {
61
61
  ManagedFileError
62
62
  } from "./index-bfcpjw20.js";
@@ -79,8 +79,7 @@ import {
79
79
  } from "./index-nt1mp8km.js";
80
80
  import {
81
81
  defineContract
82
- } from "./index-hsz2mmk0.js";
83
- import"./index-rxfy4cq7.js";
82
+ } from "./index-vj3vvpaa.js";
84
83
  import {
85
84
  AppError,
86
85
  STITCH_ERROR_STATUS
@@ -1146,7 +1145,7 @@ async function resolveMcpRound(options) {
1146
1145
  });
1147
1146
  const requests = policy.inputRequired;
1148
1147
  const state = options.context.mcpReq.requestState();
1149
- const digest = await argumentsDigest(options.rawArgs);
1148
+ const digest = argumentsDigest(options.rawArgs);
1150
1149
  if (!state) {
1151
1150
  if (isRecord(options.context.mcpReq.inputResponses)) {
1152
1151
  return failedResolution({