@moltzap/protocol 2026.503.3 → 2026.504.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.
- package/dist/brands.d.ts +11 -0
- package/dist/brands.d.ts.map +1 -0
- package/dist/brands.js +14 -0
- package/dist/brands.js.map +1 -0
- package/dist/helpers.d.ts +29 -26
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +34 -16
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/ajv.d.ts +5 -0
- package/dist/internal/ajv.d.ts.map +1 -0
- package/dist/internal/ajv.js +22 -0
- package/dist/internal/ajv.js.map +1 -0
- package/dist/notification.d.ts +14 -0
- package/dist/notification.d.ts.map +1 -0
- package/dist/notification.js +11 -0
- package/dist/notification.js.map +1 -0
- package/dist/rpc-errors.d.ts +30 -0
- package/dist/rpc-errors.d.ts.map +1 -0
- package/dist/rpc-errors.js +23 -0
- package/dist/rpc-errors.js.map +1 -0
- package/dist/rpc-groups.d.ts +120 -0
- package/dist/rpc-groups.d.ts.map +1 -0
- package/dist/rpc-groups.js +131 -0
- package/dist/rpc-groups.js.map +1 -0
- package/dist/rpc-registry.d.ts +1238 -278
- package/dist/rpc-registry.d.ts.map +1 -1
- package/dist/rpc-registry.js +11 -22
- package/dist/rpc-registry.js.map +1 -1
- package/dist/rpc.d.ts +26 -5
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +21 -11
- package/dist/rpc.js.map +1 -1
- package/dist/schema/apps.d.ts +13 -23
- package/dist/schema/apps.d.ts.map +1 -1
- package/dist/schema/apps.js +2 -12
- package/dist/schema/apps.js.map +1 -1
- package/dist/schema/contacts.d.ts +6 -2
- package/dist/schema/contacts.d.ts.map +1 -1
- package/dist/schema/conversations.d.ts +15 -5
- package/dist/schema/conversations.d.ts.map +1 -1
- package/dist/schema/delivery.d.ts +9 -3
- package/dist/schema/delivery.d.ts.map +1 -1
- package/dist/schema/errors.d.ts +0 -4
- package/dist/schema/errors.d.ts.map +1 -1
- package/dist/schema/errors.js +0 -4
- package/dist/schema/errors.js.map +1 -1
- package/dist/schema/frames.d.ts +48 -51
- package/dist/schema/frames.d.ts.map +1 -1
- package/dist/schema/frames.js +28 -50
- package/dist/schema/frames.js.map +1 -1
- package/dist/schema/identity.d.ts +17 -9
- package/dist/schema/identity.d.ts.map +1 -1
- package/dist/schema/index.d.ts +3 -4
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +3 -4
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/internal-frames.d.ts +10 -0
- package/dist/schema/internal-frames.d.ts.map +1 -0
- package/dist/schema/internal-frames.js +5 -0
- package/dist/schema/internal-frames.js.map +1 -0
- package/dist/schema/invites.d.ts +6 -2
- package/dist/schema/invites.d.ts.map +1 -1
- package/dist/schema/json-rpc.d.ts +27 -0
- package/dist/schema/json-rpc.d.ts.map +1 -0
- package/dist/schema/json-rpc.js +32 -0
- package/dist/schema/json-rpc.js.map +1 -0
- package/dist/schema/messages.d.ts +15 -5
- package/dist/schema/messages.d.ts.map +1 -1
- package/dist/schema/methods/apps.d.ts +138 -85
- package/dist/schema/methods/apps.d.ts.map +1 -1
- package/dist/schema/methods/apps.js +4 -45
- package/dist/schema/methods/apps.js.map +1 -1
- package/dist/schema/methods/auth.d.ts +62 -34
- package/dist/schema/methods/auth.d.ts.map +1 -1
- package/dist/schema/methods/contacts.d.ts +27 -9
- package/dist/schema/methods/contacts.d.ts.map +1 -1
- package/dist/schema/methods/conversations.d.ts +91 -18
- package/dist/schema/methods/conversations.d.ts.map +1 -1
- package/dist/schema/methods/conversations.js +2 -2
- package/dist/schema/methods/conversations.js.map +1 -1
- package/dist/schema/methods/messages.d.ts +39 -13
- package/dist/schema/methods/messages.d.ts.map +1 -1
- package/dist/schema/methods/presence.d.ts +6 -2
- package/dist/schema/methods/presence.d.ts.map +1 -1
- package/dist/schema/notifications.d.ts +791 -0
- package/dist/schema/notifications.d.ts.map +1 -0
- package/dist/schema/notifications.js +173 -0
- package/dist/schema/notifications.js.map +1 -0
- package/dist/schema/presence.d.ts +3 -1
- package/dist/schema/presence.d.ts.map +1 -1
- package/dist/schema/primitives.d.ts +21 -5
- package/dist/schema/primitives.d.ts.map +1 -1
- package/dist/schema/primitives.js +6 -0
- package/dist/schema/primitives.js.map +1 -1
- package/dist/test-fixtures/seed-data.d.ts +0 -1388
- package/dist/test-fixtures/seed-data.d.ts.map +1 -1
- package/dist/test-fixtures/seed-data.js +34 -990
- package/dist/test-fixtures/seed-data.js.map +1 -1
- package/dist/testing/agent-registration.d.ts +3 -1
- package/dist/testing/agent-registration.d.ts.map +1 -1
- package/dist/testing/agent-registration.js +6 -15
- package/dist/testing/agent-registration.js.map +1 -1
- package/dist/testing/arbitraries/frames.d.ts +2 -2
- package/dist/testing/arbitraries/frames.d.ts.map +1 -1
- package/dist/testing/arbitraries/frames.js +9 -7
- package/dist/testing/arbitraries/frames.js.map +1 -1
- package/dist/testing/arbitraries/from-typebox.d.ts.map +1 -1
- package/dist/testing/arbitraries/from-typebox.js +19 -10
- package/dist/testing/arbitraries/from-typebox.js.map +1 -1
- package/dist/testing/arbitraries/index.d.ts +1 -1
- package/dist/testing/arbitraries/index.d.ts.map +1 -1
- package/dist/testing/arbitraries/index.js +1 -1
- package/dist/testing/arbitraries/index.js.map +1 -1
- package/dist/testing/arbitraries/rpc.d.ts +3 -2
- package/dist/testing/arbitraries/rpc.d.ts.map +1 -1
- package/dist/testing/arbitraries/rpc.js +13 -3
- package/dist/testing/arbitraries/rpc.js.map +1 -1
- package/dist/testing/captures.d.ts.map +1 -1
- package/dist/testing/captures.js +4 -3
- package/dist/testing/captures.js.map +1 -1
- package/dist/testing/codec.d.ts +13 -11
- package/dist/testing/codec.d.ts.map +1 -1
- package/dist/testing/codec.js +43 -50
- package/dist/testing/codec.js.map +1 -1
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts.map +1 -1
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js +15 -5
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js.map +1 -1
- package/dist/testing/conformance/_helpers.d.ts +12 -7
- package/dist/testing/conformance/_helpers.d.ts.map +1 -1
- package/dist/testing/conformance/_helpers.js +30 -7
- package/dist/testing/conformance/_helpers.js.map +1 -1
- package/dist/testing/conformance/adversity.d.ts.map +1 -1
- package/dist/testing/conformance/adversity.js +83 -90
- package/dist/testing/conformance/adversity.js.map +1 -1
- package/dist/testing/conformance/boundary.d.ts +1 -1
- package/dist/testing/conformance/boundary.d.ts.map +1 -1
- package/dist/testing/conformance/boundary.js +55 -50
- package/dist/testing/conformance/boundary.js.map +1 -1
- package/dist/testing/conformance/client/_fixtures.d.ts +7 -5
- package/dist/testing/conformance/client/_fixtures.d.ts.map +1 -1
- package/dist/testing/conformance/client/_fixtures.js +17 -8
- package/dist/testing/conformance/client/_fixtures.js.map +1 -1
- package/dist/testing/conformance/client/adversity.d.ts.map +1 -1
- package/dist/testing/conformance/client/adversity.js +28 -22
- package/dist/testing/conformance/client/adversity.js.map +1 -1
- package/dist/testing/conformance/client/boundary.d.ts +2 -2
- package/dist/testing/conformance/client/boundary.d.ts.map +1 -1
- package/dist/testing/conformance/client/boundary.js +19 -16
- package/dist/testing/conformance/client/boundary.js.map +1 -1
- package/dist/testing/conformance/client/delivery.d.ts +5 -5
- package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
- package/dist/testing/conformance/client/delivery.js +77 -73
- package/dist/testing/conformance/client/delivery.js.map +1 -1
- package/dist/testing/conformance/client/index.d.ts +2 -2
- package/dist/testing/conformance/client/index.d.ts.map +1 -1
- package/dist/testing/conformance/client/index.js +1 -1
- package/dist/testing/conformance/client/index.js.map +1 -1
- package/dist/testing/conformance/client/rpc-semantics.d.ts.map +1 -1
- package/dist/testing/conformance/client/rpc-semantics.js +31 -37
- package/dist/testing/conformance/client/rpc-semantics.js.map +1 -1
- package/dist/testing/conformance/client/runner.d.ts +38 -32
- package/dist/testing/conformance/client/runner.d.ts.map +1 -1
- package/dist/testing/conformance/client/runner.js +36 -45
- package/dist/testing/conformance/client/runner.js.map +1 -1
- package/dist/testing/conformance/client/schema-conformance.d.ts +8 -8
- package/dist/testing/conformance/client/schema-conformance.d.ts.map +1 -1
- package/dist/testing/conformance/client/schema-conformance.js +37 -35
- package/dist/testing/conformance/client/schema-conformance.js.map +1 -1
- package/dist/testing/conformance/client/suite.d.ts.map +1 -1
- package/dist/testing/conformance/client/suite.js +4 -3
- package/dist/testing/conformance/client/suite.js.map +1 -1
- package/dist/testing/conformance/delivery.d.ts.map +1 -1
- package/dist/testing/conformance/delivery.js +127 -140
- package/dist/testing/conformance/delivery.js.map +1 -1
- package/dist/testing/conformance/dispatcher-concurrency.js +12 -12
- package/dist/testing/conformance/dispatcher-concurrency.js.map +1 -1
- package/dist/testing/conformance/env.d.ts +9 -0
- package/dist/testing/conformance/env.d.ts.map +1 -1
- package/dist/testing/conformance/env.js +16 -3
- package/dist/testing/conformance/env.js.map +1 -1
- package/dist/testing/conformance/presence.d.ts.map +1 -1
- package/dist/testing/conformance/presence.js +35 -24
- package/dist/testing/conformance/presence.js.map +1 -1
- package/dist/testing/conformance/registry.d.ts +1 -1
- package/dist/testing/conformance/registry.d.ts.map +1 -1
- package/dist/testing/conformance/registry.js +1 -1
- package/dist/testing/conformance/registry.js.map +1 -1
- package/dist/testing/conformance/rpc-semantics.d.ts +12 -12
- package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -1
- package/dist/testing/conformance/rpc-semantics.js +131 -90
- package/dist/testing/conformance/rpc-semantics.js.map +1 -1
- package/dist/testing/conformance/runner.d.ts +2 -2
- package/dist/testing/conformance/runner.d.ts.map +1 -1
- package/dist/testing/conformance/runner.js +5 -10
- package/dist/testing/conformance/runner.js.map +1 -1
- package/dist/testing/conformance/schema-conformance.d.ts +3 -40
- package/dist/testing/conformance/schema-conformance.d.ts.map +1 -1
- package/dist/testing/conformance/schema-conformance.js +75 -235
- package/dist/testing/conformance/schema-conformance.js.map +1 -1
- package/dist/testing/conformance/suite.d.ts +1 -1
- package/dist/testing/conformance/suite.d.ts.map +1 -1
- package/dist/testing/conformance/suite.js +17 -18
- package/dist/testing/conformance/suite.js.map +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/models/dispatch.d.ts +5 -5
- package/dist/testing/models/dispatch.d.ts.map +1 -1
- package/dist/testing/models/dispatch.js +50 -59
- package/dist/testing/models/dispatch.js.map +1 -1
- package/dist/testing/models/state.d.ts +5 -5
- package/dist/testing/models/state.d.ts.map +1 -1
- package/dist/testing/models/state.js +14 -1
- package/dist/testing/models/state.js.map +1 -1
- package/dist/testing/test-client.d.ts +51 -40
- package/dist/testing/test-client.d.ts.map +1 -1
- package/dist/testing/test-client.js +154 -122
- package/dist/testing/test-client.js.map +1 -1
- package/dist/testing/test-server.d.ts +5 -5
- package/dist/testing/test-server.d.ts.map +1 -1
- package/dist/testing/test-server.js +11 -15
- package/dist/testing/test-server.js.map +1 -1
- package/dist/testing/toxics/client.d.ts.map +1 -1
- package/dist/testing/toxics/client.js +9 -3
- package/dist/testing/toxics/client.js.map +1 -1
- package/dist/testing/toxics/profile.d.ts.map +1 -1
- package/dist/testing/toxics/profile.js +4 -1
- package/dist/testing/toxics/profile.js.map +1 -1
- package/dist/types.d.ts +3 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validators.d.ts +366 -101
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +23 -30
- package/dist/validators.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/dist/schema/events.d.ts +0 -213
- package/dist/schema/events.d.ts.map +0 -1
- package/dist/schema/events.js +0 -122
- package/dist/schema/events.js.map +0 -1
- package/dist/schema/methods/push.d.ts +0 -21
- package/dist/schema/methods/push.d.ts.map +0 -1
- package/dist/schema/methods/push.js +0 -28
- package/dist/schema/methods/push.js.map +0 -1
- package/dist/schema/surfaces.d.ts +0 -55
- package/dist/schema/surfaces.d.ts.map +0 -1
- package/dist/schema/surfaces.js +0 -55
- package/dist/schema/surfaces.js.map +0 -1
|
@@ -6,7 +6,7 @@ import type { ConformanceRunContext } from "./runner.js";
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function registerRequestWellFormedness(ctx: ConformanceRunContext): void;
|
|
8
8
|
/**
|
|
9
|
-
* Valid
|
|
9
|
+
* Valid notification frame round-trips the codec cleanly.
|
|
10
10
|
*
|
|
11
11
|
* `@pure-codec` — does NOT drive a real server or real client. Spec A2's
|
|
12
12
|
* "accepted by a real client" assertion requires a TestServer + real
|
|
@@ -14,10 +14,10 @@ export declare function registerRequestWellFormedness(ctx: ConformanceRunContext
|
|
|
14
14
|
* `packages/client` or `moltzap-arena`) and is tracked under #186.
|
|
15
15
|
*
|
|
16
16
|
* Tightened per architect §4.4: predicate demands `Right` AND schema
|
|
17
|
-
* check of the specific
|
|
17
|
+
* check of the specific notification variant — the previous `Right || Left`
|
|
18
18
|
* shape was a tautology over the union.
|
|
19
19
|
*/
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function registerNotificationWellFormedness(ctx: ConformanceRunContext): void;
|
|
21
21
|
/** parse(serialize(frame)) ≡ frame — pure codec round-trip. */
|
|
22
22
|
export declare function registerRoundTripIdentity(ctx: ConformanceRunContext): void;
|
|
23
23
|
/**
|
|
@@ -26,42 +26,5 @@ export declare function registerRoundTripIdentity(ctx: ConformanceRunContext): v
|
|
|
26
26
|
* asserts the observable outcome.
|
|
27
27
|
*/
|
|
28
28
|
export declare function registerMalformedFrameHandling(ctx: ConformanceRunContext): void;
|
|
29
|
-
/**
|
|
30
|
-
* S2C request frames round-trip through the codec. Architect plan §3.1 +
|
|
31
|
-
* §1.7: `direction: "s2c"` is part of the wire identity — encode →
|
|
32
|
-
* decodeFrame → re-encode must be byte-identical for every well-formed
|
|
33
|
-
* server-initiated request.
|
|
34
|
-
*
|
|
35
|
-
* `@pure-codec` — does NOT drive a real server. Asserts the codec preserves
|
|
36
|
-
* `direction: "s2c"` so c2s and s2c request-id pools can coexist on the
|
|
37
|
-
* wire without confusion.
|
|
38
|
-
*/
|
|
39
|
-
export declare function registerS2cRequestRoundTripIdentity(ctx: ConformanceRunContext): void;
|
|
40
|
-
/**
|
|
41
|
-
* S2C response frames validate against `ResponseFrameSchema`. Architect plan
|
|
42
|
-
* §3.1: c2s and s2c responses share one schema discriminated by `direction`.
|
|
43
|
-
* Property asserts `Value.Check` accepts every drawn s2c response — the
|
|
44
|
-
* positive shape every consumer's decoder relies on.
|
|
45
|
-
*/
|
|
46
|
-
export declare function registerS2cResponseValidation(ctx: ConformanceRunContext): void;
|
|
47
|
-
/**
|
|
48
|
-
* Malformed s2c request bytes do not crash the codec — `decodeFrame`
|
|
49
|
-
* returns `FrameSchemaError`, never throws. `@pure-codec` — exercises
|
|
50
|
-
* the codec only. Wire-level liveness with a real server is covered by
|
|
51
|
-
* `malformed-frame-handling` (above).
|
|
52
|
-
*/
|
|
53
|
-
export declare function registerS2cMalformedRequestHandling(ctx: ConformanceRunContext): void;
|
|
54
|
-
/**
|
|
55
|
-
* Dual-direction request-id collision — c2s and s2c request frames
|
|
56
|
-
* carrying the same `id` decode to distinct frames whose `direction`
|
|
57
|
-
* field discriminates the routing pool. Architect plan §3.1: pending
|
|
58
|
-
* maps key on `(side, id)`, not `id` alone — a c2s request with id
|
|
59
|
-
* `tc-1` and an s2c request with id `tc-1` must NOT collide.
|
|
60
|
-
*
|
|
61
|
-
* `@pure-codec` — pure-codec proof of the contract every transport
|
|
62
|
-
* relies on. Wire-level routing is enforced by sender/receiver pending
|
|
63
|
-
* maps; this property anchors the codec piece.
|
|
64
|
-
*/
|
|
65
|
-
export declare function registerDualDirectionIdCollision(ctx: ConformanceRunContext): void;
|
|
66
29
|
export declare function registerRpcMapCoverage(ctx: ConformanceRunContext): void;
|
|
67
30
|
//# sourceMappingURL=schema-conformance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/schema-conformance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/schema-conformance.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAkBzD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CA4FN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,qBAAqB,GACzB,IAAI,CA6BN;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,CAkEN;AAeD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CA6EvE"}
|
|
@@ -12,17 +12,22 @@
|
|
|
12
12
|
* `PropertyInvariantViolation`.
|
|
13
13
|
*/
|
|
14
14
|
import * as fc from "fast-check";
|
|
15
|
-
import { Effect } from "effect";
|
|
15
|
+
import { Effect, Either } from "effect";
|
|
16
16
|
import { Value } from "@sinclair/typebox/value";
|
|
17
17
|
import { allRpcMethods, arbitraryAnyCall, arbitraryCallFor, } from "../arbitraries/rpc.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { EventFrameSchema, RequestFrameSchema, ResponseFrameSchema, } from "../../schema/frames.js";
|
|
18
|
+
import { arbitraryNotificationFrame, arbitraryMalformedFrame, } from "../arbitraries/frames.js";
|
|
19
|
+
import { decodeFrame, encodeFrame, isNotificationFrame, isRequestFrame, isResponseFrame, } from "../codec.js";
|
|
20
|
+
import { NotificationFrameSchema, ResponseFrameSchema, } from "../../schema/frames.js";
|
|
22
21
|
import { makeTestClient } from "../test-client.js";
|
|
23
22
|
import { registerTestAgent } from "../agent-registration.js";
|
|
24
23
|
import { assertProperty, PropertyInvariantViolation, registerProperty, } from "./registry.js";
|
|
24
|
+
import { AgentsList, Connect } from "../../schema/methods/auth.js";
|
|
25
|
+
import { ContactsList } from "../../schema/methods/contacts.js";
|
|
26
|
+
import { ConversationsList } from "../../schema/methods/conversations.js";
|
|
25
27
|
const CATEGORY = "schema-conformance";
|
|
28
|
+
const DEFAULT_MALFORMED_RESPONSE_RUNS = 3;
|
|
29
|
+
const DEFAULT_NOTIFICATION_SCHEMA_RUNS = 20;
|
|
30
|
+
const DEFAULT_ROUNDTRIP_RUNS = 50;
|
|
26
31
|
const DEFAULT_TIMEOUT_MS = 3000;
|
|
27
32
|
const DEFAULT_CAPTURE_CAPACITY = 64;
|
|
28
33
|
/**
|
|
@@ -49,7 +54,7 @@ export function registerRequestWellFormedness(ctx) {
|
|
|
49
54
|
// that landed before the sampled call.
|
|
50
55
|
const handshakeEnd = (yield* client.snapshot).length;
|
|
51
56
|
yield* client
|
|
52
|
-
.sendRpc(call.
|
|
57
|
+
.sendRpc(call.definition, call.params)
|
|
53
58
|
.pipe(Effect.either);
|
|
54
59
|
return (yield* client.snapshot).slice(handshakeEnd);
|
|
55
60
|
})).pipe(Effect.map((observed) => {
|
|
@@ -61,22 +66,31 @@ export function registerRequestWellFormedness(ctx) {
|
|
|
61
66
|
// - replies.some(id === expectedId) (the sampled call got a
|
|
62
67
|
// reply, not just some other request)
|
|
63
68
|
const outbound = observed.find((s) => s.kind === "outbound" &&
|
|
64
|
-
s.frame
|
|
69
|
+
s.frame !== null &&
|
|
70
|
+
isRequestFrame(s.frame) &&
|
|
65
71
|
s.frame.method === call.method);
|
|
66
|
-
if (outbound?.frame
|
|
72
|
+
if (outbound?.frame === null ||
|
|
73
|
+
outbound?.frame === undefined ||
|
|
74
|
+
!isRequestFrame(outbound.frame)) {
|
|
67
75
|
return false;
|
|
76
|
+
}
|
|
68
77
|
const expectedId = outbound.frame.id;
|
|
69
|
-
const replies = observed.filter((s) => s.kind === "inbound" &&
|
|
78
|
+
const replies = observed.filter((s) => s.kind === "inbound" &&
|
|
79
|
+
s.frame !== null &&
|
|
80
|
+
isResponseFrame(s.frame));
|
|
70
81
|
if (replies.length < 1)
|
|
71
82
|
return false;
|
|
72
|
-
const allValid = replies.every((r) => r.frame
|
|
83
|
+
const allValid = replies.every((r) => r.frame !== null &&
|
|
84
|
+
isResponseFrame(r.frame) &&
|
|
73
85
|
Value.Check(ResponseFrameSchema, r.frame));
|
|
74
86
|
if (!allValid)
|
|
75
87
|
return false;
|
|
76
|
-
return replies.some((r) => r.frame
|
|
88
|
+
return replies.some((r) => r.frame !== null &&
|
|
89
|
+
isResponseFrame(r.frame) &&
|
|
90
|
+
r.frame.id === expectedId);
|
|
77
91
|
})))), {
|
|
78
92
|
seed: ctx.seed,
|
|
79
|
-
numRuns: ctx.opts.numRuns ??
|
|
93
|
+
numRuns: ctx.opts.numRuns ?? DEFAULT_MALFORMED_RESPONSE_RUNS,
|
|
80
94
|
// Dropped-response counterexamples pay the client RPC timeout.
|
|
81
95
|
// Shrinking repeats that timeout and makes executable proofs
|
|
82
96
|
// timing-sensitive under stress without increasing coverage.
|
|
@@ -84,7 +98,7 @@ export function registerRequestWellFormedness(ctx) {
|
|
|
84
98
|
})));
|
|
85
99
|
}
|
|
86
100
|
/**
|
|
87
|
-
* Valid
|
|
101
|
+
* Valid notification frame round-trips the codec cleanly.
|
|
88
102
|
*
|
|
89
103
|
* `@pure-codec` — does NOT drive a real server or real client. Spec A2's
|
|
90
104
|
* "accepted by a real client" assertion requires a TestServer + real
|
|
@@ -92,30 +106,40 @@ export function registerRequestWellFormedness(ctx) {
|
|
|
92
106
|
* `packages/client` or `moltzap-arena`) and is tracked under #186.
|
|
93
107
|
*
|
|
94
108
|
* Tightened per architect §4.4: predicate demands `Right` AND schema
|
|
95
|
-
* check of the specific
|
|
109
|
+
* check of the specific notification variant — the previous `Right || Left`
|
|
96
110
|
* shape was a tautology over the union.
|
|
97
111
|
*/
|
|
98
|
-
export function
|
|
99
|
-
registerProperty(ctx, CATEGORY, "
|
|
112
|
+
export function registerNotificationWellFormedness(ctx) {
|
|
113
|
+
registerProperty(ctx, CATEGORY, "notification-well-formedness", "valid notification frame decodes cleanly and re-encodes to match", assertProperty(CATEGORY, "notification-well-formedness", () => Promise.resolve(fc.assert(fc.property(arbitraryNotificationFrame(), (frame) => {
|
|
100
114
|
const raw = encodeFrame(frame);
|
|
101
115
|
const decoded = Effect.runSync(Effect.either(decodeFrame(raw, "inbound")));
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
116
|
+
return Either.match(decoded, {
|
|
117
|
+
onLeft: () => false,
|
|
118
|
+
onRight: (frame) => isNotificationFrame(frame) &&
|
|
119
|
+
Value.Check(NotificationFrameSchema, frame),
|
|
120
|
+
});
|
|
121
|
+
}), {
|
|
122
|
+
seed: ctx.seed,
|
|
123
|
+
numRuns: ctx.opts.numRuns ?? DEFAULT_NOTIFICATION_SCHEMA_RUNS,
|
|
124
|
+
}))));
|
|
107
125
|
}
|
|
108
126
|
/** parse(serialize(frame)) ≡ frame — pure codec round-trip. */
|
|
109
127
|
export function registerRoundTripIdentity(ctx) {
|
|
110
128
|
registerProperty(ctx, CATEGORY, "round-trip-identity", "parse(serialize(frame)) ≡ frame", assertProperty(CATEGORY, "round-trip-identity", () => Promise.resolve(fc.assert(fc.property(arbitraryMalformedFrame().map((m) => m.base), (frame) => {
|
|
111
129
|
const raw = encodeFrame(frame);
|
|
112
130
|
const re = Effect.runSync(Effect.either(decodeFrame(raw, "inbound")));
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
return Either.match(re, {
|
|
132
|
+
onLeft: () => true, // generator-side drift
|
|
133
|
+
onRight: (frame) => {
|
|
134
|
+
const redone = encodeFrame(frame);
|
|
135
|
+
return (JSON.stringify(JSON.parse(raw)) ===
|
|
136
|
+
JSON.stringify(JSON.parse(redone)));
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
}), {
|
|
140
|
+
seed: ctx.seed,
|
|
141
|
+
numRuns: ctx.opts.numRuns ?? DEFAULT_ROUNDTRIP_RUNS,
|
|
142
|
+
}))));
|
|
119
143
|
}
|
|
120
144
|
/**
|
|
121
145
|
* Malformed bytes on the wire → the server drops or returns a typed
|
|
@@ -137,7 +161,8 @@ export function registerMalformedFrameHandling(ctx) {
|
|
|
137
161
|
malformedQuiescenceMs: 500,
|
|
138
162
|
});
|
|
139
163
|
const response = yield* client.sendMalformed({
|
|
140
|
-
|
|
164
|
+
baseDefinition: AgentsList,
|
|
165
|
+
baseParams: {},
|
|
141
166
|
kind,
|
|
142
167
|
seed,
|
|
143
168
|
});
|
|
@@ -145,7 +170,7 @@ export function registerMalformedFrameHandling(ctx) {
|
|
|
145
170
|
// normal RPC — proves the server didn't crash or
|
|
146
171
|
// poison its state.
|
|
147
172
|
const post = yield* client
|
|
148
|
-
.sendRpc(
|
|
173
|
+
.sendRpc(AgentsList, {})
|
|
149
174
|
.pipe(Effect.either);
|
|
150
175
|
return { malformedReply: response, post };
|
|
151
176
|
})).pipe(Effect.map((result) => {
|
|
@@ -158,9 +183,15 @@ export function registerMalformedFrameHandling(ctx) {
|
|
|
158
183
|
// to count as server-alive, which is exactly what the
|
|
159
184
|
// property must reject. Require the post-malformed call to
|
|
160
185
|
// return cleanly.
|
|
161
|
-
const stillAlive = result.post
|
|
186
|
+
const stillAlive = Either.match(result.post, {
|
|
187
|
+
onLeft: () => false,
|
|
188
|
+
onRight: () => true,
|
|
189
|
+
});
|
|
162
190
|
return validReply && stillAlive;
|
|
163
|
-
})))), {
|
|
191
|
+
})))), {
|
|
192
|
+
seed: ctx.seed,
|
|
193
|
+
numRuns: ctx.opts.numRuns ?? DEFAULT_MALFORMED_RESPONSE_RUNS,
|
|
194
|
+
})));
|
|
164
195
|
}
|
|
165
196
|
/**
|
|
166
197
|
* A representative sample of `RpcMethodName` reaches the real server.
|
|
@@ -170,207 +201,11 @@ export function registerMalformedFrameHandling(ctx) {
|
|
|
170
201
|
* render every RPC unreachable.
|
|
171
202
|
*/
|
|
172
203
|
const COVERAGE_SAMPLE = [
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
204
|
+
Connect.name,
|
|
205
|
+
AgentsList.name,
|
|
206
|
+
ConversationsList.name,
|
|
207
|
+
ContactsList.name,
|
|
177
208
|
];
|
|
178
|
-
/**
|
|
179
|
-
* S2C request frames round-trip through the codec. Architect plan §3.1 +
|
|
180
|
-
* §1.7: `direction: "s2c"` is part of the wire identity — encode →
|
|
181
|
-
* decodeFrame → re-encode must be byte-identical for every well-formed
|
|
182
|
-
* server-initiated request.
|
|
183
|
-
*
|
|
184
|
-
* `@pure-codec` — does NOT drive a real server. Asserts the codec preserves
|
|
185
|
-
* `direction: "s2c"` so c2s and s2c request-id pools can coexist on the
|
|
186
|
-
* wire without confusion.
|
|
187
|
-
*/
|
|
188
|
-
export function registerS2cRequestRoundTripIdentity(ctx) {
|
|
189
|
-
registerProperty(ctx, CATEGORY, "s2c-request-roundtrip-identity", "encode(s2c request) ⇒ decode ⇒ encode is byte-identical", assertProperty(CATEGORY, "s2c-request-roundtrip-identity", () => Promise.resolve(fc.assert(fc.property(arbitraryS2cRequestFrame(), (frame) => {
|
|
190
|
-
const raw = encodeFrame(frame);
|
|
191
|
-
const decoded = Effect.runSync(Effect.either(decodeFrame(raw, "inbound")));
|
|
192
|
-
if (decoded._tag !== "Right")
|
|
193
|
-
return false;
|
|
194
|
-
if (decoded.right.type !== "request")
|
|
195
|
-
return false;
|
|
196
|
-
if (decoded.right.direction !== "s2c")
|
|
197
|
-
return false;
|
|
198
|
-
const redone = encodeFrame(decoded.right);
|
|
199
|
-
return (JSON.stringify(JSON.parse(raw)) ===
|
|
200
|
-
JSON.stringify(JSON.parse(redone)));
|
|
201
|
-
}), { seed: ctx.seed, numRuns: ctx.opts.numRuns ?? 50 }))));
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* S2C response frames validate against `ResponseFrameSchema`. Architect plan
|
|
205
|
-
* §3.1: c2s and s2c responses share one schema discriminated by `direction`.
|
|
206
|
-
* Property asserts `Value.Check` accepts every drawn s2c response — the
|
|
207
|
-
* positive shape every consumer's decoder relies on.
|
|
208
|
-
*/
|
|
209
|
-
export function registerS2cResponseValidation(ctx) {
|
|
210
|
-
registerProperty(ctx, CATEGORY, "s2c-response-validation", "every well-formed s2c response frame Value.Checks", assertProperty(CATEGORY, "s2c-response-validation", () => Promise.resolve(fc.assert(fc.property(arbitraryS2cResponseFrame(), (frame) => {
|
|
211
|
-
if (!Value.Check(ResponseFrameSchema, frame))
|
|
212
|
-
return false;
|
|
213
|
-
return frame.direction === "s2c";
|
|
214
|
-
}), { seed: ctx.seed, numRuns: ctx.opts.numRuns ?? 50 }))));
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Malformed s2c request bytes do not crash the codec — `decodeFrame`
|
|
218
|
-
* returns `FrameSchemaError`, never throws. `@pure-codec` — exercises
|
|
219
|
-
* the codec only. Wire-level liveness with a real server is covered by
|
|
220
|
-
* `malformed-frame-handling` (above).
|
|
221
|
-
*/
|
|
222
|
-
export function registerS2cMalformedRequestHandling(ctx) {
|
|
223
|
-
registerProperty(ctx, CATEGORY, "s2c-malformed-request-handling", "malformed s2c request bytes ⇒ FrameSchemaError or drop; never crash", assertProperty(CATEGORY, "s2c-malformed-request-handling", () => Promise.resolve(fc.assert(fc.property(arbitraryMalformedS2cRequestFrame(), (raw) => {
|
|
224
|
-
const decoded = Effect.runSync(Effect.either(decodeFrame(raw, "inbound")));
|
|
225
|
-
// Either decode fails with FrameSchemaError (rejected at the
|
|
226
|
-
// edge) or succeeds with a typed frame — both are fine. The
|
|
227
|
-
// crash-free contract is what this property enforces.
|
|
228
|
-
if (decoded._tag === "Left") {
|
|
229
|
-
return decoded.left._tag === "TestingFrameSchemaError";
|
|
230
|
-
}
|
|
231
|
-
// If decode succeeds, the frame must validate against its
|
|
232
|
-
// schema; the codec must not surface an in-between value.
|
|
233
|
-
const f = decoded.right;
|
|
234
|
-
if (f.type === "request")
|
|
235
|
-
return Value.Check(RequestFrameSchema, f);
|
|
236
|
-
if (f.type === "response")
|
|
237
|
-
return Value.Check(ResponseFrameSchema, f);
|
|
238
|
-
return Value.Check(EventFrameSchema, f);
|
|
239
|
-
}), { seed: ctx.seed, numRuns: ctx.opts.numRuns ?? 50 }))));
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Dual-direction request-id collision — c2s and s2c request frames
|
|
243
|
-
* carrying the same `id` decode to distinct frames whose `direction`
|
|
244
|
-
* field discriminates the routing pool. Architect plan §3.1: pending
|
|
245
|
-
* maps key on `(side, id)`, not `id` alone — a c2s request with id
|
|
246
|
-
* `tc-1` and an s2c request with id `tc-1` must NOT collide.
|
|
247
|
-
*
|
|
248
|
-
* `@pure-codec` — pure-codec proof of the contract every transport
|
|
249
|
-
* relies on. Wire-level routing is enforced by sender/receiver pending
|
|
250
|
-
* maps; this property anchors the codec piece.
|
|
251
|
-
*/
|
|
252
|
-
export function registerDualDirectionIdCollision(ctx) {
|
|
253
|
-
registerProperty(ctx, CATEGORY, "dual-direction-id-collision", "c2s id=X and s2c id=X decode to distinct frames discriminated by direction", assertProperty(CATEGORY, "dual-direction-id-collision", () => Promise.resolve(fc.assert(fc.property(
|
|
254
|
-
// A shared id and a method name; no need to vary params for
|
|
255
|
-
// the routing-discrimination property.
|
|
256
|
-
fc.tuple(fc
|
|
257
|
-
.string({ minLength: 1, maxLength: 32 })
|
|
258
|
-
.filter((s) => /^[a-zA-Z0-9_\-:.]+$/.test(s)), fc.constantFrom("auth/connect", "agents/list", ...s2cRpcMethods.map((m) => m.name))), ([id, method]) => {
|
|
259
|
-
const c2s = {
|
|
260
|
-
jsonrpc: "2.0",
|
|
261
|
-
type: "request",
|
|
262
|
-
direction: "c2s",
|
|
263
|
-
id,
|
|
264
|
-
method,
|
|
265
|
-
params: {},
|
|
266
|
-
};
|
|
267
|
-
const s2c = {
|
|
268
|
-
jsonrpc: "2.0",
|
|
269
|
-
type: "request",
|
|
270
|
-
direction: "s2c",
|
|
271
|
-
id,
|
|
272
|
-
method,
|
|
273
|
-
params: {},
|
|
274
|
-
};
|
|
275
|
-
const decC2s = Effect.runSync(Effect.either(decodeFrame(encodeFrame(c2s), "inbound")));
|
|
276
|
-
const decS2c = Effect.runSync(Effect.either(decodeFrame(encodeFrame(s2c), "inbound")));
|
|
277
|
-
if (decC2s._tag !== "Right" || decS2c._tag !== "Right") {
|
|
278
|
-
return false;
|
|
279
|
-
}
|
|
280
|
-
if (decC2s.right.type !== "request" ||
|
|
281
|
-
decS2c.right.type !== "request") {
|
|
282
|
-
return false;
|
|
283
|
-
}
|
|
284
|
-
// Same id, different direction — they are NOT equal frames
|
|
285
|
-
// and a pending map keyed on (direction, id) yields disjoint
|
|
286
|
-
// entries.
|
|
287
|
-
if (decC2s.right.id !== decS2c.right.id)
|
|
288
|
-
return false;
|
|
289
|
-
if (decC2s.right.direction === decS2c.right.direction) {
|
|
290
|
-
return false;
|
|
291
|
-
}
|
|
292
|
-
const keyC2s = `${decC2s.right.direction}:${decC2s.right.id}`;
|
|
293
|
-
const keyS2c = `${decS2c.right.direction}:${decS2c.right.id}`;
|
|
294
|
-
return keyC2s !== keyS2c;
|
|
295
|
-
}), { seed: ctx.seed, numRuns: ctx.opts.numRuns ?? 30 }))));
|
|
296
|
-
}
|
|
297
|
-
// ── s2c arbitraries (local to this module) ────────────────────────────
|
|
298
|
-
//
|
|
299
|
-
// Kept private — only the four properties above use them. If a future
|
|
300
|
-
// module needs s2c-direction frames, promote to `arbitraries/frames.ts`.
|
|
301
|
-
function arbitraryS2cRequestFrame() {
|
|
302
|
-
// Drive method names from the typed `s2cRpcMethods` registry so adding
|
|
303
|
-
// a verb to the protocol auto-widens conformance coverage; no manual
|
|
304
|
-
// sync required between this arbitrary and `rpc-registry.ts`.
|
|
305
|
-
const methodNames = s2cRpcMethods.map((m) => m.name);
|
|
306
|
-
return fc.record({
|
|
307
|
-
jsonrpc: fc.constant("2.0"),
|
|
308
|
-
type: fc.constant("request"),
|
|
309
|
-
direction: fc.constant("s2c"),
|
|
310
|
-
id: fc
|
|
311
|
-
.string({ minLength: 1, maxLength: 32 })
|
|
312
|
-
.filter((s) => /^[a-zA-Z0-9_\-:.]+$/.test(s)),
|
|
313
|
-
method: fc.constantFrom(...methodNames),
|
|
314
|
-
params: fc.option(fc.dictionary(fc.string(), fc.anything()), {
|
|
315
|
-
nil: undefined,
|
|
316
|
-
}),
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
function arbitraryS2cResponseFrame() {
|
|
320
|
-
const successBody = fc.record({
|
|
321
|
-
result: fc.dictionary(fc.string({ minLength: 1, maxLength: 8 }), fc.anything()),
|
|
322
|
-
});
|
|
323
|
-
const errorBody = fc.record({
|
|
324
|
-
error: fc.record({
|
|
325
|
-
code: fc.integer({ min: -32700, max: -32000 }),
|
|
326
|
-
message: fc.string({ minLength: 1, maxLength: 64 }),
|
|
327
|
-
}),
|
|
328
|
-
});
|
|
329
|
-
const id = fc
|
|
330
|
-
.string({ minLength: 1, maxLength: 32 })
|
|
331
|
-
.filter((s) => /^[a-zA-Z0-9_\-:.]+$/.test(s));
|
|
332
|
-
return fc
|
|
333
|
-
.tuple(id, fc.oneof(successBody, errorBody))
|
|
334
|
-
.map(([frameId, body]) => ({
|
|
335
|
-
jsonrpc: "2.0",
|
|
336
|
-
type: "response",
|
|
337
|
-
direction: "s2c",
|
|
338
|
-
id: frameId,
|
|
339
|
-
...body,
|
|
340
|
-
}));
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Generate raw bytes that purport to be an s2c request but are malformed
|
|
344
|
-
* in one of the kinds the codec must absorb. Mixes wire-level corruptions
|
|
345
|
-
* (invalid JSON, missing `direction`, bad `direction`, extra property)
|
|
346
|
-
* with schema-violation kinds the existing codec already rejects.
|
|
347
|
-
*/
|
|
348
|
-
function arbitraryMalformedS2cRequestFrame() {
|
|
349
|
-
const valid = arbitraryS2cRequestFrame();
|
|
350
|
-
return fc.oneof(
|
|
351
|
-
// Invalid JSON.
|
|
352
|
-
fc.constant("not-json"), fc.constant("{not-json"),
|
|
353
|
-
// Wrong direction value.
|
|
354
|
-
valid.map((f) => {
|
|
355
|
-
const invalidDirection = "lateral";
|
|
356
|
-
const corrupted = { ...f, direction: invalidDirection };
|
|
357
|
-
return JSON.stringify(corrupted);
|
|
358
|
-
}),
|
|
359
|
-
// Missing direction.
|
|
360
|
-
valid.map((f) => {
|
|
361
|
-
const { direction: _drop, ...rest } = f;
|
|
362
|
-
void _drop;
|
|
363
|
-
return JSON.stringify(rest);
|
|
364
|
-
}),
|
|
365
|
-
// Missing id.
|
|
366
|
-
valid.map((f) => {
|
|
367
|
-
const { id: _drop, ...rest } = f;
|
|
368
|
-
void _drop;
|
|
369
|
-
return JSON.stringify(rest);
|
|
370
|
-
}),
|
|
371
|
-
// Extra property — schema is `additionalProperties: false`.
|
|
372
|
-
valid.map((f) => JSON.stringify({ ...f, extra: "rejected" })));
|
|
373
|
-
}
|
|
374
209
|
export function registerRpcMapCoverage(ctx) {
|
|
375
210
|
registerProperty(ctx, CATEGORY, "rpc-map-coverage", "a representative sample of RpcMethodName reaches a real-server response", Effect.gen(function* () {
|
|
376
211
|
void allRpcMethods; // kept for future expansion to full-set coverage
|
|
@@ -401,17 +236,22 @@ export function registerRpcMapCoverage(ctx) {
|
|
|
401
236
|
// OWN response with a matching request id.
|
|
402
237
|
const handshakeEnd = (yield* client.snapshot).length;
|
|
403
238
|
yield* client
|
|
404
|
-
.sendRpc(sampled.
|
|
239
|
+
.sendRpc(sampled.definition, sampled.params)
|
|
405
240
|
.pipe(Effect.either);
|
|
406
241
|
const snap = (yield* client.snapshot).slice(handshakeEnd);
|
|
407
242
|
const outbound = snap.find((s) => s.kind === "outbound" &&
|
|
408
|
-
s.frame
|
|
243
|
+
s.frame !== null &&
|
|
244
|
+
isRequestFrame(s.frame) &&
|
|
409
245
|
s.frame.method === sampled.method);
|
|
410
|
-
if (outbound?.frame
|
|
246
|
+
if (outbound?.frame === null ||
|
|
247
|
+
outbound?.frame === undefined ||
|
|
248
|
+
!isRequestFrame(outbound.frame)) {
|
|
411
249
|
return false;
|
|
250
|
+
}
|
|
412
251
|
const expectedId = outbound.frame.id;
|
|
413
252
|
return snap.some((s) => s.kind === "inbound" &&
|
|
414
|
-
s.frame
|
|
253
|
+
s.frame !== null &&
|
|
254
|
+
isResponseFrame(s.frame) &&
|
|
415
255
|
s.frame.id === expectedId);
|
|
416
256
|
})).pipe(Effect.orElseSucceed(() => false));
|
|
417
257
|
if (!reached) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-conformance.js","sourceRoot":"","sources":["../../../src/testing/conformance/schema-conformance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema-conformance.js","sourceRoot":"","sources":["../../../src/testing/conformance/schema-conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ import { type AllowedCoverageGap } from "./coverage-policy.js";
|
|
|
29
29
|
*/
|
|
30
30
|
export interface ConformanceSuiteOptions {
|
|
31
31
|
/** Factory for the implementation under test (server handle). */
|
|
32
|
-
readonly realServer:
|
|
32
|
+
readonly realServer: Effect.Effect<RealServerHandle, RealServerAcquireError>;
|
|
33
33
|
/**
|
|
34
34
|
* Toxiproxy control-plane URL. When `null`, the adversity category is
|
|
35
35
|
* skipped (registered properties return `PropertyUnavailable`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAgB,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAG5D,OAAO,EAEL,KAAK,qBAAqB,EAE1B,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAgB,MAAM,EAAgB,MAAM,QAAQ,CAAC;AAG5D,OAAO,EAEL,KAAK,qBAAqB,EAE1B,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAQ9B;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;IAC7E;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EACZ,eAAe,GACf;YAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3D,CAAC,CAAC;CACJ;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAyCtE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,qBAAqB,EAC1B,WAAW,EAAE,MAAM,EACnB,mBAAmB,GAAE,aAAa,CAAC,kBAAkB,CAAM,GAC1D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CA0E5B;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,GAC5B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,GAAG,sBAAsB,CAAC,CA4BxE"}
|