@moltzap/protocol 2026.503.2 → 2026.503.4

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 (107) hide show
  1. package/dist/test-fixtures/seed-data.d.ts.map +1 -1
  2. package/dist/test-fixtures/seed-data.js +52 -21
  3. package/dist/test-fixtures/seed-data.js.map +1 -1
  4. package/dist/testing/agent-registration.d.ts.map +1 -1
  5. package/dist/testing/agent-registration.js +48 -39
  6. package/dist/testing/agent-registration.js.map +1 -1
  7. package/dist/testing/arbitraries/frames.d.ts.map +1 -1
  8. package/dist/testing/arbitraries/frames.js +2 -1
  9. package/dist/testing/arbitraries/frames.js.map +1 -1
  10. package/dist/testing/arbitraries/from-typebox.d.ts.map +1 -1
  11. package/dist/testing/arbitraries/from-typebox.js +19 -10
  12. package/dist/testing/arbitraries/from-typebox.js.map +1 -1
  13. package/dist/testing/arbitraries/rpc.d.ts.map +1 -1
  14. package/dist/testing/arbitraries/rpc.js +12 -3
  15. package/dist/testing/arbitraries/rpc.js.map +1 -1
  16. package/dist/testing/captures.d.ts.map +1 -1
  17. package/dist/testing/captures.js +4 -3
  18. package/dist/testing/captures.js.map +1 -1
  19. package/dist/testing/codec.d.ts.map +1 -1
  20. package/dist/testing/codec.js +13 -5
  21. package/dist/testing/codec.js.map +1 -1
  22. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts.map +1 -1
  23. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js +7 -4
  24. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js.map +1 -1
  25. package/dist/testing/conformance/_helpers.d.ts +6 -1
  26. package/dist/testing/conformance/_helpers.d.ts.map +1 -1
  27. package/dist/testing/conformance/_helpers.js +24 -0
  28. package/dist/testing/conformance/_helpers.js.map +1 -1
  29. package/dist/testing/conformance/adversity.d.ts.map +1 -1
  30. package/dist/testing/conformance/adversity.js +76 -66
  31. package/dist/testing/conformance/adversity.js.map +1 -1
  32. package/dist/testing/conformance/boundary.d.ts.map +1 -1
  33. package/dist/testing/conformance/boundary.js +49 -39
  34. package/dist/testing/conformance/boundary.js.map +1 -1
  35. package/dist/testing/conformance/client/adversity.d.ts.map +1 -1
  36. package/dist/testing/conformance/client/adversity.js +20 -15
  37. package/dist/testing/conformance/client/adversity.js.map +1 -1
  38. package/dist/testing/conformance/client/boundary.d.ts.map +1 -1
  39. package/dist/testing/conformance/client/boundary.js +7 -5
  40. package/dist/testing/conformance/client/boundary.js.map +1 -1
  41. package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
  42. package/dist/testing/conformance/client/delivery.js +26 -20
  43. package/dist/testing/conformance/client/delivery.js.map +1 -1
  44. package/dist/testing/conformance/client/rpc-semantics.d.ts.map +1 -1
  45. package/dist/testing/conformance/client/rpc-semantics.js +18 -15
  46. package/dist/testing/conformance/client/rpc-semantics.js.map +1 -1
  47. package/dist/testing/conformance/client/runner.d.ts +13 -8
  48. package/dist/testing/conformance/client/runner.d.ts.map +1 -1
  49. package/dist/testing/conformance/client/runner.js +17 -24
  50. package/dist/testing/conformance/client/runner.js.map +1 -1
  51. package/dist/testing/conformance/client/schema-conformance.d.ts.map +1 -1
  52. package/dist/testing/conformance/client/schema-conformance.js +11 -9
  53. package/dist/testing/conformance/client/schema-conformance.js.map +1 -1
  54. package/dist/testing/conformance/client/suite.d.ts.map +1 -1
  55. package/dist/testing/conformance/client/suite.js +2 -1
  56. package/dist/testing/conformance/client/suite.js.map +1 -1
  57. package/dist/testing/conformance/delivery.d.ts.map +1 -1
  58. package/dist/testing/conformance/delivery.js +98 -124
  59. package/dist/testing/conformance/delivery.js.map +1 -1
  60. package/dist/testing/conformance/env.d.ts +9 -0
  61. package/dist/testing/conformance/env.d.ts.map +1 -1
  62. package/dist/testing/conformance/env.js +16 -3
  63. package/dist/testing/conformance/env.js.map +1 -1
  64. package/dist/testing/conformance/presence.d.ts.map +1 -1
  65. package/dist/testing/conformance/presence.js +4 -2
  66. package/dist/testing/conformance/presence.js.map +1 -1
  67. package/dist/testing/conformance/registry.d.ts +1 -1
  68. package/dist/testing/conformance/registry.d.ts.map +1 -1
  69. package/dist/testing/conformance/registry.js +1 -1
  70. package/dist/testing/conformance/registry.js.map +1 -1
  71. package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -1
  72. package/dist/testing/conformance/rpc-semantics.js +139 -107
  73. package/dist/testing/conformance/rpc-semantics.js.map +1 -1
  74. package/dist/testing/conformance/runner.d.ts +2 -2
  75. package/dist/testing/conformance/runner.d.ts.map +1 -1
  76. package/dist/testing/conformance/runner.js +5 -10
  77. package/dist/testing/conformance/runner.js.map +1 -1
  78. package/dist/testing/conformance/schema-conformance.d.ts.map +1 -1
  79. package/dist/testing/conformance/schema-conformance.js +160 -120
  80. package/dist/testing/conformance/schema-conformance.js.map +1 -1
  81. package/dist/testing/conformance/suite.d.ts +1 -1
  82. package/dist/testing/conformance/suite.d.ts.map +1 -1
  83. package/dist/testing/conformance/suite.js +12 -9
  84. package/dist/testing/conformance/suite.js.map +1 -1
  85. package/dist/testing/models/dispatch.d.ts.map +1 -1
  86. package/dist/testing/models/dispatch.js +58 -50
  87. package/dist/testing/models/dispatch.js.map +1 -1
  88. package/dist/testing/models/state.d.ts +3 -3
  89. package/dist/testing/models/state.d.ts.map +1 -1
  90. package/dist/testing/models/state.js +14 -1
  91. package/dist/testing/models/state.js.map +1 -1
  92. package/dist/testing/test-client.d.ts +22 -3
  93. package/dist/testing/test-client.d.ts.map +1 -1
  94. package/dist/testing/test-client.js +51 -31
  95. package/dist/testing/test-client.js.map +1 -1
  96. package/dist/testing/test-server.d.ts.map +1 -1
  97. package/dist/testing/test-server.js +7 -11
  98. package/dist/testing/test-server.js.map +1 -1
  99. package/dist/testing/toxics/client.d.ts.map +1 -1
  100. package/dist/testing/toxics/client.js +39 -25
  101. package/dist/testing/toxics/client.js.map +1 -1
  102. package/dist/testing/toxics/profile.d.ts.map +1 -1
  103. package/dist/testing/toxics/profile.js +4 -1
  104. package/dist/testing/toxics/profile.js.map +1 -1
  105. package/dist/version.d.ts +1 -1
  106. package/dist/version.js +1 -1
  107. package/package.json +1 -1
