stitchkit 0.55.0 → 0.56.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.
Files changed (78) hide show
  1. package/dist/browser/socket-io.d.ts +14 -6
  2. package/dist/browser/socket-io.d.ts.map +1 -1
  3. package/dist/cli.js +4 -4
  4. package/dist/contract/errors.d.ts +7 -0
  5. package/dist/contract/errors.d.ts.map +1 -1
  6. package/dist/contract/index.js +1 -1
  7. package/dist/files/boundary.d.ts +8 -5
  8. package/dist/files/boundary.d.ts.map +1 -1
  9. package/dist/files.js +1 -1
  10. package/dist/{index-rgd18hx3.js → index-28cqssm3.js} +7 -0
  11. package/dist/index-557by2db.js +34 -0
  12. package/dist/index-5r13htq1.js +283 -0
  13. package/dist/index-6y759j86.js +1031 -0
  14. package/dist/{index-npye5kt7.js → index-75njxz7p.js} +69 -7
  15. package/dist/{index-1k16zv57.js → index-bfcpjw20.js} +125 -31
  16. package/dist/{index-0gv7k0ra.js → index-escqg10p.js} +73 -666
  17. package/dist/{index-v4bbq3p4.js → index-j3dem06f.js} +1 -1
  18. package/dist/{index-qx84bqzk.js → index-jcc611vh.js} +1 -1
  19. package/dist/{index-pzc32v75.js → index-sm2tjx06.js} +41 -4
  20. package/dist/{index-js7yexng.js → index-xy8fmh6w.js} +83 -4
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +27 -6
  24. package/dist/node.js +5 -4
  25. package/dist/observability/audit.d.ts +4 -0
  26. package/dist/observability/audit.d.ts.map +1 -1
  27. package/dist/observability/event.d.ts +5 -0
  28. package/dist/observability/event.d.ts.map +1 -1
  29. package/dist/observability/index.js +17 -11
  30. package/dist/remote.js +1 -1
  31. package/dist/server/context-contribution.d.ts +8 -0
  32. package/dist/server/context-contribution.d.ts.map +1 -1
  33. package/dist/server/create.d.ts.map +1 -1
  34. package/dist/server/error-hook.d.ts +1 -1
  35. package/dist/server/error-hook.d.ts.map +1 -1
  36. package/dist/server/index.d.ts +1 -1
  37. package/dist/server/index.d.ts.map +1 -1
  38. package/dist/server/index.js +10 -6
  39. package/dist/server/logger.d.ts.map +1 -1
  40. package/dist/server/middleware/auth.d.ts +29 -2
  41. package/dist/server/middleware/auth.d.ts.map +1 -1
  42. package/dist/server/request-body.d.ts.map +1 -1
  43. package/dist/testing/surface-conformance.d.ts +143 -10
  44. package/dist/testing/surface-conformance.d.ts.map +1 -1
  45. package/dist/testing/surface-manifest.d.ts +132 -33
  46. package/dist/testing/surface-manifest.d.ts.map +1 -1
  47. package/dist/testing.d.ts +2 -2
  48. package/dist/testing.d.ts.map +1 -1
  49. package/dist/testing.js +470 -122
  50. package/dist/tools/async-operation.d.ts +210 -18
  51. package/dist/tools/async-operation.d.ts.map +1 -1
  52. package/dist/tools/define-download-tool.d.ts.map +1 -1
  53. package/dist/tools/define-upload-tool.d.ts.map +1 -1
  54. package/dist/tools/internal/surface-projector.d.ts +101 -0
  55. package/dist/tools/internal/surface-projector.d.ts.map +1 -0
  56. package/dist/tools/managed-file-error.d.ts +6 -0
  57. package/dist/tools/managed-file-error.d.ts.map +1 -0
  58. package/dist/tools/mcp-prepare.d.ts +3 -21
  59. package/dist/tools/mcp-prepare.d.ts.map +1 -1
  60. package/dist/tools/mcp-round-policy.d.ts +9 -0
  61. package/dist/tools/mcp-round-policy.d.ts.map +1 -0
  62. package/dist/tools/mcp-round.d.ts +0 -4
  63. package/dist/tools/mcp-round.d.ts.map +1 -1
  64. package/dist/tools/mount-download.d.ts.map +1 -1
  65. package/dist/tools/mount-upload.d.ts.map +1 -1
  66. package/dist/tools/mount.d.ts +5 -9
  67. package/dist/tools/mount.d.ts.map +1 -1
  68. package/dist/tools/runtime-tool.d.ts.map +1 -1
  69. package/dist/tools/surface.d.ts +7 -0
  70. package/dist/tools/surface.d.ts.map +1 -1
  71. package/dist/tools/view-file.d.ts.map +1 -1
  72. package/dist/tools.d.ts +1 -1
  73. package/dist/tools.d.ts.map +1 -1
  74. package/dist/tools.js +348 -383
  75. package/llms-full.txt +425 -66
  76. package/package.json +1 -1
  77. package/dist/index-h60df7rj.js +0 -110
  78. package/dist/index-k4dftwf7.js +0 -66
