@moltzap/protocol 2026.408.0 → 2026.425.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/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/rpc-registry.d.ts +446 -0
- package/dist/rpc-registry.d.ts.map +1 -0
- package/dist/rpc-registry.js +67 -0
- package/dist/rpc-registry.js.map +1 -0
- package/dist/rpc.d.ts +42 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +29 -0
- package/dist/rpc.js.map +1 -0
- package/dist/schema/apps.d.ts +86 -0
- package/dist/schema/apps.d.ts.map +1 -0
- package/dist/schema/apps.js +77 -0
- package/dist/schema/apps.js.map +1 -0
- package/dist/schema/contacts.d.ts +8 -18
- package/dist/schema/contacts.d.ts.map +1 -1
- package/dist/schema/contacts.js +9 -13
- package/dist/schema/contacts.js.map +1 -1
- package/dist/schema/conversations.d.ts +15 -8
- package/dist/schema/conversations.d.ts.map +1 -1
- package/dist/schema/conversations.js +18 -7
- package/dist/schema/conversations.js.map +1 -1
- package/dist/schema/delivery.d.ts +1 -4
- package/dist/schema/delivery.d.ts.map +1 -1
- package/dist/schema/delivery.js +2 -3
- package/dist/schema/delivery.js.map +1 -1
- package/dist/schema/errors.d.ts +13 -0
- package/dist/schema/errors.d.ts.map +1 -1
- package/dist/schema/errors.js +14 -0
- package/dist/schema/errors.js.map +1 -1
- package/dist/schema/events.d.ts +112 -93
- package/dist/schema/events.d.ts.map +1 -1
- package/dist/schema/events.js +84 -25
- package/dist/schema/events.js.map +1 -1
- package/dist/schema/identity.d.ts +19 -17
- package/dist/schema/identity.d.ts.map +1 -1
- package/dist/schema/identity.js +7 -14
- package/dist/schema/identity.js.map +1 -1
- package/dist/schema/index.d.ts +4 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +4 -2
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/messages.d.ts +3 -7
- package/dist/schema/messages.d.ts.map +1 -1
- package/dist/schema/messages.js +4 -6
- package/dist/schema/messages.js.map +1 -1
- package/dist/schema/methods/apps.d.ts +123 -0
- package/dist/schema/methods/apps.d.ts.map +1 -0
- package/dist/schema/methods/apps.js +93 -0
- package/dist/schema/methods/apps.js.map +1 -0
- package/dist/schema/methods/auth.d.ts +102 -90
- package/dist/schema/methods/auth.d.ts.map +1 -1
- package/dist/schema/methods/auth.js +86 -74
- package/dist/schema/methods/auth.js.map +1 -1
- package/dist/schema/methods/contacts.d.ts +39 -74
- package/dist/schema/methods/contacts.d.ts.map +1 -1
- package/dist/schema/methods/contacts.js +35 -29
- package/dist/schema/methods/contacts.js.map +1 -1
- package/dist/schema/methods/conversations.d.ts +48 -52
- package/dist/schema/methods/conversations.d.ts.map +1 -1
- package/dist/schema/methods/conversations.js +89 -38
- package/dist/schema/methods/conversations.js.map +1 -1
- package/dist/schema/methods/invites.d.ts +1 -3
- package/dist/schema/methods/invites.d.ts.map +1 -1
- package/dist/schema/methods/invites.js +8 -1
- package/dist/schema/methods/invites.js.map +1 -1
- package/dist/schema/methods/messages.d.ts +12 -44
- package/dist/schema/methods/messages.d.ts.map +1 -1
- package/dist/schema/methods/messages.js +22 -28
- package/dist/schema/methods/messages.js.map +1 -1
- package/dist/schema/methods/presence.d.ts +7 -22
- package/dist/schema/methods/presence.d.ts.map +1 -1
- package/dist/schema/methods/presence.js +12 -6
- package/dist/schema/methods/presence.js.map +1 -1
- package/dist/schema/methods/push.d.ts +8 -6
- package/dist/schema/methods/push.d.ts.map +1 -1
- package/dist/schema/methods/push.js +20 -7
- package/dist/schema/methods/push.js.map +1 -1
- package/dist/schema/methods/system.d.ts +4 -0
- package/dist/schema/methods/system.d.ts.map +1 -0
- package/dist/schema/methods/system.js +11 -0
- package/dist/schema/methods/system.js.map +1 -0
- package/dist/schema/presence.d.ts +1 -12
- package/dist/schema/presence.d.ts.map +1 -1
- package/dist/schema/presence.js +2 -7
- package/dist/schema/presence.js.map +1 -1
- package/dist/schema/surfaces.d.ts +31 -25
- package/dist/schema/surfaces.d.ts.map +1 -1
- package/dist/schema/surfaces.js +40 -21
- package/dist/schema/surfaces.js.map +1 -1
- package/dist/testing/agent-registration.d.ts +49 -0
- package/dist/testing/agent-registration.d.ts.map +1 -0
- package/dist/testing/agent-registration.js +77 -0
- package/dist/testing/agent-registration.js.map +1 -0
- package/dist/testing/arbitraries/frames.d.ts +24 -0
- package/dist/testing/arbitraries/frames.d.ts.map +1 -0
- package/dist/testing/arbitraries/frames.js +36 -0
- package/dist/testing/arbitraries/frames.js.map +1 -0
- package/dist/testing/arbitraries/from-typebox.d.ts +37 -0
- package/dist/testing/arbitraries/from-typebox.d.ts.map +1 -0
- package/dist/testing/arbitraries/from-typebox.js +131 -0
- package/dist/testing/arbitraries/from-typebox.js.map +1 -0
- package/dist/testing/arbitraries/index.d.ts +4 -0
- package/dist/testing/arbitraries/index.d.ts.map +1 -0
- package/dist/testing/arbitraries/index.js +4 -0
- package/dist/testing/arbitraries/index.js.map +1 -0
- package/dist/testing/arbitraries/rpc.d.ts +66 -0
- package/dist/testing/arbitraries/rpc.d.ts.map +1 -0
- package/dist/testing/arbitraries/rpc.js +98 -0
- package/dist/testing/arbitraries/rpc.js.map +1 -0
- package/dist/testing/canonicalize.d.ts +38 -0
- package/dist/testing/canonicalize.d.ts.map +1 -0
- package/dist/testing/canonicalize.js +55 -0
- package/dist/testing/canonicalize.js.map +1 -0
- package/dist/testing/captures.d.ts +61 -0
- package/dist/testing/captures.d.ts.map +1 -0
- package/dist/testing/captures.js +99 -0
- package/dist/testing/captures.js.map +1 -0
- package/dist/testing/codec.d.ts +44 -0
- package/dist/testing/codec.d.ts.map +1 -0
- package/dist/testing/codec.js +170 -0
- package/dist/testing/codec.js.map +1 -0
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts +6 -0
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts.map +1 -0
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js +33 -0
- package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js.map +1 -0
- package/dist/testing/conformance/adversity.d.ts +36 -0
- package/dist/testing/conformance/adversity.d.ts.map +1 -0
- package/dist/testing/conformance/adversity.js +360 -0
- package/dist/testing/conformance/adversity.js.map +1 -0
- package/dist/testing/conformance/boundary.d.ts +56 -0
- package/dist/testing/conformance/boundary.d.ts.map +1 -0
- package/dist/testing/conformance/boundary.js +129 -0
- package/dist/testing/conformance/boundary.js.map +1 -0
- package/dist/testing/conformance/client/_fixtures.d.ts +71 -0
- package/dist/testing/conformance/client/_fixtures.d.ts.map +1 -0
- package/dist/testing/conformance/client/_fixtures.js +102 -0
- package/dist/testing/conformance/client/_fixtures.js.map +1 -0
- package/dist/testing/conformance/client/adversity.d.ts +39 -0
- package/dist/testing/conformance/client/adversity.d.ts.map +1 -0
- package/dist/testing/conformance/client/adversity.js +162 -0
- package/dist/testing/conformance/client/adversity.js.map +1 -0
- package/dist/testing/conformance/client/boundary.d.ts +12 -0
- package/dist/testing/conformance/client/boundary.d.ts.map +1 -0
- package/dist/testing/conformance/client/boundary.js +68 -0
- package/dist/testing/conformance/client/boundary.js.map +1 -0
- package/dist/testing/conformance/client/delivery.d.ts +38 -0
- package/dist/testing/conformance/client/delivery.d.ts.map +1 -0
- package/dist/testing/conformance/client/delivery.js +202 -0
- package/dist/testing/conformance/client/delivery.js.map +1 -0
- package/dist/testing/conformance/client/index.d.ts +16 -0
- package/dist/testing/conformance/client/index.d.ts.map +1 -0
- package/dist/testing/conformance/client/index.js +16 -0
- package/dist/testing/conformance/client/index.js.map +1 -0
- package/dist/testing/conformance/client/rpc-semantics.d.ts +26 -0
- package/dist/testing/conformance/client/rpc-semantics.d.ts.map +1 -0
- package/dist/testing/conformance/client/rpc-semantics.js +145 -0
- package/dist/testing/conformance/client/rpc-semantics.js.map +1 -0
- package/dist/testing/conformance/client/runner.d.ts +258 -0
- package/dist/testing/conformance/client/runner.d.ts.map +1 -0
- package/dist/testing/conformance/client/runner.js +228 -0
- package/dist/testing/conformance/client/runner.js.map +1 -0
- package/dist/testing/conformance/client/schema-conformance.d.ts +25 -0
- package/dist/testing/conformance/client/schema-conformance.d.ts.map +1 -0
- package/dist/testing/conformance/client/schema-conformance.js +123 -0
- package/dist/testing/conformance/client/schema-conformance.js.map +1 -0
- package/dist/testing/conformance/client/suite.d.ts +90 -0
- package/dist/testing/conformance/client/suite.d.ts.map +1 -0
- package/dist/testing/conformance/client/suite.js +209 -0
- package/dist/testing/conformance/client/suite.js.map +1 -0
- package/dist/testing/conformance/coverage-policy.d.ts +8 -0
- package/dist/testing/conformance/coverage-policy.d.ts.map +1 -0
- package/dist/testing/conformance/coverage-policy.js +10 -0
- package/dist/testing/conformance/coverage-policy.js.map +1 -0
- package/dist/testing/conformance/delivery.d.ts +40 -0
- package/dist/testing/conformance/delivery.d.ts.map +1 -0
- package/dist/testing/conformance/delivery.js +231 -0
- package/dist/testing/conformance/delivery.js.map +1 -0
- package/dist/testing/conformance/env.d.ts +3 -0
- package/dist/testing/conformance/env.d.ts.map +1 -0
- package/dist/testing/conformance/env.js +14 -0
- package/dist/testing/conformance/env.js.map +1 -0
- package/dist/testing/conformance/index.d.ts +10 -0
- package/dist/testing/conformance/index.d.ts.map +1 -0
- package/dist/testing/conformance/index.js +10 -0
- package/dist/testing/conformance/index.js.map +1 -0
- package/dist/testing/conformance/registry.d.ts +93 -0
- package/dist/testing/conformance/registry.d.ts.map +1 -0
- package/dist/testing/conformance/registry.js +62 -0
- package/dist/testing/conformance/registry.js.map +1 -0
- package/dist/testing/conformance/rpc-semantics.d.ts +67 -0
- package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -0
- package/dist/testing/conformance/rpc-semantics.js +394 -0
- package/dist/testing/conformance/rpc-semantics.js.map +1 -0
- package/dist/testing/conformance/runner.d.ts +78 -0
- package/dist/testing/conformance/runner.d.ts.map +1 -0
- package/dist/testing/conformance/runner.js +65 -0
- package/dist/testing/conformance/runner.js.map +1 -0
- package/dist/testing/conformance/schema-conformance.d.ts +30 -0
- package/dist/testing/conformance/schema-conformance.d.ts.map +1 -0
- package/dist/testing/conformance/schema-conformance.js +229 -0
- package/dist/testing/conformance/schema-conformance.js.map +1 -0
- package/dist/testing/conformance/suite.d.ts +92 -0
- package/dist/testing/conformance/suite.d.ts.map +1 -0
- package/dist/testing/conformance/suite.js +233 -0
- package/dist/testing/conformance/suite.js.map +1 -0
- package/dist/testing/errors.d.ts +78 -0
- package/dist/testing/errors.d.ts.map +1 -0
- package/dist/testing/errors.js +34 -0
- package/dist/testing/errors.js.map +1 -0
- package/dist/testing/index.d.ts +25 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +37 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/models/dispatch.d.ts +61 -0
- package/dist/testing/models/dispatch.d.ts.map +1 -0
- package/dist/testing/models/dispatch.js +197 -0
- package/dist/testing/models/dispatch.js.map +1 -0
- package/dist/testing/models/index.d.ts +3 -0
- package/dist/testing/models/index.d.ts.map +1 -0
- package/dist/testing/models/index.js +3 -0
- package/dist/testing/models/index.js.map +1 -0
- package/dist/testing/models/state.d.ts +37 -0
- package/dist/testing/models/state.d.ts.map +1 -0
- package/dist/testing/models/state.js +14 -0
- package/dist/testing/models/state.js.map +1 -0
- package/dist/testing/test-client.d.ts +70 -0
- package/dist/testing/test-client.d.ts.map +1 -0
- package/dist/testing/test-client.js +266 -0
- package/dist/testing/test-client.js.map +1 -0
- package/dist/testing/test-server.d.ts +62 -0
- package/dist/testing/test-server.d.ts.map +1 -0
- package/dist/testing/test-server.js +134 -0
- package/dist/testing/test-server.js.map +1 -0
- package/dist/testing/toxics/client.d.ts +52 -0
- package/dist/testing/toxics/client.d.ts.map +1 -0
- package/dist/testing/toxics/client.js +120 -0
- package/dist/testing/toxics/client.js.map +1 -0
- package/dist/testing/toxics/defaults.d.ts +43 -0
- package/dist/testing/toxics/defaults.d.ts.map +1 -0
- package/dist/testing/toxics/defaults.js +9 -0
- package/dist/testing/toxics/defaults.js.map +1 -0
- package/dist/testing/toxics/index.d.ts +4 -0
- package/dist/testing/toxics/index.d.ts.map +1 -0
- package/dist/testing/toxics/index.js +4 -0
- package/dist/testing/toxics/index.js.map +1 -0
- package/dist/testing/toxics/profile.d.ts +69 -0
- package/dist/testing/toxics/profile.d.ts.map +1 -0
- package/dist/testing/toxics/profile.js +57 -0
- package/dist/testing/toxics/profile.js.map +1 -0
- package/dist/types.d.ts +7 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/validators.d.ts +49 -177
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +77 -48
- package/dist/validators.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +18 -40
- package/LICENSE +0 -21
- package/dist/optional/contact-events.d.ts +0 -3
- package/dist/optional/contact-events.d.ts.map +0 -1
- package/dist/optional/contact-events.js +0 -5
- package/dist/optional/contact-events.js.map +0 -1
- package/dist/optional/contact-methods.d.ts +0 -5
- package/dist/optional/contact-methods.d.ts.map +0 -1
- package/dist/optional/contact-methods.js +0 -5
- package/dist/optional/contact-methods.js.map +0 -1
- package/dist/phone-hash.d.ts +0 -10
- package/dist/phone-hash.d.ts.map +0 -1
- package/dist/phone-hash.js +0 -17
- package/dist/phone-hash.js.map +0 -1
- package/dist/schema/methods/phone-contacts.d.ts +0 -30
- package/dist/schema/methods/phone-contacts.d.ts.map +0 -1
- package/dist/schema/methods/phone-contacts.js +0 -10
- package/dist/schema/methods/phone-contacts.js.map +0 -1
- package/dist/test-client.d.ts +0 -34
- package/dist/test-client.d.ts.map +0 -1
- package/dist/test-client.js +0 -176
- package/dist/test-client.js.map +0 -1
- package/dist/test-fixtures/phone-hashes.d.ts +0 -18
- package/dist/test-fixtures/phone-hashes.d.ts.map +0 -1
- package/dist/test-fixtures/phone-hashes.js +0 -24
- package/dist/test-fixtures/phone-hashes.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../src/testing/conformance/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/env.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,SAAS,CAQ9D;AAED,wBAAgB,6BAA6B,IAAI,MAAM,GAAG,SAAS,CAElE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function conformanceNumRunsFromEnv() {
|
|
2
|
+
const raw = process.env.CONFORMANCE_NUM_RUNS;
|
|
3
|
+
if (raw === undefined || raw === "")
|
|
4
|
+
return undefined;
|
|
5
|
+
const parsed = Number(raw);
|
|
6
|
+
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
7
|
+
throw new Error(`CONFORMANCE_NUM_RUNS must be a positive integer: ${raw}`);
|
|
8
|
+
}
|
|
9
|
+
return parsed;
|
|
10
|
+
}
|
|
11
|
+
export function conformanceArtifactDirFromEnv() {
|
|
12
|
+
return process.env.CONFORMANCE_ARTIFACT_DIR ?? process.env.ARTIFACT_DIR;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/testing/conformance/env.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC7C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { type ConformanceArtifact, type ConformanceRunContext, type ConformanceRunOptions, type RealServerHandle, acquireRunContext, runConformance, } from "./runner.js";
|
|
2
|
+
export { type PropertyCategory, type PropertyFailure, type PropertyRun, type RegisteredProperty, PropertyAssertionFailure, PropertyDeferred, PropertyInvariantViolation, PropertyUnavailable, assertProperty, collectProperties, registerProperty, } from "./registry.js";
|
|
3
|
+
export * as schemaConformance from "./schema-conformance.js";
|
|
4
|
+
export * as rpcSemantics from "./rpc-semantics.js";
|
|
5
|
+
export * as delivery from "./delivery.js";
|
|
6
|
+
export * as adversity from "./adversity.js";
|
|
7
|
+
export * as boundary from "./boundary.js";
|
|
8
|
+
export { type WebhookAdapterProbe } from "./boundary.js";
|
|
9
|
+
export { type ConformanceSuiteOptions, type SuiteResult, registerAllProperties, runAllProperties, runConformanceSuite, } from "./suite.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { acquireRunContext, runConformance, } from "./runner.js";
|
|
2
|
+
export { PropertyAssertionFailure, PropertyDeferred, PropertyInvariantViolation, PropertyUnavailable, assertProperty, collectProperties, registerProperty, } from "./registry.js";
|
|
3
|
+
export * as schemaConformance from "./schema-conformance.js";
|
|
4
|
+
export * as rpcSemantics from "./rpc-semantics.js";
|
|
5
|
+
export * as delivery from "./delivery.js";
|
|
6
|
+
export * as adversity from "./adversity.js";
|
|
7
|
+
export * as boundary from "./boundary.js";
|
|
8
|
+
export {} from "./boundary.js";
|
|
9
|
+
export { registerAllProperties, runAllProperties, runConformanceSuite, } from "./suite.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/conformance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAA4B,MAAM,eAAe,CAAC;AACzD,OAAO,EAGL,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property registry — conformance modules publish `PropertyRun` effects
|
|
3
|
+
* here; the vitest entry consumes them.
|
|
4
|
+
*
|
|
5
|
+
* Principle 3 (errors typed, not thrown): every property body is an
|
|
6
|
+
* `Effect.Effect<void, PropertyFailure>`. Failures are tagged — never
|
|
7
|
+
* bare `throw`s. Fast-check's Promise-based `fc.assert` is bridged via
|
|
8
|
+
* `Effect.tryPromise` at each call site so rejections become typed
|
|
9
|
+
* `PropertyAssertionFailure`s.
|
|
10
|
+
*
|
|
11
|
+
* Principle 6 (scope is a hard budget): this module lives under
|
|
12
|
+
* `src/testing/` (included in the main `tsc --build`). It must NOT
|
|
13
|
+
* import `vitest`; the vitest entry does the Promise-boundary adaptation
|
|
14
|
+
* outside the build surface.
|
|
15
|
+
*/
|
|
16
|
+
import { Effect, Ref } from "effect";
|
|
17
|
+
/**
|
|
18
|
+
* Context key for a property registry. Server-side properties key by
|
|
19
|
+
* `ConformanceRunContext`; client-side properties (architect-201) key
|
|
20
|
+
* by `ClientConformanceRunContext`. The WeakMap stores per-context
|
|
21
|
+
* registries, so any object shape works as a key.
|
|
22
|
+
*/
|
|
23
|
+
type PropertyContext = object;
|
|
24
|
+
/**
|
|
25
|
+
* Semantic category each property belongs to. Categories match the five
|
|
26
|
+
* conformance modules; the spec's tier grouping (A/B/C/D/E) is noted
|
|
27
|
+
* once per module header, never in code.
|
|
28
|
+
*/
|
|
29
|
+
export type PropertyCategory = "schema-conformance" | "rpc-semantics" | "delivery" | "adversity" | "boundary";
|
|
30
|
+
declare const PropertyAssertionFailure_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
31
|
+
readonly _tag: "ConformancePropertyAssertionFailure";
|
|
32
|
+
} & Readonly<A>;
|
|
33
|
+
/** Fast-check / runtime assertion failed for a specific property. */
|
|
34
|
+
export declare class PropertyAssertionFailure extends PropertyAssertionFailure_base<{
|
|
35
|
+
readonly category: PropertyCategory;
|
|
36
|
+
readonly name: string;
|
|
37
|
+
readonly cause: unknown;
|
|
38
|
+
}> {
|
|
39
|
+
}
|
|
40
|
+
declare const PropertyUnavailable_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
41
|
+
readonly _tag: "ConformancePropertyUnavailable";
|
|
42
|
+
} & Readonly<A>;
|
|
43
|
+
/** Property references infrastructure that isn't available this run. */
|
|
44
|
+
export declare class PropertyUnavailable extends PropertyUnavailable_base<{
|
|
45
|
+
readonly category: PropertyCategory;
|
|
46
|
+
readonly name: string;
|
|
47
|
+
readonly reason: string;
|
|
48
|
+
}> {
|
|
49
|
+
}
|
|
50
|
+
declare const PropertyDeferred_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
51
|
+
readonly _tag: "ConformancePropertyDeferred";
|
|
52
|
+
} & Readonly<A>;
|
|
53
|
+
/** Property is a tombstone for deferred work (e.g. #186 backpressure). */
|
|
54
|
+
export declare class PropertyDeferred extends PropertyDeferred_base<{
|
|
55
|
+
readonly category: PropertyCategory;
|
|
56
|
+
readonly name: string;
|
|
57
|
+
readonly followUp: string;
|
|
58
|
+
}> {
|
|
59
|
+
}
|
|
60
|
+
declare const PropertyInvariantViolation_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
61
|
+
readonly _tag: "ConformancePropertyInvariantViolation";
|
|
62
|
+
} & Readonly<A>;
|
|
63
|
+
/** Property's own invariant (oracle, coverage) failed. */
|
|
64
|
+
export declare class PropertyInvariantViolation extends PropertyInvariantViolation_base<{
|
|
65
|
+
readonly category: PropertyCategory;
|
|
66
|
+
readonly name: string;
|
|
67
|
+
readonly reason: string;
|
|
68
|
+
}> {
|
|
69
|
+
}
|
|
70
|
+
/** Discriminated union of every failure the registry can surface. */
|
|
71
|
+
export type PropertyFailure = PropertyAssertionFailure | PropertyUnavailable | PropertyDeferred | PropertyInvariantViolation;
|
|
72
|
+
/** Each property's body — an Effect that succeeds on pass, fails typed on failure. */
|
|
73
|
+
export type PropertyRun = Effect.Effect<void, PropertyFailure>;
|
|
74
|
+
export interface RegisteredProperty {
|
|
75
|
+
readonly category: PropertyCategory;
|
|
76
|
+
readonly name: string;
|
|
77
|
+
readonly description: string;
|
|
78
|
+
readonly run: PropertyRun;
|
|
79
|
+
}
|
|
80
|
+
/** Mutable registry attached per-context. */
|
|
81
|
+
export interface PropertyRegistry {
|
|
82
|
+
readonly entries: Ref.Ref<ReadonlyArray<RegisteredProperty>>;
|
|
83
|
+
}
|
|
84
|
+
export declare function registerProperty(ctx: PropertyContext, category: PropertyCategory, name: string, description: string, run: PropertyRun): void;
|
|
85
|
+
export declare function collectProperties(ctx: PropertyContext): ReadonlyArray<RegisteredProperty>;
|
|
86
|
+
/**
|
|
87
|
+
* Bridge fast-check's Promise-based `fc.assert` into the Effect error
|
|
88
|
+
* channel. Every tier module uses this wrapper — no direct `await
|
|
89
|
+
* fc.assert(...)` at call sites.
|
|
90
|
+
*/
|
|
91
|
+
export declare function assertProperty(category: PropertyCategory, name: string, body: () => Promise<void>): PropertyRun;
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAQ,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG3C;;;;;GAKG;AACH,KAAK,eAAe,GAAG,MAAM,CAAC;AAE9B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB,oBAAoB,GACpB,eAAe,GACf,UAAU,GACV,WAAW,GACX,UAAU,CAAC;;;;AAEf,qEAAqE;AACrE,qBAAa,wBAAyB,SAAQ,8BAE5C;IACA,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;;;;AAEL,wEAAwE;AACxE,qBAAa,mBAAoB,SAAQ,yBAEvC;IACA,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;;;;AAEL,0EAA0E;AAC1E,qBAAa,gBAAiB,SAAQ,sBAEpC;IACA,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;CAAG;;;;AAEL,0DAA0D;AAC1D,qBAAa,0BAA2B,SAAQ,gCAE9C;IACA,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;AAEL,qEAAqE;AACrE,MAAM,MAAM,eAAe,GACvB,wBAAwB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,0BAA0B,CAAC;AAE/B,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;CAC3B;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAC9D;AAeD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,WAAW,GACf,IAAI,CAQN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,GACnB,aAAa,CAAC,kBAAkB,CAAC,CAGnC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACxB,WAAW,CAKb"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property registry — conformance modules publish `PropertyRun` effects
|
|
3
|
+
* here; the vitest entry consumes them.
|
|
4
|
+
*
|
|
5
|
+
* Principle 3 (errors typed, not thrown): every property body is an
|
|
6
|
+
* `Effect.Effect<void, PropertyFailure>`. Failures are tagged — never
|
|
7
|
+
* bare `throw`s. Fast-check's Promise-based `fc.assert` is bridged via
|
|
8
|
+
* `Effect.tryPromise` at each call site so rejections become typed
|
|
9
|
+
* `PropertyAssertionFailure`s.
|
|
10
|
+
*
|
|
11
|
+
* Principle 6 (scope is a hard budget): this module lives under
|
|
12
|
+
* `src/testing/` (included in the main `tsc --build`). It must NOT
|
|
13
|
+
* import `vitest`; the vitest entry does the Promise-boundary adaptation
|
|
14
|
+
* outside the build surface.
|
|
15
|
+
*/
|
|
16
|
+
import { Data, Effect, Ref } from "effect";
|
|
17
|
+
/** Fast-check / runtime assertion failed for a specific property. */
|
|
18
|
+
export class PropertyAssertionFailure extends Data.TaggedError("ConformancePropertyAssertionFailure") {
|
|
19
|
+
}
|
|
20
|
+
/** Property references infrastructure that isn't available this run. */
|
|
21
|
+
export class PropertyUnavailable extends Data.TaggedError("ConformancePropertyUnavailable") {
|
|
22
|
+
}
|
|
23
|
+
/** Property is a tombstone for deferred work (e.g. #186 backpressure). */
|
|
24
|
+
export class PropertyDeferred extends Data.TaggedError("ConformancePropertyDeferred") {
|
|
25
|
+
}
|
|
26
|
+
/** Property's own invariant (oracle, coverage) failed. */
|
|
27
|
+
export class PropertyInvariantViolation extends Data.TaggedError("ConformancePropertyInvariantViolation") {
|
|
28
|
+
}
|
|
29
|
+
const registries = new WeakMap();
|
|
30
|
+
function ensureRegistry(ctx) {
|
|
31
|
+
let reg = registries.get(ctx);
|
|
32
|
+
if (reg === undefined) {
|
|
33
|
+
reg = {
|
|
34
|
+
entries: Effect.runSync(Ref.make([])),
|
|
35
|
+
};
|
|
36
|
+
registries.set(ctx, reg);
|
|
37
|
+
}
|
|
38
|
+
return reg;
|
|
39
|
+
}
|
|
40
|
+
export function registerProperty(ctx, category, name, description, run) {
|
|
41
|
+
const reg = ensureRegistry(ctx);
|
|
42
|
+
Effect.runSync(Ref.update(reg.entries, (cur) => [
|
|
43
|
+
...cur,
|
|
44
|
+
{ category, name, description, run },
|
|
45
|
+
]));
|
|
46
|
+
}
|
|
47
|
+
export function collectProperties(ctx) {
|
|
48
|
+
const reg = ensureRegistry(ctx);
|
|
49
|
+
return Effect.runSync(Ref.get(reg.entries));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Bridge fast-check's Promise-based `fc.assert` into the Effect error
|
|
53
|
+
* channel. Every tier module uses this wrapper — no direct `await
|
|
54
|
+
* fc.assert(...)` at call sites.
|
|
55
|
+
*/
|
|
56
|
+
export function assertProperty(category, name, body) {
|
|
57
|
+
return Effect.tryPromise({
|
|
58
|
+
try: body,
|
|
59
|
+
catch: (cause) => new PropertyAssertionFailure({ category, name, cause }),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/testing/conformance/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAuB3C,qEAAqE;AACrE,MAAM,OAAO,wBAAyB,SAAQ,IAAI,CAAC,WAAW,CAC5D,qCAAqC,CAKrC;CAAG;AAEL,wEAAwE;AACxE,MAAM,OAAO,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CACvD,gCAAgC,CAKhC;CAAG;AAEL,0EAA0E;AAC1E,MAAM,OAAO,gBAAiB,SAAQ,IAAI,CAAC,WAAW,CACpD,6BAA6B,CAK7B;CAAG;AAEL,0DAA0D;AAC1D,MAAM,OAAO,0BAA2B,SAAQ,IAAI,CAAC,WAAW,CAC9D,uCAAuC,CAKvC;CAAG;AAwBL,MAAM,UAAU,GAAG,IAAI,OAAO,EAAqC,CAAC;AAEpE,SAAS,cAAc,CAAC,GAAoB;IAC1C,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAoC,EAAE,CAAC,CAAC;SACzE,CAAC;QACF,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAoB,EACpB,QAA0B,EAC1B,IAAY,EACZ,WAAmB,EACnB,GAAgB;IAEhB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,OAAO,CACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/B,GAAG,GAAG;QACN,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;KACrC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,GAAoB;IAEpB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,QAA0B,EAC1B,IAAY,EACZ,IAAyB;IAEzB,OAAO,MAAM,CAAC,UAAU,CAAC;QACvB,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC1E,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ConformanceRunContext } from "./runner.js";
|
|
2
|
+
/**
|
|
3
|
+
* Model-equivalence — conditional oracle over the model-derived
|
|
4
|
+
* confident set (architect #195 §4.1 + #197 §2).
|
|
5
|
+
*
|
|
6
|
+
* Spec §5 B1: the server must produce what the model predicts when
|
|
7
|
+
* the model is confident. `arbitraryConfidentCall()` draws calls via
|
|
8
|
+
* the architect-literal shape `fc.constantFrom(...kept).chain(
|
|
9
|
+
* arbitraryCallFor)` — probe and execution share the same generator
|
|
10
|
+
* so confidence is checked on the same distribution the property
|
|
11
|
+
* exercises (round-8 finding: a `.map(m => ({method: m, params: {}}))`
|
|
12
|
+
* shortcut narrowed execution below the probe and hid real
|
|
13
|
+
* param-dependent divergences).
|
|
14
|
+
*
|
|
15
|
+
* Param-invariance safety net (#197 §2.2 + §6.1): if a drawn call
|
|
16
|
+
* comes back `_tag: "error"` from the model, the single-probe
|
|
17
|
+
* derivation has diverged from runtime truth (applyCall became
|
|
18
|
+
* param-sensitive for that method under a later draw). The property
|
|
19
|
+
* raises `PropertyInvariantViolation` instead of silently short-
|
|
20
|
+
* circuiting; the fix is to widen the derivation (probe with K > 1
|
|
21
|
+
* samples), not extend this property.
|
|
22
|
+
*
|
|
23
|
+
* Current K = 1 (agents/list only). Architect #197 §2.3 notes that
|
|
24
|
+
* "when K ≤ 2, the property is operating as a small number of hand-
|
|
25
|
+
* picked examples; document it in JSDoc, don't pretend it's a fuzz
|
|
26
|
+
* property." Widening K requires either teaching `applyCall` per-
|
|
27
|
+
* method param filters (e.g. `conversations/list` confident only
|
|
28
|
+
* when cursor is undefined/valid) or fixing server-side parsers that
|
|
29
|
+
* error on pathological schema-valid params (e.g. `cursor: " "` →
|
|
30
|
+
* SqlError on pglite cursor parsing). Tracked under #186.
|
|
31
|
+
*
|
|
32
|
+
* numRuns floor: `max(10, 2K)` = 10 today.
|
|
33
|
+
*/
|
|
34
|
+
export declare function registerModelEquivalence(ctx: ConformanceRunContext): void;
|
|
35
|
+
/**
|
|
36
|
+
* Authorized caller → typed success on at least one known-safe RPC.
|
|
37
|
+
* Registers a fresh agent, completes the handshake, calls
|
|
38
|
+
* `conversations/list` (empty-collection result is defined for every
|
|
39
|
+
* newly-registered agent), asserts a Right outcome.
|
|
40
|
+
*/
|
|
41
|
+
export declare function registerAuthorityPositive(ctx: ConformanceRunContext): void;
|
|
42
|
+
/**
|
|
43
|
+
* Unauthenticated caller → typed denial on an auth-gated RPC. Opens a
|
|
44
|
+
* TestClient with `autoConnect: false` and calls `conversations/list`
|
|
45
|
+
* without first completing `auth/connect`; asserts the server replies
|
|
46
|
+
* with a typed error (not a success, not a crash).
|
|
47
|
+
*/
|
|
48
|
+
export declare function registerAuthorityNegative(ctx: ConformanceRunContext): void;
|
|
49
|
+
/**
|
|
50
|
+
* Request-IDs are unique per inbound response. Sends N RPCs and asserts
|
|
51
|
+
* every id in the captured response stream appears exactly once.
|
|
52
|
+
*/
|
|
53
|
+
export declare function registerRequestIdUniqueness(ctx: ConformanceRunContext): void;
|
|
54
|
+
/**
|
|
55
|
+
* Idempotent RPCs yield equivalent responses on replay. For every
|
|
56
|
+
* list-shaped method where empty params are valid and `isIdempotent`
|
|
57
|
+
* says replay is safe, sends the same params twice and asserts both
|
|
58
|
+
* succeed with **identical results** (not just identical tags).
|
|
59
|
+
*
|
|
60
|
+
* Architect §4.4: removed `.pipe(Effect.orElseSucceed(["skip","skip"]))`
|
|
61
|
+
* masking. Transport failures now surface as `PropertyUnavailable` so
|
|
62
|
+
* the runner reports them explicitly instead of folding them into a
|
|
63
|
+
* silent pass. Predicate compares response bodies via canonical JSON
|
|
64
|
+
* — spec B5 says "identical results", not "identical outcome kinds".
|
|
65
|
+
*/
|
|
66
|
+
export declare function registerIdempotence(ctx: ConformanceRunContext): void;
|
|
67
|
+
//# sourceMappingURL=rpc-semantics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-semantics.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/rpc-semantics.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAYzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAqDzE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAoD1E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAkG1E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAmF5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAwGpE"}
|