@@ -9,19 +9,36 @@
9
9
  * Principle 3: every property body is `Effect<void, PropertyFailure>`.
10
10
  */
11
11
  import * as fc from "fast-check";
12
- import { Effect } from "effect";
12
+ import { Effect, Either } from "effect";
13
13
  import { arbitraryAnyCall, arbitraryConfidentCall, confidentOracleMethods, } from "../arbitraries/rpc.js";
14
14
  import { applyCall, authorizationOutcome, isIdempotent, } from "../models/dispatch.js";
15
15
  import { initialReferenceState } from "../models/state.js";
16
16
  import { ErrorCodes } from "../../schema/errors.js";
17
+ import { AgentsList } from "../../schema/methods/auth.js";
18
+ import { AppsOnBeforeDispatch } from "../../schema/methods/apps.js";
19
+ import { ConversationsList } from "../../schema/methods/conversations.js";
17
20
  import { canonicalJson, sortJsonArray } from "../canonicalize.js";
21
+ import { RpcResponseError } from "../errors.js";
18
22
  import { makeTestClient } from "../test-client.js";
19
23
  import { registerTestAgent } from "../agent-registration.js";
20
24
  import { allRpcMethods } from "../arbitraries/rpc.js";
21
25
  import { assertProperty, PropertyDeferred, PropertyInvariantViolation, PropertyUnavailable, registerProperty, } from "./registry.js";
26
+ import { eitherTag, leftOrNull } from "./_helpers.js";
22
27
  const CATEGORY = "rpc-semantics";
23
28
  const DEFAULT_TIMEOUT_MS = 3000;
24
29
  const DEFAULT_CAPTURE_CAPACITY = 64;
30
+ const MODEL_EQUIVALENCE_PROPERTY = "model-equivalence";
31
+ const AUTHORITY_POSITIVE_PROPERTY = "authority-positive";
32
+ const AUTHORITY_NEGATIVE_PROPERTY = "authority-negative";
33
+ const REQUEST_ID_UNIQUENESS_PROPERTY = "request-id-uniqueness";
34
+ const CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY = "caller-controlled-s2c-timeout";
35
+ const IDEMPOTENCE_PROPERTY = "idempotence";
36
+ const MODEL_NUM_RUNS_FLOOR = 10;
37
+ const MODEL_RUNS_PER_CONFIDENT_METHOD = 2;
38
+ const RESPONSE_CAPTURE_CAPACITY_PER_REQUEST = 4;
39
+ const REQUEST_ID_UNIQUENESS_NUM_RUNS = 5;
40
+ const TIMEOUT_LOWER_MARGIN_MS = 20;
41
+ const TIMEOUT_UPPER_MULTIPLIER = 4;
25
42
  /**
26
43
  * Model-equivalence — conditional oracle over the model-derived
27
44
  * confident set (architect #195 §4.1 + #197 §2).
@@ -56,10 +73,8 @@ const DEFAULT_CAPTURE_CAPACITY = 64;
56
73
  */