@@ -134,14 +134,15 @@ export interface AuthHook {
134
134
  (ctx: AuthorizationContext, endpoint: OperationIdentity): Promise<void>;
135
135
  (ctx: RuntimeContext, endpoint: OperationIdentity): Promise<void>;
136
136
  }
137
+ declare const scopedAuthHookBrand: unique symbol;
137
138
  /**
138
139
  * An auth hook that carries its derived scope→context map at the type level.
139
140
  * The marker property never exists at runtime; it only lets {@link AuthScopes}
140
141
  * recover the map.
141
142
  */
142
143
  export interface ScopedAuthHook<TScopes extends Record<string, object>> extends AuthHook {
143
- /** Type-only carrier for {@link AuthScopes}; never present at runtime. */
144
- readonly '~scopes'?: TScopes;
144
+ /** Module-private nominal carrier for {@link AuthScopes}. */
145
+ readonly [scopedAuthHookBrand]: () => TScopes | undefined;
145
146
  }
146
147
  /**
147
148
  * The scope→context map a hook derived from its rules — feed it straight to
@@ -153,6 +154,25 @@ export interface ScopedAuthHook<TScopes extends Record<string, object>> extends
153
154
  * ```
154
155
  */
155
156
  export type AuthScopes<THook extends ScopedAuthHook<Record<string, object>>> = THook extends ScopedAuthHook<infer TScopes> ? TScopes : never;
157
+ type ScopedHook = ScopedAuthHook<Record<string, object>>;
158
+ type HookScopeMaps<THooks extends readonly ScopedHook[]> = THooks[number] extends infer THook ? THook extends ScopedHook ? AuthScopes<THook> : never : never;
159
+ type ContributionsForScope<THooks extends readonly ScopedHook[], TScope extends PropertyKey> = THooks[number] extends infer THook ? THook extends ScopedHook ? TScope extends keyof AuthScopes<THook> ? AuthScopes<THook>[TScope] : never : never : never;
160
+ type AnyRequiredKeys<T> = T extends object ? RequiredKeys<T> : never;
161
+ type ComposeContributions<T extends object> = [UnionKeys<T>] extends [never] ? object : {
162
+ [K in AnyRequiredKeys<T>]: UnionValue<T, K>;
163
+ } & {
164
+ [K in Exclude<UnionKeys<T>, AnyRequiredKeys<T>>]?: UnionValue<T, K>;
165
+ };
166
+ /** Scope→context map guaranteed by every owner selected for each scope. */
167
+ export type ComposedAuthScopes<THooks extends readonly ScopedHook[]> = {
168
+ [TScope in UnionKeys<HookScopeMaps<THooks>>]: ComposeContributions<ContributionsForScope<THooks, TScope>>;
169
+ };
170
+ export interface ComposeAuthHooksConfig<THooks extends readonly [ScopedHook, ...ScopedHook[]]> {
171
+ /** Canonical hooks to route by their declared rule ownership. */
172
+ hooks: THooks;
173
+ /** The only default used by the composite. Must name an owned scope. */
174
+ defaultScope?: UnionKeys<HookScopeMaps<THooks>>;
175
+ }
156
176
  /**
157
177
  * Build a scope authorization hook.
158
178
  *
@@ -167,6 +187,13 @@ export type AuthScopes<THook extends ScopedAuthHook<Record<string, object>>> = T
167
187
  * scoped tool call has no identity and **fails closed** (never silently passes).
168
188
  */
169
189
  export declare function createAuthHook<TIdentity, const TRules extends AuthRules<TIdentity> = AuthRules<TIdentity>>(config: AuthHookConfig<TIdentity, TRules>): ScopedAuthHook<RuleScopes<TRules>>;
190
+ /**
191
+ * Compose independent auth domains without teaching either domain about the
192
+ * other's identities or scopes. Only owners of the selected scope run. Their
193
+ * context changes are staged independently and committed atomically after all
194
+ * owners pass.
195
+ */
196
+ export declare function composeAuthHooks<const THooks extends readonly [ScopedHook, ...ScopedHook[]]>(config: ComposeAuthHooksConfig<THooks>): ScopedAuthHook<ComposedAuthScopes<THooks>>;
170
197
  /**
171
198
  * Bearer-token identity resolver — the MCP / API-key counterpart of the
172
199
  * cookie session hook. Strips `Authorization: Bearer <token>` and hands the
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-body.d.ts","sourceRoot":"","sources":["../../src/server/request-body.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrF;AAED,6FAA6F;AAC7F,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BtF"}
1
+ {"version":3,"file":"request-body.d.ts","sourceRoot":"","sources":["../../src/server/request-body.ts"],"names":[],"mappings":"AAUA,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIrF;AAED,6FAA6F;AAC7F,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDtF"}
@@ -1,26 +1,117 @@
1
1
  import { z } from 'zod';
2
+ import type { RealtimeRejectedEventHook } from '../realtime/contract';
2
3
  import type { OpenApiDocument } from '../server/openapi';
3
4
  import { type SurfaceManifest } from './surface-manifest';
4
- export declare const TransportObservationSchema: z.ZodObject<{
5
- outcome: z.ZodEnum<{
6
- aborted: "aborted";
7
- domain_error: "domain_error";
8
- success: "success";
9
- validation_error: "validation_error";
5
+ export declare const RealtimeRejectionObservationSchema: z.ZodObject<{
6
+ direction: z.ZodEnum<{
7
+ "client-inbound": "client-inbound";
8
+ "client-outbound": "client-outbound";
9
+ "server-inbound": "server-inbound";
10
+ "server-outbound": "server-outbound";
10
11
  }>;
12
+ phase: z.ZodEnum<{
13
+ acknowledgement: "acknowledgement";
14
+ arguments: "arguments";
15
+ }>;
16
+ reason: z.ZodEnum<{
17
+ "invalid-acknowledgement-value": "invalid-acknowledgement-value";
18
+ "invalid-arguments": "invalid-arguments";
19
+ "missing-acknowledgement": "missing-acknowledgement";
20
+ "unknown-event": "unknown-event";
21
+ }>;
22
+ fault: z.ZodEnum<{
23
+ local: "local";
24
+ peer: "peer";
25
+ }>;
26
+ }, z.core.$strip>;
27
+ export declare const RealtimeDisconnectObservationSchema: z.ZodObject<{
28
+ phase: z.ZodEnum<{
29
+ "before-invoke": "before-invoke";
30
+ "in-flight": "in-flight";
31
+ }>;
32
+ }, z.core.$strip>;
33
+ export declare const TransportObservationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
11
34
  code: z.ZodOptional<z.ZodString>;
12
35
  data: z.ZodOptional<z.ZodUnknown>;
13
36
  diagnostic: z.ZodOptional<z.ZodString>;
14
- }, z.core.$strip>;
37
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
38
+ outcome: z.ZodLiteral<"success">;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ code: z.ZodOptional<z.ZodString>;
41
+ data: z.ZodOptional<z.ZodUnknown>;
42
+ diagnostic: z.ZodOptional<z.ZodString>;
43
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
44
+ outcome: z.ZodLiteral<"validation_error">;
45
+ }, z.core.$strip>, z.ZodObject<{
46
+ code: z.ZodOptional<z.ZodString>;
47
+ data: z.ZodOptional<z.ZodUnknown>;
48
+ diagnostic: z.ZodOptional<z.ZodString>;
49
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
50
+ outcome: z.ZodLiteral<"domain_error">;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ code: z.ZodOptional<z.ZodString>;
53
+ data: z.ZodOptional<z.ZodUnknown>;
54
+ diagnostic: z.ZodOptional<z.ZodString>;
55
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
56
+ outcome: z.ZodLiteral<"aborted">;
57
+ }, z.core.$strip>, z.ZodObject<{
58
+ code: z.ZodOptional<z.ZodString>;
59
+ data: z.ZodOptional<z.ZodUnknown>;
60
+ diagnostic: z.ZodOptional<z.ZodString>;
61
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
62
+ outcome: z.ZodLiteral<"realtime_rejected">;
63
+ rejection: z.ZodObject<{
64
+ direction: z.ZodEnum<{
65
+ "client-inbound": "client-inbound";
66
+ "client-outbound": "client-outbound";
67
+ "server-inbound": "server-inbound";
68
+ "server-outbound": "server-outbound";
69
+ }>;
70
+ phase: z.ZodEnum<{
71
+ acknowledgement: "acknowledgement";
72
+ arguments: "arguments";
73
+ }>;
74
+ reason: z.ZodEnum<{
75
+ "invalid-acknowledgement-value": "invalid-acknowledgement-value";
76
+ "invalid-arguments": "invalid-arguments";
77
+ "missing-acknowledgement": "missing-acknowledgement";
78
+ "unknown-event": "unknown-event";
79
+ }>;
80
+ fault: z.ZodEnum<{
81
+ local: "local";
82
+ peer: "peer";
83
+ }>;
84
+ }, z.core.$strip>;
85
+ }, z.core.$strip>, z.ZodObject<{
86
+ code: z.ZodOptional<z.ZodString>;
87
+ data: z.ZodOptional<z.ZodUnknown>;
88
+ diagnostic: z.ZodOptional<z.ZodString>;
89
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
90
+ outcome: z.ZodLiteral<"disconnected">;
91
+ disconnect: z.ZodObject<{
92
+ phase: z.ZodEnum<{
93
+ "before-invoke": "before-invoke";
94
+ "in-flight": "in-flight";
95
+ }>;
96
+ }, z.core.$strip>;
97
+ }, z.core.$strip>, z.ZodObject<{
98
+ code: z.ZodOptional<z.ZodString>;
99
+ data: z.ZodOptional<z.ZodUnknown>;
100
+ diagnostic: z.ZodOptional<z.ZodString>;
101
+ handlerCalls: z.ZodOptional<z.ZodNumber>;
102
+ outcome: z.ZodLiteral<"timeout">;
103
+ }, z.core.$strip>], "outcome">;
104
+ export type RealtimeRejectionObservation = z.infer<typeof RealtimeRejectionObservationSchema>;
105
+ export type RealtimeDisconnectObservation = z.infer<typeof RealtimeDisconnectObservationSchema>;
15
106
  export type TransportObservation = z.infer<typeof TransportObservationSchema>;
16
- export type ConformanceTransport = 'HTTP' | 'MCP' | 'AGENT' | 'CLI';
107
+ export type ConformanceTransport = 'HTTP' | 'MCP' | 'AGENT' | 'CLI' | 'REALTIME';
17
108
  export interface SurfaceProbe<TFixture = unknown> {
18
109
  name: string;
19
110
  fixture: TFixture;
20
111
  transports: readonly ConformanceTransport[];
21
112
  expected: Partial<Record<ConformanceTransport, TransportObservation>>;
22
- setup?: () => void | Promise<void>;
23
- teardown?: () => void | Promise<void>;
113
+ setup?: (signal: AbortSignal) => void | Promise<void>;
114
+ teardown?: (signal: AbortSignal) => void | Promise<void>;
24
115
  }
25
116
  export interface SurfaceProbeDriver<TFixture = unknown> {
26
117
  invoke: (fixture: TFixture, signal: AbortSignal) => Promise<TransportObservation>;
@@ -32,11 +123,53 @@ export interface RunSurfaceProbesConfig<TFixture = unknown> {
32
123
  timeoutMs?: number;
33
124
  maxDiagnosticBytes?: number;
34
125
  }
126
+ export type RealtimeProbeScenario = 'event' | 'acknowledgement' | 'invalid_arguments' | 'invalid_acknowledgement' | 'disconnected' | 'in_flight_disconnect' | 'timeout';
127
+ export interface RealtimeProbeFixture<TFixture> {
128
+ scenario: RealtimeProbeScenario;
129
+ value: TFixture;
130
+ }
131
+ export interface DefineRealtimeProbeConfig<TFixture> {
132
+ name: string;
133
+ scenario: RealtimeProbeScenario;
134
+ fixture: TFixture;
135
+ expected: TransportObservation;
136
+ setup?: (signal: AbortSignal) => void | Promise<void>;
137
+ teardown?: (signal: AbortSignal) => void | Promise<void>;
138
+ }
139
+ export interface RealtimeProbeAdapter<TFixture> {
140
+ /** Observe the bound transport immediately before invocation. */
141
+ connected: () => boolean;
142
+ invoke: (fixture: RealtimeProbeFixture<TFixture>, signal: AbortSignal) => unknown | Promise<unknown>;
143
+ /** Remove probe-owned subscriptions; never disconnects the foreign transport. */
144
+ dispose?: () => void | Promise<void>;
145
+ }
146
+ export interface CreateRealtimeProbeDriverConfig<TFixture> {
147
+ /** Bind the caller-owned transport and route its canonical rejection hook here. */
148
+ bind: (onRejected: RealtimeRejectedEventHook, fixture: RealtimeProbeFixture<TFixture>) => RealtimeProbeAdapter<TFixture>;
149
+ /** Optional application-handler counter used to prove rejected packets were not admitted. */
150
+ handlerCalls?: () => number;
151
+ }
152
+ /** Declare one explicit realtime scenario for the caller's real transport driver. */
153
+ export declare function defineRealtimeProbe<TFixture>(config: DefineRealtimeProbeConfig<TFixture>): SurfaceProbe<RealtimeProbeFixture<TFixture>>;
154
+ /** Normalize real bound-transport behavior without owning its connection lifecycle. */
155
+ export declare function createRealtimeProbeDriver<TFixture>({ bind, handlerCalls, }: CreateRealtimeProbeDriverConfig<TFixture>): SurfaceProbeDriver<RealtimeProbeFixture<TFixture>>;
156
+ export interface SurfaceToolDiscoveryObservation {
157
+ transport: 'MCP' | 'AGENT' | 'CLI';
158
+ surface?: string;
159
+ names: readonly string[];
160
+ }
161
+ export interface SurfaceRealtimeDiscoveryObservation {
162
+ serverToClient: readonly string[];
163
+ clientToServer: readonly string[];
164
+ }
35
165
  export interface SurfaceDiscoveryObservation {
36
166
  openApi?: Pick<OpenApiDocument, 'paths'>;
167
+ /** Default unnamed projections; use toolSurfaces for a named MCP surface. */
37
168
  MCP?: readonly string[];
38
169
  AGENT?: readonly string[];
39
170
  CLI?: readonly string[];
171
+ toolSurfaces?: readonly SurfaceToolDiscoveryObservation[];
172
+ realtime?: Readonly<Record<string, SurfaceRealtimeDiscoveryObservation>>;
40
173
  cliOnly?: readonly string[];
41
174
  extensions?: Partial<Record<ConformanceTransport, readonly string[]>>;
42
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"surface-conformance.d.ts","sourceRoot":"","sources":["../../src/testing/surface-conformance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAKrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;AAEpE,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,OAAO;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,OAAO;IACpD,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,sBAAsB,CAAC,QAAQ,GAAG,OAAO;IACxD,MAAM,EAAE,SAAS,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqCD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACvE;AAED,6DAA6D;AAC7D,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,2BAA2B,GACpC,IAAI,CAuCN;AAmCD,kFAAkF;AAClF,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,EAC/C,MAAM,EACN,OAAO,EACP,MAAM,EACN,SAAkB,EAClB,kBAAyB,GAC1B,EAAE,sBAAsB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAmClD"}
1
+ {"version":3,"file":"surface-conformance.d.ts","sourceRoot":"","sources":["../../src/testing/surface-conformance.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { type ZodObject, type ZodType, z } from 'zod';
2
- import type { EndpointToolAnnotations, HttpMethod } from '../contract';
1
+ import { z } from 'zod';
2
+ import type { RealtimeContract, RealtimeEventRegistry } from '../realtime/contract';
3
3
  import type { RouteGroup, ServiceDef } from '../server/types';
4
4
  import type { CliCommandDefinition } from '../tools/cli-command';
5
- export declare const SurfaceSchemaDigestsSchema: ZodObject<{
5
+ import { type McpSchemaValidationConfig, type SurfaceRuntimeToolDefinition, type SurfaceToolExtension } from '../tools/internal/surface-projector';
6
+ export declare const SurfaceSchemaDigestsSchema: z.ZodObject<{
6
7
  params: z.ZodNullable<z.ZodString>;
7
8
  input: z.ZodNullable<z.ZodString>;
8
9
  output: z.ZodNullable<z.ZodString>;
9
10
  multipart: z.ZodNullable<z.ZodString>;
10
11
  }, z.core.$strip>;
11
- export declare const SurfaceManifestOperationSchema: ZodObject<{
12
+ export declare const SurfaceManifestOperationSchema: z.ZodObject<{
12
13
  kind: z.ZodEnum<{
13
14
  contract: "contract";
14
15
  runtime: "runtime";
@@ -25,13 +26,13 @@ export declare const SurfaceManifestOperationSchema: ZodObject<{
25
26
  }>;
26
27
  scope: z.ZodNullable<z.ZodString>;
27
28
  description: z.ZodString;
28
- schemas: ZodObject<{
29
+ schemas: z.ZodObject<{
29
30
  params: z.ZodNullable<z.ZodString>;
30
31
  input: z.ZodNullable<z.ZodString>;
31
32
  output: z.ZodNullable<z.ZodString>;
32
33
  multipart: z.ZodNullable<z.ZodString>;
33
34
  }, z.core.$strip>;
34
- http: z.ZodArray<ZodObject<{
35
+ http: z.ZodArray<z.ZodObject<{
35
36
  method: z.ZodEnum<{
36
37
  DELETE: "DELETE";
37
38
  GET: "GET";
@@ -42,31 +43,75 @@ export declare const SurfaceManifestOperationSchema: ZodObject<{
42
43
  }>;
43
44
  path: z.ZodString;
44
45
  }, z.core.$strip>>;
45
- tools: z.ZodRecord<z.ZodEnum<{
46
+ }, z.core.$strip>;
47
+ export declare const SurfaceManifestToolSchema: z.ZodObject<{
48
+ kind: z.ZodEnum<{
49
+ contract: "contract";
50
+ runtime: "runtime";
51
+ }>;
52
+ service: z.ZodString;
53
+ action: z.ZodString;
54
+ name: z.ZodString;
55
+ input: z.ZodString;
56
+ }, z.core.$strip>;
57
+ export declare const SurfaceManifestToolSurfaceSchema: z.ZodObject<{
58
+ transport: z.ZodEnum<{
46
59
  AGENT: "AGENT";
47
60
  CLI: "CLI";
48
61
  MCP: "MCP";
49
- }> & z.core.$partial, z.ZodString>;
62
+ }>;
63
+ surface: z.ZodNullable<z.ZodString>;
64
+ tools: z.ZodArray<z.ZodObject<{
65
+ kind: z.ZodEnum<{
66
+ contract: "contract";
67
+ runtime: "runtime";
68
+ }>;
69
+ service: z.ZodString;
70
+ action: z.ZodString;
71
+ name: z.ZodString;
72
+ input: z.ZodString;
73
+ }, z.core.$strip>>;
50
74
  }, z.core.$strip>;
51
- export declare const SurfaceManifestCliCommandSchema: ZodObject<{
75
+ export declare const SurfaceManifestCliCommandSchema: z.ZodObject<{
52
76
  name: z.ZodString;
53
77
  description: z.ZodString;
54
78
  input: z.ZodString;
55
79
  output: z.ZodNullable<z.ZodString>;
56
80
  }, z.core.$strip>;
57
- export declare const SurfaceManifestExtensionSchema: ZodObject<{
81
+ export declare const SurfaceManifestExtensionSchema: z.ZodObject<{
58
82
  name: z.ZodString;
59
83
  transport: z.ZodEnum<{
60
84
  AGENT: "AGENT";
61
85
  CLI: "CLI";
62
86
  HTTP: "HTTP";
63
87
  MCP: "MCP";
88
+ REALTIME: "REALTIME";
64
89
  }>;
65
90
  }, z.core.$strip>;
66
- export declare const SurfaceManifestSchema: ZodObject<{
67
- manifestVersion: z.ZodLiteral<1>;
91
+ export declare const SurfaceRealtimeSchemaPairSchema: z.ZodObject<{
92
+ input: z.ZodString;
93
+ output: z.ZodString;
94
+ }, z.core.$strip>;
95
+ export declare const SurfaceManifestRealtimeEventSchema: z.ZodObject<{
96
+ contract: z.ZodString;
97
+ direction: z.ZodEnum<{
98
+ clientToServer: "clientToServer";
99
+ serverToClient: "serverToClient";
100
+ }>;
101
+ event: z.ZodString;
102
+ args: z.ZodObject<{
103
+ input: z.ZodString;
104
+ output: z.ZodString;
105
+ }, z.core.$strip>;
106
+ acknowledgement: z.ZodNullable<z.ZodObject<{
107
+ input: z.ZodString;
108
+ output: z.ZodString;
109
+ }, z.core.$strip>>;
110
+ }, z.core.$strip>;
111
+ export declare const SurfaceManifestSchema: z.ZodObject<{
112
+ manifestVersion: z.ZodLiteral<2>;
68
113
  digestVersion: z.ZodLiteral<1>;
69
- operations: z.ZodArray<ZodObject<{
114
+ operations: z.ZodArray<z.ZodObject<{
70
115
  kind: z.ZodEnum<{
71
116
  contract: "contract";
72
117
  runtime: "runtime";
@@ -83,13 +128,13 @@ export declare const SurfaceManifestSchema: ZodObject<{
83
128
  }>;
84
129
  scope: z.ZodNullable<z.ZodString>;
85
130
  description: z.ZodString;
86
- schemas: ZodObject<{
131
+ schemas: z.ZodObject<{
87
132
  params: z.ZodNullable<z.ZodString>;
88
133
  input: z.ZodNullable<z.ZodString>;
89
134
  output: z.ZodNullable<z.ZodString>;
90
135
  multipart: z.ZodNullable<z.ZodString>;
91
136
  }, z.core.$strip>;
92
- http: z.ZodArray<ZodObject<{
137
+ http: z.ZodArray<z.ZodObject<{
93
138
  method: z.ZodEnum<{
94
139
  DELETE: "DELETE";
95
140
  GET: "GET";
@@ -100,57 +145,111 @@ export declare const SurfaceManifestSchema: ZodObject<{
100
145
  }>;
101
146
  path: z.ZodString;
102
147
  }, z.core.$strip>>;
103
- tools: z.ZodRecord<z.ZodEnum<{
148
+ }, z.core.$strip>>;
149
+ toolSurfaces: z.ZodArray<z.ZodObject<{
150
+ transport: z.ZodEnum<{
104
151
  AGENT: "AGENT";
105
152
  CLI: "CLI";
106
153
  MCP: "MCP";
107
- }> & z.core.$partial, z.ZodString>;
154
+ }>;
155
+ surface: z.ZodNullable<z.ZodString>;
156
+ tools: z.ZodArray<z.ZodObject<{
157
+ kind: z.ZodEnum<{
158
+ contract: "contract";
159
+ runtime: "runtime";
160
+ }>;
161
+ service: z.ZodString;
162
+ action: z.ZodString;
163
+ name: z.ZodString;
164
+ input: z.ZodString;
165
+ }, z.core.$strip>>;
166
+ }, z.core.$strip>>;
167
+ realtimeContracts: z.ZodArray<z.ZodString>;
168
+ realtime: z.ZodArray<z.ZodObject<{
169
+ contract: z.ZodString;
170
+ direction: z.ZodEnum<{
171
+ clientToServer: "clientToServer";
172
+ serverToClient: "serverToClient";
173
+ }>;
174
+ event: z.ZodString;
175
+ args: z.ZodObject<{
176
+ input: z.ZodString;
177
+ output: z.ZodString;
178
+ }, z.core.$strip>;
179
+ acknowledgement: z.ZodNullable<z.ZodObject<{
180
+ input: z.ZodString;
181
+ output: z.ZodString;
182
+ }, z.core.$strip>>;
108
183
  }, z.core.$strip>>;
109
- cliOnly: z.ZodArray<ZodObject<{
184
+ cliOnly: z.ZodArray<z.ZodObject<{
110
185
  name: z.ZodString;
111
186
  description: z.ZodString;
112
187
  input: z.ZodString;
113
188
  output: z.ZodNullable<z.ZodString>;
114
189
  }, z.core.$strip>>;
115
- extensions: z.ZodArray<ZodObject<{
190
+ extensions: z.ZodArray<z.ZodObject<{
116
191
  name: z.ZodString;
117
192
  transport: z.ZodEnum<{
118
193
  AGENT: "AGENT";
119
194
  CLI: "CLI";
120
195
  HTTP: "HTTP";
121
196
  MCP: "MCP";
197
+ REALTIME: "REALTIME";
122
198
  }>;
123
199
  }, z.core.$strip>>;
124
200
  }, z.core.$strip>;
125
201
  export type SurfaceManifest = z.infer<typeof SurfaceManifestSchema>;
126
202
  export type SurfaceManifestOperation = z.infer<typeof SurfaceManifestOperationSchema>;
203
+ export type SurfaceManifestTool = z.infer<typeof SurfaceManifestToolSchema>;
204
+ export type SurfaceManifestToolSurface = z.infer<typeof SurfaceManifestToolSurfaceSchema>;
205
+ export type SurfaceManifestRealtimeEvent = z.infer<typeof SurfaceManifestRealtimeEventSchema>;
127
206
  export type SurfaceManifestExtension = z.infer<typeof SurfaceManifestExtensionSchema>;
128
- /** Peer-free structural subset needed to describe a pathless runtime operation. */
129
- export interface SurfaceRuntimeToolDefinition {
130
- name: string;
131
- description: string;
132
- identity: {
133
- serviceName: string;
134
- action: string;
135
- method: HttpMethod;
136
- scope?: string;
207
+ /** Peer-free runtime-operation descriptor consumed only by manifest projection. */
208
+ export type { IncompatibleSchemaPolicy, McpSchemaValidationConfig, SurfaceRuntimeToolDefinition, SurfaceToolExtension, } from '../tools/internal/surface-projector';
209
+ /** Plain service/runtime selection shared by every tool transport. */
210
+ export interface SurfaceToolDefinition {
211
+ services?: readonly ServiceDef[];
212
+ runtimeTools?: readonly SurfaceRuntimeToolDefinition[];
213
+ }
214
+ /** Agent is the only non-MCP projection with presentation-shaping options. */
215
+ export interface SurfaceAgentProjection extends SurfaceToolDefinition {
216
+ extend?: SurfaceToolExtension;
217
+ flattenUnionInput?: boolean;
218
+ }
219
+ /** Global MCP preparation policy shared by direct and finite named surfaces. */
220
+ export interface SurfaceMcpPreparation {
221
+ extend?: SurfaceToolExtension;
222
+ flattenUnionInput?: boolean;
223
+ schemaValidation?: McpSchemaValidationConfig;
224
+ multiRound?: {
225
+ stateConfigured: boolean;
226
+ maxRounds: number;
137
227
  };
138
- input: ZodObject;
139
- output?: ZodType;
140
- transports?: readonly ('MCP' | 'AGENT' | 'CLI')[];
141
- annotations?: EndpointToolAnnotations;
142
228
  }
143
229
  export interface SurfaceManifestConfig {
230
+ /** Shared shorthand: HTTP services plus every tool transport unless overridden below. */
144
231
  services?: readonly ServiceDef[];
145
232
  groups?: readonly Pick<RouteGroup, 'pathPrefix' | 'services'>[];
146
233
  scopePrefixes?: Readonly<Record<string, string>>;
147
234
  runtimeTools?: readonly SurfaceRuntimeToolDefinition[];
235
+ /** Explicit static projections replace the shared shorthand for that transport. */
236
+ toolSurfaces?: {
237
+ MCP?: SurfaceToolDefinition;
238
+ AGENT?: SurfaceAgentProjection;
239
+ CLI?: SurfaceToolDefinition;
240
+ };
241
+ /** Finite MCP alternatives selected by the application at runtime. */
242
+ mcpSurfaces?: Readonly<Record<string, SurfaceToolDefinition>>;
243
+ /** One preparation policy, matching the real MCP server's global configuration. */
244
+ mcpPreparation?: SurfaceMcpPreparation;
245
+ /** Realtime contracts are named by the manifest, not by the runtime contract API. */
246
+ realtime?: Readonly<Record<string, RealtimeContract<RealtimeEventRegistry, RealtimeEventRegistry>>>;
148
247
  cliCommands?: readonly CliCommandDefinition[];
149
248
  extensions?: readonly SurfaceManifestExtension[];
150
249
  }
151
250
  /** Canonical bytes used by snapshots and schema digests. Arrays retain order. */
152
251
  export declare function serializeSurfaceValue(value: unknown): string;
153
- /** Build one versioned snapshot of the declared HTTP/tool/CLI surface. */
252
+ /** Build one versioned snapshot of the declared transport-specific surface. */
154
253
  export declare function buildSurfaceManifest(config: SurfaceManifestConfig): SurfaceManifest;
155
254
  export declare function assertSurfaceManifestSnapshot(manifest: SurfaceManifest, snapshot: SurfaceManifest): void;
156
255
  //# sourceMappingURL=surface-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"surface-manifest.d.ts","sourceRoot":"","sources":["../../src/testing/surface-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAOjE,eAAO,MAAM,0BAA0B;;;;;iBAKrC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;iBAK1C,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,mFAAmF;AACnF,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;IAClD,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;IAChE,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACvD,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9C,UAAU,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAClD;AAkBD,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAoDD,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CA0InF;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,eAAe,GACxB,IAAI,CAQN"}
1
+ {"version":3,"file":"surface-manifest.d.ts","sourceRoot":"","sources":["../../src/testing/surface-manifest.ts"],"names":[],"mappings":"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"}
package/dist/testing.d.ts CHANGED
@@ -31,6 +31,6 @@ export declare function createHandlerTestClient<T extends Record<string, Endpoin
31
31
  export declare function createHandlerTestClients<T extends Record<string, ContractDef<Record<string, EndpointDef>, string>>, TServer = unknown, const K extends string = never>(config: HandlerTestClientsConfig<T, TServer, K>): {
32
32
  [P in keyof T]: ScopedHttpClient<T[P]['endpoints'], ScopedKeys<K>>;
33
33
  };
34
- export { assertSurfaceDiscovery, type ConformanceTransport, type RunSurfaceProbesConfig, runSurfaceProbes, type SurfaceDiscoveryObservation, type SurfaceProbe, type SurfaceProbeDriver, type TransportObservation, TransportObservationSchema, } from './testing/surface-conformance';
35
- export { assertSurfaceManifestSnapshot, buildSurfaceManifest, type SurfaceManifest, type SurfaceManifestConfig, type SurfaceManifestExtension, SurfaceManifestExtensionSchema, type SurfaceManifestOperation, SurfaceManifestOperationSchema, SurfaceManifestSchema, type SurfaceRuntimeToolDefinition, SurfaceSchemaDigestsSchema, serializeSurfaceValue, } from './testing/surface-manifest';
34
+ export { assertSurfaceDiscovery, type ConformanceTransport, type CreateRealtimeProbeDriverConfig, createRealtimeProbeDriver, type DefineRealtimeProbeConfig, defineRealtimeProbe, type RealtimeDisconnectObservation, RealtimeDisconnectObservationSchema, type RealtimeProbeAdapter, type RealtimeProbeFixture, type RealtimeProbeScenario, type RealtimeRejectionObservation, RealtimeRejectionObservationSchema, type RunSurfaceProbesConfig, runSurfaceProbes, type SurfaceDiscoveryObservation, type SurfaceProbe, type SurfaceProbeDriver, type SurfaceRealtimeDiscoveryObservation, type SurfaceToolDiscoveryObservation, type TransportObservation, TransportObservationSchema, } from './testing/surface-conformance';
35
+ export { assertSurfaceManifestSnapshot, buildSurfaceManifest, type IncompatibleSchemaPolicy, type McpSchemaValidationConfig, type SurfaceAgentProjection, type SurfaceManifest, type SurfaceManifestConfig, type SurfaceManifestExtension, SurfaceManifestExtensionSchema, type SurfaceManifestOperation, SurfaceManifestOperationSchema, type SurfaceManifestRealtimeEvent, SurfaceManifestRealtimeEventSchema, SurfaceManifestSchema, type SurfaceManifestTool, SurfaceManifestToolSchema, type SurfaceManifestToolSurface, SurfaceManifestToolSurfaceSchema, type SurfaceMcpPreparation, SurfaceRealtimeSchemaPairSchema, type SurfaceRuntimeToolDefinition, SurfaceSchemaDigestsSchema, type SurfaceToolDefinition, type SurfaceToolExtension, serializeSurfaceValue, } from './testing/surface-manifest';
36
36
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAGzB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AAEhF,MAAM,WAAW,0BAA0B,CAAC,OAAO;IACjD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACrC,OAAO,GAAG,OAAO,EACjB,CAAC,SAAS,MAAM,GAAG,KAAK,CACxB,SAAQ,0BAA0B,CAAC,OAAO,CAAC;IAC3C,QAAQ,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,EAC1E,OAAO,GAAG,OAAO,EACjB,CAAC,SAAS,MAAM,GAAG,KAAK,CACxB,SAAQ,0BAA0B,CAAC,OAAO,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC;IACb,cAAc,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAC1C;AA+BD,gGAAgG;AAChG,wBAAgB,uBAAuB,CACrC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACrC,OAAO,GAAG,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAC9B,MAAM,EAAE,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAEpF;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,EAC1E,OAAO,GAAG,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAE9B,MAAM,EAAE,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAC9C;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAAE,CAMxE;AAED,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,KAAK,2BAA2B,EAChC,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}