57
74
  export function registerModelEquivalence(ctx) {
58
75
  const K = confidentOracleMethods.length;
59
- const numRunsFloor = Math.max(10, 2 * K);
60
- registerProperty(ctx, CATEGORY, "model-equivalence", `when model predicts ok, server MUST return ok (K=${K} confident methods)`, assertProperty(CATEGORY, "model-equivalence", () => fc.assert(
61
- // #ignore-sloppy-code-next-line[async-keyword]: fast-check asyncProperty contract requires Promise-returning callback
62
- fc.asyncProperty(arbitraryConfidentCall(), async (call) => {
76
+ const numRunsFloor = Math.max(MODEL_NUM_RUNS_FLOOR, MODEL_RUNS_PER_CONFIDENT_METHOD * K);
77
+ registerProperty(ctx, CATEGORY, MODEL_EQUIVALENCE_PROPERTY, `when model predicts ok, server MUST return ok (K=${K} confident methods)`, assertProperty(CATEGORY, MODEL_EQUIVALENCE_PROPERTY, () => fc.assert(fc.asyncProperty(arbitraryConfidentCall(), (call) => {
63
78
  const modelTag = applyCall(initialReferenceState, call).outcome._tag;
64
79
  if (modelTag === "error") {
65
80
  // Safety-net guard: `arbitraryConfidentCall` derived this
@@ -67,9 +82,13 @@ export function registerModelEquivalence(ctx) {
67
82
  // disagrees, applyCall became param-sensitive for the
68
83
  // kept method and the derivation must widen. Surface
69
84
  // loudly instead of silent short-circuit.
70
- throw new Error(`arbitraryConfidentCall drew ${call.method} with params ${JSON.stringify(call.params)} → model _tag: "error" — param-invariance contract broken; widen derivation to fc.sample-based check per architect #197 §2.2`);
85
+ return Effect.runPromise(Effect.fail(new PropertyInvariantViolation({
86
+ category: CATEGORY,
87
+ name: MODEL_EQUIVALENCE_PROPERTY,
88
+ reason: `arbitraryConfidentCall drew ${call.method} with params ${JSON.stringify(call.params)} → model _tag: "error" — param-invariance contract broken; widen derivation to fc.sample-based check per architect #197 §2.2`,
89
+ })));
71
90
  }
72
- const serverTag = await Effect.runPromise(Effect.scoped(Effect.gen(function* () {
91
+ return Effect.runPromise(Effect.scoped(Effect.gen(function* () {
73
92
  const agent = yield* registerTestAgent({
74
93
  baseUrl: ctx.realServer.baseUrl,
75
94
  name: "me",
@@ -84,10 +103,11 @@ export function registerModelEquivalence(ctx) {
84
103
  const outcome = yield* client
85
104
  .sendRpc(call.method, call.params)
86
105
  .pipe(Effect.either);
87
- return outcome._tag === "Right" ? "ok" : "error";
88
- })));
89
- // Model is confident it's `ok`. Server MUST agree.
90
- return serverTag === "ok";
106
+ return Either.match(outcome, {
107
+ onLeft: () => "error",
108
+ onRight: () => "ok",
109
+ });
110
+ })).pipe(Effect.map((serverTag) => serverTag === "ok")));
91
111
  }), { seed: ctx.seed, numRuns: ctx.opts.numRuns ?? numRunsFloor })));
92
112
  // Keep `arbitraryAnyCall` import alive — used by sibling properties.
93
113
  void arbitraryAnyCall;
@@ -99,13 +119,13 @@ export function registerModelEquivalence(ctx) {
99
119
  * newly-registered agent), asserts a Right outcome.
100
120
  */
101
121
  export function registerAuthorityPositive(ctx) {
102
- registerProperty(ctx, CATEGORY, "authority-positive", "authorized agent → typed success on conversations/list", Effect.scoped(Effect.gen(function* () {
122
+ registerProperty(ctx, CATEGORY, AUTHORITY_POSITIVE_PROPERTY, "authorized agent → typed success on conversations/list", Effect.scoped(Effect.gen(function* () {
103
123
  const agent = yield* registerTestAgent({
104
124
  baseUrl: ctx.realServer.baseUrl,
105
125
  name: "ap",
106
126
  }).pipe(Effect.mapError((e) => new PropertyInvariantViolation({
107
127
  category: CATEGORY,
108
- name: "authority-positive",
128
+ name: AUTHORITY_POSITIVE_PROPERTY,
109
129
  reason: `agent registration failed: ${e.body}`,
110
130
  })));
111
131
  const client = yield* makeTestClient({
@@ -116,17 +136,18 @@ export function registerAuthorityPositive(ctx) {
116
136
  captureCapacity: DEFAULT_CAPTURE_CAPACITY,
117
137
  }).pipe(Effect.mapError((e) => new PropertyInvariantViolation({
118
138
  category: CATEGORY,
119
- name: "authority-positive",
139
+ name: AUTHORITY_POSITIVE_PROPERTY,
120
140
  reason: `client acquire failed: ${String(e)}`,
121
141
  })));
122
142
  const outcome = yield* client
123
- .sendRpc("conversations/list", {})
143
+ .sendRpc(ConversationsList.name, {})
124
144
  .pipe(Effect.either);
125
- if (outcome._tag === "Left") {
145
+ const failure = leftOrNull(outcome);
146
+ if (failure !== null) {
126
147
  return yield* Effect.fail(new PropertyInvariantViolation({
127
148
  category: CATEGORY,
128
- name: "authority-positive",
129
- reason: `authorized conversations/list failed: ${outcome.left._tag}`,
149
+ name: AUTHORITY_POSITIVE_PROPERTY,
150
+ reason: `authorized conversations/list failed: ${failure._tag}`,
130
151
  }));
131
152
  }
132
153
  })));
@@ -138,7 +159,7 @@ export function registerAuthorityPositive(ctx) {
138
159
  * with a typed error (not a success, not a crash).
139
160
  */
140
161
  export function registerAuthorityNegative(ctx) {
141
- registerProperty(ctx, CATEGORY, "authority-negative", "unauthenticated agent → typed denial on conversations/list", Effect.scoped(Effect.gen(function* () {
162
+ registerProperty(ctx, CATEGORY, AUTHORITY_NEGATIVE_PROPERTY, "unauthenticated agent → typed denial on conversations/list", Effect.scoped(Effect.gen(function* () {
142
163
  // We still need an agentKey to open the socket, but we skip
143
164
  // `auth/connect` so the server sees an un-authed session.
144
165
  const agent = yield* registerTestAgent({
@@ -146,7 +167,7 @@ export function registerAuthorityNegative(ctx) {
146
167
  name: "an",
147
168
  }).pipe(Effect.mapError((e) => new PropertyInvariantViolation({
148
169
  category: CATEGORY,
149
- name: "authority-negative",
170
+ name: AUTHORITY_NEGATIVE_PROPERTY,
150
171
  reason: `agent registration failed: ${e.body}`,
151
172
  })));
152
173
  const client = yield* makeTestClient({
@@ -158,47 +179,48 @@ export function registerAuthorityNegative(ctx) {
158
179
  autoConnect: false,
159
180
  }).pipe(Effect.mapError((e) => new PropertyInvariantViolation({
160
181
  category: CATEGORY,
161
- name: "authority-negative",
182
+ name: AUTHORITY_NEGATIVE_PROPERTY,
162
183
  reason: `client acquire failed: ${String(e)}`,
163
184
  })));
164
185
  const outcome = yield* client
165
- .sendRpc("conversations/list", {})
186
+ .sendRpc(ConversationsList.name, {})
166
187
  .pipe(Effect.either);
167
- if (outcome._tag === "Right") {
168
- return yield* Effect.fail(new PropertyInvariantViolation({
188
+ const error = yield* Either.match(outcome, {
189
+ onLeft: (failure) => Effect.succeed(failure),
190
+ onRight: () => Effect.fail(new PropertyInvariantViolation({
169
191
  category: CATEGORY,
170
- name: "authority-negative",
192
+ name: AUTHORITY_NEGATIVE_PROPERTY,
171
193
  reason: "pre-handshake conversations/list returned success — expected typed denial",
172
- }));
173
- }
194
+ })),
195
+ });
174
196
  // Narrow the Left: must be a typed auth-shaped RpcResponseError
175
197
  // (Unauthorized / Forbidden). A timeout or transport-close
176
198
  // would also surface as `Left` but does NOT satisfy the
177
199
  // property — it proves nothing about authorization.
178
- if (outcome.left._tag !== "TestingRpcResponseError") {
200
+ if (!(error instanceof RpcResponseError)) {
179
201
  return yield* Effect.fail(new PropertyInvariantViolation({
180
202
  category: CATEGORY,
181
- name: "authority-negative",
182
- reason: `expected RpcResponseError, got ${outcome.left._tag}`,
203
+ name: AUTHORITY_NEGATIVE_PROPERTY,
204
+ reason: `expected RpcResponseError, got ${error._tag}`,
183
205
  }));
184
206
  }
185
- const code = outcome.left.code;
207
+ const code = error.code;
186
208
  const isAuthShaped = code === ErrorCodes.Unauthorized || code === ErrorCodes.Forbidden;
187
209
  if (!isAuthShaped) {
188
210
  return yield* Effect.fail(new PropertyInvariantViolation({
189
211
  category: CATEGORY,
190
- name: "authority-negative",
212
+ name: AUTHORITY_NEGATIVE_PROPERTY,
191
213
  reason: `expected Unauthorized/Forbidden code (${ErrorCodes.Unauthorized} / ${ErrorCodes.Forbidden}), got ${code}`,
192
214
  }));
193
215
  }
194
216
  // Oracle cross-check: the model also predicts deny for this
195
217
  // unauthenticated caller. Keeps the model honest alongside the
196
218
  // server.
197
- const modelVerdict = authorizationOutcome(initialReferenceState, { method: "conversations/list", params: {} }, "unknown-agent");
219
+ const modelVerdict = authorizationOutcome(initialReferenceState, { method: ConversationsList.name, params: {} }, "unknown-agent");
198
220
  if (modelVerdict !== "deny-unauthenticated") {
199
221
  return yield* Effect.fail(new PropertyInvariantViolation({
200
222
  category: CATEGORY,
201
- name: "authority-negative",
223
+ name: AUTHORITY_NEGATIVE_PROPERTY,
202
224
  reason: `model oracle disagrees: expected deny-unauthenticated, got ${modelVerdict}`,
203
225
  }));
204
226
  }
@@ -209,48 +231,45 @@ export function registerAuthorityNegative(ctx) {
209
231
  * every id in the captured response stream appears exactly once.
210
232
  */
211
233
  export function registerRequestIdUniqueness(ctx) {
212
- registerProperty(ctx, CATEGORY, "request-id-uniqueness", "every request-id appears in exactly one response", assertProperty(CATEGORY, "request-id-uniqueness", () => fc.assert(
213
- // #ignore-sloppy-code-next-line[async-keyword]: fast-check asyncProperty contract requires Promise-returning callback
214
- fc.asyncProperty(fc.integer({ min: 2, max: 6 }), async (n) => {
215
- const counts = await Effect.runPromise(Effect.scoped(Effect.gen(function* () {
216
- const agent = yield* registerTestAgent({
217
- baseUrl: ctx.realServer.baseUrl,
218
- name: "ru",
219
- });
220
- const client = yield* makeTestClient({
221
- serverUrl: ctx.realServer.wsUrl,
222
- agentKey: agent.apiKey,
223
- agentId: agent.agentId,
224
- defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
225
- captureCapacity: n * 4,
226
- });
227
- // Snapshot the capture boundary after handshake so we
228
- // only tally response ids for the N RPCs below not
229
- // the auto-connect reply.
230
- const handshakeEnd = (yield* client.snapshot).length;
231
- yield* Effect.forEach(Array.from({ length: n }, (_, i) => i), () => client
232
- .sendRpc("conversations/list", {})
233
- .pipe(Effect.either), { concurrency: n });
234
- const snap = (yield* client.snapshot).slice(handshakeEnd);
235
- const outboundIds = new Set();
236
- const inboundIds = new Set();
237
- let inboundCount = 0;
238
- for (const entry of snap) {
239
- if (entry.frame?.type !== "request" &&
240
- entry.frame?.type !== "response")
241
- continue;
242
- if (entry.kind === "outbound" &&
243
- entry.frame.type === "request") {
244
- outboundIds.add(entry.frame.id);
245
- }
246
- if (entry.kind === "inbound" &&
247
- entry.frame.type === "response") {
248
- inboundIds.add(entry.frame.id);
249
- inboundCount += 1;
250
- }
234
+ registerProperty(ctx, CATEGORY, REQUEST_ID_UNIQUENESS_PROPERTY, "every request-id appears in exactly one response", assertProperty(CATEGORY, REQUEST_ID_UNIQUENESS_PROPERTY, () => fc.assert(fc.asyncProperty(fc.integer({ min: 2, max: 6 }), (n) => Effect.runPromise(Effect.scoped(Effect.gen(function* () {
235
+ const agent = yield* registerTestAgent({
236
+ baseUrl: ctx.realServer.baseUrl,
237
+ name: "ru",
238
+ });
239
+ const client = yield* makeTestClient({
240
+ serverUrl: ctx.realServer.wsUrl,
241
+ agentKey: agent.apiKey,
242
+ agentId: agent.agentId,
243
+ defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
244
+ captureCapacity: n * RESPONSE_CAPTURE_CAPACITY_PER_REQUEST,
245
+ });
246
+ // Snapshot the capture boundary after handshake so we
247
+ // only tally response ids for the N RPCs below — not
248
+ // the auto-connect reply.
249
+ const handshakeEnd = (yield* client.snapshot).length;
250
+ yield* Effect.forEach(Array.from({ length: n }, (_, i) => i), () => client
251
+ .sendRpc(ConversationsList.name, {})
252
+ .pipe(Effect.either), { concurrency: n });
253
+ const snap = (yield* client.snapshot).slice(handshakeEnd);
254
+ const outboundIds = new Set();
255
+ const inboundIds = new Set();
256
+ let inboundCount = 0;
257
+ for (const entry of snap) {
258
+ if (entry.frame?.type !== "request" &&
259
+ entry.frame?.type !== "response")
260
+ continue;
261
+ if (entry.kind === "outbound" &&
262
+ entry.frame.type === "request") {
263
+ outboundIds.add(entry.frame.id);
251
264
  }
252
- return { outboundIds, inboundIds, inboundCount };
253
- })));
265
+ if (entry.kind === "inbound" &&
266
+ entry.frame.type === "response") {
267
+ inboundIds.add(entry.frame.id);
268
+ inboundCount += 1;
269
+ }
270
+ }
271
+ return { outboundIds, inboundIds, inboundCount };
272
+ })).pipe(Effect.map((counts) => {
254
273
  // Architect §4.2 set-equality predicate. Conjunction:
255
274
  // - outboundIds.size === n (driver produced n frames)
256
275
  // - inboundIds.size === outboundIds.size (cardinality match)
@@ -269,7 +288,10 @@ export function registerRequestIdUniqueness(ctx) {
269
288
  return false;
270
289
  }
271
290
  return true;
272
- }), { seed: ctx.seed, numRuns: ctx.opts.numRuns ?? 5 })));
291
+ })))), {
292
+ seed: ctx.seed,
293
+ numRuns: ctx.opts.numRuns ?? REQUEST_ID_UNIQUENESS_NUM_RUNS,
294
+ })));
273
295
  }
274
296
  /**
275
297
  * Spurious s2c responses do not crash or poison the server. Architect
@@ -307,13 +329,13 @@ export function registerSpuriousS2cFrameHandling(ctx) {
307
329
  * scheduling noise).
308
330
  */
309
331
  export function registerCallerControlledS2cTimeout(ctx) {
310
- registerProperty(ctx, CATEGORY, "caller-controlled-s2c-timeout", "awaitServerRequest(_, _, timeoutMs) fires within the caller's window", Effect.scoped(Effect.gen(function* () {
332
+ registerProperty(ctx, CATEGORY, CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY, "awaitServerRequest(_, _, timeoutMs) fires within the caller's window", Effect.scoped(Effect.gen(function* () {
311
333
  const agent = yield* registerTestAgent({
312
334
  baseUrl: ctx.realServer.baseUrl,
313
335
  name: "ct",
314
336
  }).pipe(Effect.mapError((e) => new PropertyInvariantViolation({
315
337
  category: CATEGORY,
316
- name: "caller-controlled-s2c-timeout",
338
+ name: CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY,
317
339
  reason: `register agent: ${e.body}`,
318
340
  })));
319
341
  const client = yield* makeTestClient({
@@ -324,7 +346,7 @@ export function registerCallerControlledS2cTimeout(ctx) {
324
346
  captureCapacity: DEFAULT_CAPTURE_CAPACITY,
325
347
  }).pipe(Effect.mapError((e) => new PropertyInvariantViolation({
326
348
  category: CATEGORY,
327
- name: "caller-controlled-s2c-timeout",
349
+ name: CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY,
328
350
  reason: `client acquire: ${String(e)}`,
329
351
  })));
330
352
  // 250ms (rather than the architect plan's example 100ms) hardens
@@ -332,25 +354,26 @@ export function registerCallerControlledS2cTimeout(ctx) {
332
354
  // 200–500ms on a 100ms timer, while a 250ms timer with the same
333
355
  // 4× upper bound stays well clear of the flake band.
334
356
  const timeoutMs = 250;
335
- const lowerBoundMs = timeoutMs - 20;
336
- const upperBoundMs = timeoutMs * 4;
357
+ const lowerBoundMs = timeoutMs - TIMEOUT_LOWER_MARGIN_MS;
358
+ const upperBoundMs = timeoutMs * TIMEOUT_UPPER_MULTIPLIER;
337
359
  const before = Date.now();
338
360
  const outcome = yield* client
339
- .awaitServerRequest("apps/onBeforeDispatch", undefined, timeoutMs)
361
+ .awaitServerRequest(AppsOnBeforeDispatch.name, undefined, timeoutMs)
340
362
  .pipe(Effect.either);
341
363
  const elapsed = Date.now() - before;
342
- if (outcome._tag !== "Left") {
343
- return yield* Effect.fail(new PropertyInvariantViolation({
364
+ const timeoutError = yield* Either.match(outcome, {
365
+ onLeft: (error) => Effect.succeed(error),
366
+ onRight: () => Effect.fail(new PropertyInvariantViolation({
344
367
  category: CATEGORY,
345
- name: "caller-controlled-s2c-timeout",
368
+ name: CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY,
346
369
  reason: `expected Left (timeout); got Right (s2c request fired)`,
347
- }));
348
- }
349
- if (!/Timeout/i.test(outcome.left.message)) {
370
+ })),
371
+ });
372
+ if (!/Timeout/i.test(timeoutError.message)) {
350
373
  return yield* Effect.fail(new PropertyInvariantViolation({
351
374
  category: CATEGORY,
352
- name: "caller-controlled-s2c-timeout",
353
- reason: `expected timeout error; got ${outcome.left.message}`,
375
+ name: CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY,
376
+ reason: `expected timeout error; got ${timeoutError.message}`,
354
377
  }));
355
378
  }
356
379
  // Window is the caller's. Floor rejects "timed out before the
@@ -361,7 +384,7 @@ export function registerCallerControlledS2cTimeout(ctx) {
361
384
  if (elapsed < lowerBoundMs || elapsed > upperBoundMs) {
362
385
  return yield* Effect.fail(new PropertyInvariantViolation({
363
386
  category: CATEGORY,
364
- name: "caller-controlled-s2c-timeout",
387
+ name: CALLER_CONTROLLED_S2C_TIMEOUT_PROPERTY,
365
388
  reason: `timeout fired at ${elapsed}ms; caller asked for ${timeoutMs}ms (window: ${lowerBoundMs}–${upperBoundMs}ms)`,
366
389
  }));
367
390
  }
@@ -380,16 +403,16 @@ export function registerCallerControlledS2cTimeout(ctx) {
380
403
  * — spec B5 says "identical results", not "identical outcome kinds".
381
404
  */
382
405
  export function registerIdempotence(ctx) {
383
- registerProperty(ctx, CATEGORY, "idempotence", "isIdempotent methods: two sends yield identical response bodies", Effect.gen(function* () {
406
+ registerProperty(ctx, CATEGORY, IDEMPOTENCE_PROPERTY, "isIdempotent methods: two sends yield identical response bodies", Effect.gen(function* () {
384
407
  const emptyParamIdempotents = [
385
- "agents/list",
386
- "conversations/list",
408
+ AgentsList.name,
409
+ ConversationsList.name,
387
410
  ];
388
411
  for (const method of emptyParamIdempotents) {
389
412
  if (!isIdempotent(method)) {
390
413
  return yield* Effect.fail(new PropertyInvariantViolation({
391
414
  category: CATEGORY,
392
- name: "idempotence",
415
+ name: IDEMPOTENCE_PROPERTY,
393
416
  reason: `isIdempotent(${method}) is false — oracle disagreement`,
394
417
  }));
395
418
  }
@@ -411,43 +434,52 @@ export function registerIdempotence(ctx) {
411
434
  })).pipe(Effect.catchTags({
412
435
  TestingAgentRegistrationError: (e) => Effect.fail(new PropertyUnavailable({
413
436
  category: CATEGORY,
414
- name: "idempotence",
437
+ name: IDEMPOTENCE_PROPERTY,
415
438
  reason: `register: ${e.body}`,
416
439
  })),
417
440
  TestingTransportIoError: (e) => Effect.fail(new PropertyUnavailable({
418
441
  category: CATEGORY,
419
- name: "idempotence",
442
+ name: IDEMPOTENCE_PROPERTY,
420
443
  reason: `transport io: ${String(e.cause)}`,
421
444
  })),
422
445
  TestingTransportClosedError: (e) => Effect.fail(new PropertyUnavailable({
423
446
  category: CATEGORY,
424
- name: "idempotence",
447
+ name: IDEMPOTENCE_PROPERTY,
425
448
  reason: `transport closed: ${e.reason}`,
426
449
  })),
427
450
  TestingRpcResponseError: (e) => Effect.fail(new PropertyUnavailable({
428
451
  category: CATEGORY,
429
- name: "idempotence",
452
+ name: IDEMPOTENCE_PROPERTY,
430
453
  reason: `rpc response error: ${e.message}`,
431
454
  })),
432
455
  }));
433
- if (pair.a._tag !== pair.b._tag) {
456
+ const aTag = eitherTag(pair.a);
457
+ const bTag = eitherTag(pair.b);
458
+ if (aTag !== bTag) {
434
459
  return yield* Effect.fail(new PropertyInvariantViolation({
435
460
  category: CATEGORY,
436
- name: "idempotence",
437
- reason: `${method}: replay outcome-tag mismatch ${pair.a._tag} → ${pair.b._tag}`,
461
+ name: IDEMPOTENCE_PROPERTY,
462
+ reason: `${method}: replay outcome-tag mismatch ${aTag} → ${bTag}`,
438
463
  }));
439
464
  }
440
- if (pair.a._tag === "Right" && pair.b._tag === "Right") {
465
+ const successPair = Either.match(pair.a, {
466
+ onLeft: () => null,
467
+ onRight: (a) => Either.match(pair.b, {
468
+ onLeft: () => null,
469
+ onRight: (b) => ({ a, b }),
470
+ }),
471
+ });
472
+ if (successPair !== null) {
441
473
  // Canonical-projection comparison per architect #197 §3.3.
442
474
  // Direct JSON.stringify on wire-derived values is byte-
443
475
  // equality, not semantic equality; a conforming server may
444
476
  // return the list in a different row order across replays.
445
- const aCanon = canonIdempotenceResult(method, pair.a.right);
446
- const bCanon = canonIdempotenceResult(method, pair.b.right);
477
+ const aCanon = canonIdempotenceResult(method, successPair.a);
478
+ const bCanon = canonIdempotenceResult(method, successPair.b);
447
479
  if (aCanon !== bCanon) {
448
480
  return yield* Effect.fail(new PropertyInvariantViolation({
449
481
  category: CATEGORY,
450
- name: "idempotence",
482
+ name: IDEMPOTENCE_PROPERTY,
451
483
  reason: `${method}: replay bodies diverge under canonical projection`,
452
484
  }));
453
485
  }
@@ -472,7 +504,7 @@ export function registerIdempotence(ctx) {
472
504
  * fails the property.
473
505
  */
474
506
  function canonIdempotenceResult(method, result) {
475
- if (method === "agents/list") {
507
+ if (method === AgentsList.name) {
476
508
  const r = result;
477
509
  return canonicalJson({
478
510
  ...r,
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-semantics.js","sourceRoot":"","sources":["../../../src/testing/conformance/rpc-semantics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-semantics.js","sourceRoot":"","sources":["../../../src/testing/conformance/rpc-semantics.ts"],"names":[],"mappings":"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"}
@@ -25,12 +25,12 @@ export interface RealServerHandle {
25
25
  readonly wsUrl: string;
26
26
  readonly baseUrl: string;
27
27
  /** Teardown hook; the runner's Scope calls this on release. */
28
- readonly close: () => Promise<void>;
28
+ readonly close: Effect.Effect<void>;
29
29
  }
30
30
  export interface ConformanceRunOptions {
31
31
  readonly tiers: ReadonlyArray<"A" | "B" | "C" | "D" | "E">;
32
32
  /** Supplier for the real server; invoked once per run. */
33
- readonly realServer: () => Promise<RealServerHandle>;
33
+ readonly realServer: Effect.Effect<RealServerHandle, RealServerAcquireError>;
34
34
  /** If provided, replay this exact fast-check seed (AC10 reproducibility). */
35
35
  readonly replaySeed?: number;
36
36
  /** Number of runs per property; fast-check default is 100. */
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGzE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC3D,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrD,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,qBAAqB,GAC1B,MAAM,CAAC,MAAM,CACd,qBAAqB,EACrB,iBAAiB,GAAG,sBAAsB,EAC1C,KAAK,CAAC,KAAK,CACZ,CA2CA;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,qBAAqB,GACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAMrB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAA0B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYzE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAC3D,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;IAC7E,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,qBAAqB,GAC1B,MAAM,CAAC,MAAM,CACd,qBAAqB,EACrB,iBAAiB,GAAG,sBAAsB,EAC1C,KAAK,CAAC,KAAK,CACZ,CA8BA;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,qBAAqB,GACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAMrB"}
@@ -12,10 +12,12 @@
12
12
  * - pin fast-check seeds and export them on failure (AC10);
13
13
  * - tear everything down in reverse order.
14
14
  */
15
- import { Effect, Ref, Scope } from "effect";
15
+ import { Config, ConfigProvider, Effect, Ref, Scope } from "effect";
16
16
  import { makeToxiproxyClient } from "../toxics/client.js";
17
17
  import { RealServerAcquireError, ToxicControlError } from "../errors.js";
18
18
  import { conformanceNumRunsFromEnv } from "./env.js";
19
+ const REPLAY_SEED_MASK = 0x7fffffff;
20
+ const loadFastCheckSeed = Config.integer("FC_SEED").pipe(Effect.withConfigProvider(ConfigProvider.fromEnv()), Effect.orElseSucceed(() => Date.now() & REPLAY_SEED_MASK));
19
21
  /**
20
22
  * Acquire the full context (real server + optional Toxiproxy) under one
21
23
  * Scope; Vitest's `beforeAll`/`afterAll` tick the scope.
@@ -26,16 +28,9 @@ export function acquireRunContext(opts) {
26
28
  ...opts,
27
29
  numRuns: opts.numRuns ?? conformanceNumRunsFromEnv(),
28
30
  };
29
- const seed = effectiveOpts.replaySeed ??
30
- Number(process.env.FC_SEED ?? Date.now() & 0x7fffffff);
31
+ const seed = effectiveOpts.replaySeed ?? (yield* loadFastCheckSeed);
31
32
  const artifacts = yield* Ref.make([]);
32
- const realServer = yield* Effect.acquireRelease(Effect.tryPromise({
33
- try: () => opts.realServer(),
34
- catch: (cause) => new RealServerAcquireError({ cause }),
35
- }), (handle) => Effect.tryPromise({
36
- try: () => handle.close(),
37
- catch: () => new Error("realServer.close() threw"),
38
- }).pipe(Effect.orElseSucceed(() => undefined), Effect.asVoid));
33
+ const realServer = yield* Effect.acquireRelease(opts.realServer, (handle) => handle.close.pipe(Effect.orElseSucceed(() => undefined)));
39
34
  let toxiproxy = null;
40
35
  if (effectiveOpts.tiers.includes("D")) {
41
36
  const url = effectiveOpts.toxiproxyUrl ?? "http://127.0.0.1:8474";
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/testing/conformance/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAwB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAsDrD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA2B;IAM3B,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,aAAa,GAAG;YACpB,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,yBAAyB,EAAE;SACrD,CAAC;QACF,MAAM,IAAI,GACR,aAAa,CAAC,UAAU;YACxB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAqC,EAAE,CAAC,CAAC;QAE1E,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAC7C,MAAM,CAAC,UAAU,CAAC;YAChB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC;SACxD,CAAC,EACF,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,UAAU,CAAC;YAChB,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;YACzB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC;SACnD,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EACrC,MAAM,CAAC,MAAM,CACd,CACJ,CAAC;QAEF,IAAI,SAAS,GAA2B,IAAI,CAAC;QAC7C,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,IAAI,uBAAuB,CAAC;YAClE,SAAS,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CACxB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU;YACV,SAAS;YACT,IAAI,EAAE,aAAa;YACnB,IAAI;YACJ,SAAS;SACsB,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,GAA0B;IAE1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACtB,OAAO,CAAC,GAAG,CACT,sBAAsB,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CACvG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/testing/conformance/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAwB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAEpC,MAAM,iBAAiB,GAAiC,MAAM,CAAC,OAAO,CACpE,SAAS,CACV,CAAC,IAAI,CACJ,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EACnD,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAC1D,CAAC;AAsDF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA2B;IAM3B,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,aAAa,GAAG;YACpB,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,yBAAyB,EAAE;SACrD,CAAC;QACF,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAqC,EAAE,CAAC,CAAC;QAE1E,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CACzD,CAAC;QAEF,IAAI,SAAS,GAA2B,IAAI,CAAC;QAC7C,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,IAAI,uBAAuB,CAAC;YAClE,SAAS,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACxD,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CACxB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU;YACV,SAAS;YACT,IAAI,EAAE,aAAa;YACnB,IAAI;YACJ,SAAS;SACsB,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,GAA0B;IAE1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACtB,OAAO,CAAC,GAAG,CACT,sBAAsB,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,SAAS,KAAK,IAAI,EAAE,CACvG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/schema-conformance.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAWzD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CA4EN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAyB5E;AAED,+DAA+D;AAC/D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CA6B1E;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAyDN;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,qBAAqB,GACzB,IAAI,CA4BN;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAkBN;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAgCN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAuEN;AA0FD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAqEvE"}
1
+ {"version":3,"file":"schema-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/schema-conformance.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAqBzD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CA+EN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CA4B5E;AAED,+DAA+D;AAC/D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAoC1E;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAiEN;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAmCN;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAqBN;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAqCN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAgFN;AA0FD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAqEvE"}