@moltzap/protocol 2026.501.2 → 2026.501.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.
- package/dist/testing/conformance/_helpers.d.ts +17 -0
- package/dist/testing/conformance/_helpers.d.ts.map +1 -0
- package/dist/testing/conformance/_helpers.js +12 -0
- package/dist/testing/conformance/_helpers.js.map +1 -0
- package/dist/testing/conformance/boundary.d.ts +34 -0
- package/dist/testing/conformance/boundary.d.ts.map +1 -1
- package/dist/testing/conformance/boundary.js +198 -6
- package/dist/testing/conformance/boundary.js.map +1 -1
- package/dist/testing/conformance/client/delivery.d.ts +6 -0
- package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
- package/dist/testing/conformance/client/delivery.js +44 -0
- package/dist/testing/conformance/client/delivery.js.map +1 -1
- package/dist/testing/conformance/client/index.d.ts +1 -1
- 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/suite.d.ts +1 -1
- package/dist/testing/conformance/client/suite.d.ts.map +1 -1
- package/dist/testing/conformance/client/suite.js +3 -2
- package/dist/testing/conformance/client/suite.js.map +1 -1
- package/dist/testing/conformance/delivery.d.ts +43 -0
- package/dist/testing/conformance/delivery.d.ts.map +1 -1
- package/dist/testing/conformance/delivery.js +244 -7
- package/dist/testing/conformance/delivery.js.map +1 -1
- package/dist/testing/conformance/rpc-semantics.d.ts +29 -0
- package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -1
- package/dist/testing/conformance/rpc-semantics.js +97 -1
- package/dist/testing/conformance/rpc-semantics.js.map +1 -1
- package/dist/testing/conformance/schema-conformance.d.ts +37 -0
- package/dist/testing/conformance/schema-conformance.d.ts.map +1 -1
- package/dist/testing/conformance/schema-conformance.js +198 -1
- package/dist/testing/conformance/schema-conformance.js.map +1 -1
- package/dist/testing/conformance/suite.d.ts.map +1 -1
- package/dist/testing/conformance/suite.js +58 -0
- package/dist/testing/conformance/suite.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conformance-suite shared helpers — small utilities used by multiple
|
|
3
|
+
* property modules. Keep this file thin; promote utilities here only
|
|
4
|
+
* when they would otherwise be duplicated verbatim.
|
|
5
|
+
*/
|
|
6
|
+
import type { Effect } from "effect";
|
|
7
|
+
import type { TestClient } from "../test-client.js";
|
|
8
|
+
import type { FrameSchemaError, RpcResponseError, RpcTimeoutError, TransportClosedError, TransportIoError } from "../errors.js";
|
|
9
|
+
/**
|
|
10
|
+
* `apps/register` is server-handled but absent from the typed
|
|
11
|
+
* `rpcMethods` registry (see `packages/protocol/src/rpc-registry.ts`);
|
|
12
|
+
* app-sdk and `34-rpc-additions.integration.test.ts:48` use the same
|
|
13
|
+
* untyped-cast path. Adding the verb to the registry is an accretive
|
|
14
|
+
* change outside this sub-issue's scope; this helper localizes the cast.
|
|
15
|
+
*/
|
|
16
|
+
export declare function sendUntypedRpc(client: TestClient, method: string, params: unknown): Effect.Effect<unknown, RpcResponseError | RpcTimeoutError | TransportClosedError | TransportIoError | FrameSchemaError>;
|
|
17
|
+
//# sourceMappingURL=_helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_helpers.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/_helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,CACd,OAAO,EACL,gBAAgB,GAChB,eAAe,GACf,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,CACnB,CAGA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `apps/register` is server-handled but absent from the typed
|
|
3
|
+
* `rpcMethods` registry (see `packages/protocol/src/rpc-registry.ts`);
|
|
4
|
+
* app-sdk and `34-rpc-additions.integration.test.ts:48` use the same
|
|
5
|
+
* untyped-cast path. Adding the verb to the registry is an accretive
|
|
6
|
+
* change outside this sub-issue's scope; this helper localizes the cast.
|
|
7
|
+
*/
|
|
8
|
+
export function sendUntypedRpc(client, method, params) {
|
|
9
|
+
// #ignore-sloppy-code-next-line[as-unknown-as]: localized cast — `apps/register` is server-handled but absent from the typed `rpcMethods` registry; mirrors app-sdk and `34-rpc-additions.integration.test.ts:48`
|
|
10
|
+
return client.sendRpc(method, params);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=_helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/testing/conformance/_helpers.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAkB,EAClB,MAAc,EACd,MAAe;IASf,kNAAkN;IAClN,OAAQ,MAAM,CAAC,OAAqC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -11,4 +11,38 @@ import type { ConformanceRunContext } from "./runner.js";
|
|
|
11
11
|
* so artifacts are actionable.
|
|
12
12
|
*/
|
|
13
13
|
export declare function registerSchemaExhaustiveFuzz(ctx: ConformanceRunContext): void;
|
|
14
|
+
/**
|
|
15
|
+
* App-disconnect fail-policy — replacement for the deleted webhook
|
|
16
|
+
* graceful-shutdown probe (architect plan §8.3).
|
|
17
|
+
*
|
|
18
|
+
* Architect contract:
|
|
19
|
+
* - When an app's WS severs while admission RPCs are in flight, the
|
|
20
|
+
* server's pending Deferreds fail with a typed close.
|
|
21
|
+
* - AppHost applies fail-CLOSED verdicts: `before_dispatch` →
|
|
22
|
+
* `decision: "deny"`; `before_message_delivery` → `block: true`.
|
|
23
|
+
* - The per-connection s2c pending map drains; no Deferred leaks past
|
|
24
|
+
* the connection's Scope.
|
|
25
|
+
*
|
|
26
|
+
* Conformance reach: the fail-closed verdicts are observable through the
|
|
27
|
+
* SENDER's `messages/send` / dispatch RPC return — when no app is wired
|
|
28
|
+
* to admit, dispatch proceeds (no admission gate); when an app IS wired
|
|
29
|
+
* and severs mid-flight, dispatch sees the deny verdict.
|
|
30
|
+
*
|
|
31
|
+
* Wiring an app over WS requires `apps/create` (server-internal: agent
|
|
32
|
+
* owner_user_id must be set, see `app-host.ts:629`). The conformance
|
|
33
|
+
* suite registers agents via the public `/api/v1/auth/register` endpoint,
|
|
34
|
+
* which sets owner_user_id to `config.devModeUserId ?? null`; the
|
|
35
|
+
* default `startCoreTestServer` does not bind a `devModeUserId`. When
|
|
36
|
+
* the prerequisite is absent, this property reports
|
|
37
|
+
* `PropertyUnavailable` with the precise reason — the assertions
|
|
38
|
+
* themselves are exercised at the integration tier (B.9 / sub-issue
|
|
39
|
+
* #318) where DB access fills the gap.
|
|
40
|
+
*
|
|
41
|
+
* This shape mirrors `adversity.registerLatencyResilience` /
|
|
42
|
+
* `adversity.registerSlicerFraming`, which report `PropertyUnavailable`
|
|
43
|
+
* when Toxiproxy is not provisioned. The conformance contract (the
|
|
44
|
+
* architect plan §8.3 acceptance) is encoded by the registered property;
|
|
45
|
+
* runnability is gated on the consumer's fixture capabilities.
|
|
46
|
+
*/
|
|
47
|
+
export declare function registerAppDisconnectFailPolicy(ctx: ConformanceRunContext): void;
|
|
14
48
|
//# sourceMappingURL=boundary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/boundary.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/boundary.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAwBzD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CA+E7E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAoNN"}
|
|
@@ -3,16 +3,26 @@
|
|
|
3
3
|
* Historical grouping note: spec #181 §5 calls this "Tier E". Code uses
|
|
4
4
|
* semantic names only.
|
|
5
5
|
*
|
|
6
|
-
* The s2c-RPC fail-on-app-disconnect invariant
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* The s2c-RPC fail-on-app-disconnect invariant — replacing the deleted
|
|
7
|
+
* `webhook-graceful-shutdown` probe under B.1's awaitable RPC transport
|
|
8
|
+
* — is registered as `app-disconnect-fail-policy` below.
|
|
9
9
|
*/
|
|
10
10
|
import * as fc from "fast-check";
|
|
11
|
-
import { Effect } from "effect";
|
|
11
|
+
import { Duration, Effect, Exit, Scope } from "effect";
|
|
12
12
|
import { allRpcMethods, arbitraryCallFor } from "../arbitraries/rpc.js";
|
|
13
13
|
import { makeTestClient } from "../test-client.js";
|
|
14
14
|
import { registerTestAgent } from "../agent-registration.js";
|
|
15
|
-
import {
|
|
15
|
+
import { Data } from "effect";
|
|
16
|
+
import { PropertyDeferred, PropertyInvariantViolation, PropertyUnavailable, registerProperty, } from "./registry.js";
|
|
17
|
+
import { sendUntypedRpc } from "./_helpers.js";
|
|
18
|
+
/**
|
|
19
|
+
* Tagged sentinel for "the dispatch RPC did not reply within the
|
|
20
|
+
* property's bound." Distinct from any wire-level RpcResponseError so
|
|
21
|
+
* the property body's Right/Left discrimination cannot mistake a typed
|
|
22
|
+
* fail-closed verdict for a hang.
|
|
23
|
+
*/
|
|
24
|
+
class DispatchHungError extends Data.TaggedError("ConformanceDispatchHungError") {
|
|
25
|
+
}
|
|
16
26
|
const CATEGORY = "boundary";
|
|
17
27
|
const DEFAULT_TIMEOUT_MS = 3000;
|
|
18
28
|
const DEFAULT_CAPTURE_CAPACITY = 32;
|
|
@@ -84,6 +94,188 @@ export function registerSchemaExhaustiveFuzz(ctx) {
|
|
|
84
94
|
}
|
|
85
95
|
}
|
|
86
96
|
})));
|
|
87
|
-
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* App-disconnect fail-policy — replacement for the deleted webhook
|
|
100
|
+
* graceful-shutdown probe (architect plan §8.3).
|
|
101
|
+
*
|
|
102
|
+
* Architect contract:
|
|
103
|
+
* - When an app's WS severs while admission RPCs are in flight, the
|
|
104
|
+
* server's pending Deferreds fail with a typed close.
|
|
105
|
+
* - AppHost applies fail-CLOSED verdicts: `before_dispatch` →
|
|
106
|
+
* `decision: "deny"`; `before_message_delivery` → `block: true`.
|
|
107
|
+
* - The per-connection s2c pending map drains; no Deferred leaks past
|
|
108
|
+
* the connection's Scope.
|
|
109
|
+
*
|
|
110
|
+
* Conformance reach: the fail-closed verdicts are observable through the
|
|
111
|
+
* SENDER's `messages/send` / dispatch RPC return — when no app is wired
|
|
112
|
+
* to admit, dispatch proceeds (no admission gate); when an app IS wired
|
|
113
|
+
* and severs mid-flight, dispatch sees the deny verdict.
|
|
114
|
+
*
|
|
115
|
+
* Wiring an app over WS requires `apps/create` (server-internal: agent
|
|
116
|
+
* owner_user_id must be set, see `app-host.ts:629`). The conformance
|
|
117
|
+
* suite registers agents via the public `/api/v1/auth/register` endpoint,
|
|
118
|
+
* which sets owner_user_id to `config.devModeUserId ?? null`; the
|
|
119
|
+
* default `startCoreTestServer` does not bind a `devModeUserId`. When
|
|
120
|
+
* the prerequisite is absent, this property reports
|
|
121
|
+
* `PropertyUnavailable` with the precise reason — the assertions
|
|
122
|
+
* themselves are exercised at the integration tier (B.9 / sub-issue
|
|
123
|
+
* #318) where DB access fills the gap.
|
|
124
|
+
*
|
|
125
|
+
* This shape mirrors `adversity.registerLatencyResilience` /
|
|
126
|
+
* `adversity.registerSlicerFraming`, which report `PropertyUnavailable`
|
|
127
|
+
* when Toxiproxy is not provisioned. The conformance contract (the
|
|
128
|
+
* architect plan §8.3 acceptance) is encoded by the registered property;
|
|
129
|
+
* runnability is gated on the consumer's fixture capabilities.
|
|
130
|
+
*/
|
|
131
|
+
export function registerAppDisconnectFailPolicy(ctx) {
|
|
132
|
+
registerProperty(ctx, CATEGORY, "app-disconnect-fail-policy", "app WS sever ⇒ pending s2c Deferreds fail-closed; no leaks", Effect.scoped(Effect.gen(function* () {
|
|
133
|
+
// Step 1: register the app-side agent (will host admission
|
|
134
|
+
// handlers via apps/register).
|
|
135
|
+
const appAgent = yield* registerTestAgent({
|
|
136
|
+
baseUrl: ctx.realServer.baseUrl,
|
|
137
|
+
name: "adfp-app",
|
|
138
|
+
}).pipe(Effect.mapError((e) => new PropertyUnavailable({
|
|
139
|
+
category: CATEGORY,
|
|
140
|
+
name: "app-disconnect-fail-policy",
|
|
141
|
+
reason: `app agent register: ${e.body}`,
|
|
142
|
+
})));
|
|
143
|
+
// Step 2: open an app TestClient inside an INNER scope so the
|
|
144
|
+
// property body can sever it without tearing down the outer
|
|
145
|
+
// scope.
|
|
146
|
+
const appScope = yield* Scope.make();
|
|
147
|
+
const appClient = yield* Scope.extend(makeTestClient({
|
|
148
|
+
serverUrl: ctx.realServer.wsUrl,
|
|
149
|
+
agentKey: appAgent.apiKey,
|
|
150
|
+
agentId: appAgent.agentId,
|
|
151
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
152
|
+
captureCapacity: DEFAULT_CAPTURE_CAPACITY,
|
|
153
|
+
}), appScope).pipe(Effect.mapError((e) => new PropertyUnavailable({
|
|
154
|
+
category: CATEGORY,
|
|
155
|
+
name: "app-disconnect-fail-policy",
|
|
156
|
+
reason: `app client acquire: ${String(e)}`,
|
|
157
|
+
})));
|
|
158
|
+
// Step 3: register a manifest. apps/register is owner-agnostic
|
|
159
|
+
// (see apps.handlers.ts:25-41) — succeeds even when the agent's
|
|
160
|
+
// owner_user_id is null.
|
|
161
|
+
const appId = `adfp-${Date.now().toString(36)}`;
|
|
162
|
+
// `apps/register` is server-handled but absent from the typed
|
|
163
|
+
// `rpcMethods` registry today (see `rpc-registry.ts:60-118`);
|
|
164
|
+
// app-sdk and `34-rpc-additions.integration.test.ts:48` use the
|
|
165
|
+
// same untyped-cast path. Adding it to the registry is an
|
|
166
|
+
// accretive change outside this sub-issue's scope.
|
|
167
|
+
const registerOutcome = yield* sendUntypedRpc(appClient, "apps/register", {
|
|
168
|
+
manifest: {
|
|
169
|
+
appId,
|
|
170
|
+
name: `Disconnect-fail app ${appId}`,
|
|
171
|
+
permissions: { required: [], optional: [] },
|
|
172
|
+
conversations: [
|
|
173
|
+
{ key: "main", name: "Main", participantFilter: "all" },
|
|
174
|
+
],
|
|
175
|
+
hooks: {
|
|
176
|
+
before_dispatch: { timeout_ms: 5000 },
|
|
177
|
+
before_message_delivery: { timeout_ms: 5000 },
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
}).pipe(Effect.either);
|
|
181
|
+
if (registerOutcome._tag === "Left") {
|
|
182
|
+
yield* Scope.close(appScope, Exit.void);
|
|
183
|
+
return yield* Effect.fail(new PropertyUnavailable({
|
|
184
|
+
category: CATEGORY,
|
|
185
|
+
name: "app-disconnect-fail-policy",
|
|
186
|
+
reason: `apps/register failed: ${registerOutcome.left._tag}`,
|
|
187
|
+
}));
|
|
188
|
+
}
|
|
189
|
+
// Step 4: register an admission handler that NEVER replies, so
|
|
190
|
+
// the server-side Deferred is parked. The sever in step 6 is the
|
|
191
|
+
// event the property exercises.
|
|
192
|
+
yield* appClient.handleServerRpc("apps/onBeforeDispatch", () => Effect.never);
|
|
193
|
+
yield* appClient.handleServerRpc("apps/onBeforeMessageDelivery", () => Effect.never);
|
|
194
|
+
// Step 5: register a sender agent and attempt to create an app
|
|
195
|
+
// session that this agent initiates. apps/create requires the
|
|
196
|
+
// initiator's owner_user_id to be non-null (app-host.ts:629);
|
|
197
|
+
// the default conformance fixture sets it to null. When the
|
|
198
|
+
// prerequisite is absent, report unavailable — B.9 exercises the
|
|
199
|
+
// full path with DB-level owner_user_id seeding.
|
|
200
|
+
const sender = yield* registerTestAgent({
|
|
201
|
+
baseUrl: ctx.realServer.baseUrl,
|
|
202
|
+
name: "adfp-sender",
|
|
203
|
+
}).pipe(Effect.mapError((e) => new PropertyUnavailable({
|
|
204
|
+
category: CATEGORY,
|
|
205
|
+
name: "app-disconnect-fail-policy",
|
|
206
|
+
reason: `sender register: ${e.body}`,
|
|
207
|
+
})));
|
|
208
|
+
const senderClient = yield* makeTestClient({
|
|
209
|
+
serverUrl: ctx.realServer.wsUrl,
|
|
210
|
+
agentKey: sender.apiKey,
|
|
211
|
+
agentId: sender.agentId,
|
|
212
|
+
defaultTimeoutMs: DEFAULT_TIMEOUT_MS,
|
|
213
|
+
captureCapacity: DEFAULT_CAPTURE_CAPACITY,
|
|
214
|
+
}).pipe(Effect.mapError((e) => new PropertyUnavailable({
|
|
215
|
+
category: CATEGORY,
|
|
216
|
+
name: "app-disconnect-fail-policy",
|
|
217
|
+
reason: `sender client acquire: ${String(e)}`,
|
|
218
|
+
})));
|
|
219
|
+
const sessionOutcome = yield* senderClient
|
|
220
|
+
.sendRpc("apps/create", { appId, invitedAgentIds: [] })
|
|
221
|
+
.pipe(Effect.either);
|
|
222
|
+
if (sessionOutcome._tag === "Left") {
|
|
223
|
+
yield* Scope.close(appScope, Exit.void);
|
|
224
|
+
return yield* Effect.fail(new PropertyUnavailable({
|
|
225
|
+
category: CATEGORY,
|
|
226
|
+
name: "app-disconnect-fail-policy",
|
|
227
|
+
reason: `apps/create failed (likely owner_user_id null on sender; B.9 covers via DB seeding): ${sessionOutcome.left._tag}`,
|
|
228
|
+
}));
|
|
229
|
+
}
|
|
230
|
+
// Step 6: sever the app's WS. Closing the inner scope closes the
|
|
231
|
+
// socket; the server's connection-scope finalizer runs through
|
|
232
|
+
// sendRpcToClient's Deferred-cleanup path (issue #310).
|
|
233
|
+
yield* Scope.close(appScope, Exit.void);
|
|
234
|
+
// Step 7: trigger an admission round-trip on the sender side
|
|
235
|
+
// through the session's main conversation. Codex review (#327,
|
|
236
|
+
// finding 2): a fixed zero-UUID conversation short-circuits
|
|
237
|
+
// grant in `AppHost.runBeforeDispatch`, so the property would
|
|
238
|
+
// pass even if fail-closed-on-disconnect was broken; route
|
|
239
|
+
// through the session's actual conversation so AppHost reaches
|
|
240
|
+
// the (now severed) admission path.
|
|
241
|
+
// `apps/create` result: `{ session: { conversations: { [key]: convId } } }`
|
|
242
|
+
// — a Record map, not an array. Pull the first id deterministically.
|
|
243
|
+
const session = sessionOutcome.right.session;
|
|
244
|
+
const sessionConvId = Object.values(session.conversations)[0];
|
|
245
|
+
if (typeof sessionConvId !== "string" || sessionConvId.length === 0) {
|
|
246
|
+
return yield* Effect.fail(new PropertyDeferred({
|
|
247
|
+
category: CATEGORY,
|
|
248
|
+
name: "app-disconnect-fail-policy",
|
|
249
|
+
followUp: "apps/create response did not surface a session conversation id; B.9 (#318) covers via DB-seeded fixture",
|
|
250
|
+
}));
|
|
251
|
+
}
|
|
252
|
+
// Codex review (#327, finding 3): use timeoutFail with a tagged
|
|
253
|
+
// sentinel. Effect.timeout returns Option, and either-wrapping
|
|
254
|
+
// surfaces the fiber's TimeoutException, so the previous shape
|
|
255
|
+
// could not distinguish "client RPC timeout" (typed fail-closed)
|
|
256
|
+
// from "wall-clock hang" (Deferred leak). The sentinel error
|
|
257
|
+
// class makes the leak observable in the Left branch.
|
|
258
|
+
const dispatchStarted = Date.now();
|
|
259
|
+
const dispatchOutcome = yield* senderClient
|
|
260
|
+
.sendRpc("apps/authorizeDispatch", {
|
|
261
|
+
conversationId: sessionConvId,
|
|
262
|
+
messageId: `00000000-0000-0000-0000-000000000001`,
|
|
263
|
+
senderAgentId: sender.agentId,
|
|
264
|
+
})
|
|
265
|
+
.pipe(Effect.timeoutFail({
|
|
266
|
+
duration: Duration.millis(DEFAULT_TIMEOUT_MS),
|
|
267
|
+
onTimeout: () => new DispatchHungError({
|
|
268
|
+
elapsedMs: Date.now() - dispatchStarted,
|
|
269
|
+
}),
|
|
270
|
+
}), Effect.either);
|
|
271
|
+
if (dispatchOutcome._tag === "Left" &&
|
|
272
|
+
dispatchOutcome.left instanceof DispatchHungError) {
|
|
273
|
+
return yield* Effect.fail(new PropertyInvariantViolation({
|
|
274
|
+
category: CATEGORY,
|
|
275
|
+
name: "app-disconnect-fail-policy",
|
|
276
|
+
reason: `dispatch hung ${dispatchOutcome.left.elapsedMs}ms after app sever — Deferred leak suspected`,
|
|
277
|
+
}));
|
|
278
|
+
}
|
|
279
|
+
})));
|
|
88
280
|
}
|
|
89
281
|
//# sourceMappingURL=boundary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../../src/testing/conformance/boundary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../../src/testing/conformance/boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,4 +35,10 @@ export declare function registerPayloadOpacityClient(ctx: ClientConformanceRunCo
|
|
|
35
35
|
* Predicate: `observedCampaignB.length === 0`.
|
|
36
36
|
*/
|
|
37
37
|
export declare function registerTaskBoundaryIsolationClient(ctx: ClientConformanceRunContext): void;
|
|
38
|
+
/**
|
|
39
|
+
* Archive lifecycle client — TestServer emits archive then unarchive
|
|
40
|
+
* lifecycle events. The real client subscriber must surface both in
|
|
41
|
+
* emission order.
|
|
42
|
+
*/
|
|
43
|
+
export declare function registerArchiveLifecycleClient(ctx: ClientConformanceRunContext): void;
|
|
38
44
|
//# sourceMappingURL=delivery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/delivery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/delivery.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAY/D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAsEN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAsDN;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAiHN;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CA4DN"}
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import { Effect } from "effect";
|
|
22
22
|
import * as fc from "fast-check";
|
|
23
|
+
import { eventFrame } from "../../../helpers.js";
|
|
24
|
+
import { EventNames } from "../../../schema/events.js";
|
|
23
25
|
import { arbitraryEventFrame } from "../../arbitraries/frames.js";
|
|
24
26
|
import { registerProperty } from "../registry.js";
|
|
25
27
|
import { acquireFixture, collectTagged, invariant, subscribeAll, } from "./_fixtures.js";
|
|
@@ -199,4 +201,46 @@ export function registerTaskBoundaryIsolationClient(ctx) {
|
|
|
199
201
|
}
|
|
200
202
|
})));
|
|
201
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Archive lifecycle client — TestServer emits archive then unarchive
|
|
206
|
+
* lifecycle events. The real client subscriber must surface both in
|
|
207
|
+
* emission order.
|
|
208
|
+
*/
|
|
209
|
+
export function registerArchiveLifecycleClient(ctx) {
|
|
210
|
+
const name = "archive-lifecycle-client";
|
|
211
|
+
registerProperty(ctx, CATEGORY, name, "archive/unarchive lifecycle events surface on the real client in order", Effect.scoped(Effect.gen(function* () {
|
|
212
|
+
const fx = yield* acquireFixture(ctx, CATEGORY, name);
|
|
213
|
+
yield* subscribeAll(fx.handle);
|
|
214
|
+
const conversationId = "00000000-0000-4000-8000-000000000001";
|
|
215
|
+
const tag = yield* fx.window.freshEmissionTag;
|
|
216
|
+
yield* fx.window.emitTaggedEvent({
|
|
217
|
+
connection: fx.connection,
|
|
218
|
+
base: eventFrame(EventNames.ConversationArchived, {
|
|
219
|
+
conversationId,
|
|
220
|
+
archivedAt: new Date(0).toISOString(),
|
|
221
|
+
by: fx.handle.agentId,
|
|
222
|
+
}),
|
|
223
|
+
emissionTag: tag,
|
|
224
|
+
});
|
|
225
|
+
yield* fx.window.emitTaggedEvent({
|
|
226
|
+
connection: fx.connection,
|
|
227
|
+
base: eventFrame(EventNames.ConversationUnarchived, {
|
|
228
|
+
conversationId,
|
|
229
|
+
by: fx.handle.agentId,
|
|
230
|
+
}),
|
|
231
|
+
emissionTag: tag,
|
|
232
|
+
});
|
|
233
|
+
const observed = yield* collectTagged(fx.handle, (t) => t === tag, {
|
|
234
|
+
expected: 2,
|
|
235
|
+
budgetMs: PROPERTY_BUDGET_MS,
|
|
236
|
+
});
|
|
237
|
+
if (observed.length !== 2) {
|
|
238
|
+
return yield* Effect.fail(invariant(CATEGORY, name, `expected 2 lifecycle observations, got ${observed.length}`));
|
|
239
|
+
}
|
|
240
|
+
if (observed[0]?.eventName !== EventNames.ConversationArchived ||
|
|
241
|
+
observed[1]?.eventName !== EventNames.ConversationUnarchived) {
|
|
242
|
+
return yield* Effect.fail(invariant(CATEGORY, name, `lifecycle order mismatch: ${observed.map((o) => o.eventName).join(",")}`));
|
|
243
|
+
}
|
|
244
|
+
})));
|
|
245
|
+
}
|
|
202
246
|
//# sourceMappingURL=delivery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export { type ClientConformanceRunContext, type ClientConformanceRunOptions, typ
|
|
|
10
10
|
export { type ClientConformanceSuiteOptions, type JointConformanceSuiteOptions, registerAllClientProperties, runClientConformanceSuite, } from "./suite.js";
|
|
11
11
|
export { registerEventWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
|
|
12
12
|
export { registerModelEquivalenceClient, registerRequestIdUniquenessClient, } from "./rpc-semantics.js";
|
|
13
|
-
export { registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
|
|
13
|
+
export { registerArchiveLifecycleClient, registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
|
|
14
14
|
export { registerLatencyResilienceClient, registerResetPeerRecoveryClient, registerSlicerFramingClient, registerSlowCloseCleanupClient, registerTimeoutSurfaceClient, } from "./adversity.js";
|
|
15
15
|
export { registerSchemaExhaustiveFuzzClient } from "./boundary.js";
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -10,7 +10,7 @@ export { ClientHandshakeWindow, RealClientLifecycleError, RealClientRpcError, ac
|
|
|
10
10
|
export { registerAllClientProperties, runClientConformanceSuite, } from "./suite.js";
|
|
11
11
|
export { registerEventWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
|
|
12
12
|
export { registerModelEquivalenceClient, registerRequestIdUniquenessClient, } from "./rpc-semantics.js";
|
|
13
|
-
export { registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
|
|
13
|
+
export { registerArchiveLifecycleClient, registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
|
|
14
14
|
export { registerLatencyResilienceClient, registerResetPeerRecoveryClient, registerSlicerFramingClient, registerSlowCloseCleanupClient, registerTimeoutSurfaceClient, } from "./adversity.js";
|
|
15
15
|
export { registerSchemaExhaustiveFuzzClient } from "./boundary.js";
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAUL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAUL,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -55,7 +55,7 @@ export interface ClientConformanceSuiteOptions {
|
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Register every client-side property (A2, A4, B1, B4, C1, C3, C4, D1,
|
|
58
|
-
* D3, D4, D5, D6, E2
|
|
58
|
+
* D3, D4, D5, D6, E2 plus archive lifecycle — 14 total) against
|
|
59
59
|
* `ctx`. Property files in `conformance/client/*.ts` each export one
|
|
60
60
|
* `registerXxxClient` per spec-amendment registrar; this helper is the
|
|
61
61
|
* single call site.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAgB,MAAM,EAAgB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIxE,OAAO,KAAK,EACV,2BAA2B,EAE3B,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAgB,MAAM,EAAgB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIxE,OAAO,KAAK,EACV,2BAA2B,EAE3B,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA6B/C;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;QAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7E;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAeN;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,6BAA6B,GAClC,MAAM,CAAC,MAAM,CACd,WAAW,EACX,iBAAiB,GAAG,sBAAsB,GAAG,wBAAwB,CACtE,CA6BA;AA6KD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,6BAA6B,CAAC,YAAY,CAAC,SAAS,KAAK,GAC3E,KAAK,GACL,OAAO,CAAC;IACZ,QAAQ,CAAC,UAAU,CAAC,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC"}
|
|
@@ -29,12 +29,12 @@ import { conformanceArtifactDirFromEnv } from "../env.js";
|
|
|
29
29
|
import { isAllowedCoverageGap, } from "../coverage-policy.js";
|
|
30
30
|
import { registerEventWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
|
|
31
31
|
import { registerModelEquivalenceClient, registerRequestIdUniquenessClient, } from "./rpc-semantics.js";
|
|
32
|
-
import { registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
|
|
32
|
+
import { registerArchiveLifecycleClient, registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
|
|
33
33
|
import { registerLatencyResilienceClient, registerResetPeerRecoveryClient, registerSlicerFramingClient, registerSlowCloseCleanupClient, registerTimeoutSurfaceClient, } from "./adversity.js";
|
|
34
34
|
import { registerSchemaExhaustiveFuzzClient } from "./boundary.js";
|
|
35
35
|
/**
|
|
36
36
|
* Register every client-side property (A2, A4, B1, B4, C1, C3, C4, D1,
|
|
37
|
-
* D3, D4, D5, D6, E2
|
|
37
|
+
* D3, D4, D5, D6, E2 plus archive lifecycle — 14 total) against
|
|
38
38
|
* `ctx`. Property files in `conformance/client/*.ts` each export one
|
|
39
39
|
* `registerXxxClient` per spec-amendment registrar; this helper is the
|
|
40
40
|
* single call site.
|
|
@@ -47,6 +47,7 @@ export function registerAllClientProperties(ctx) {
|
|
|
47
47
|
registerFanOutCardinalityClient(ctx);
|
|
48
48
|
registerPayloadOpacityClient(ctx);
|
|
49
49
|
registerTaskBoundaryIsolationClient(ctx);
|
|
50
|
+
registerArchiveLifecycleClient(ctx);
|
|
50
51
|
registerSchemaExhaustiveFuzzClient(ctx);
|
|
51
52
|
registerLatencyResilienceClient(ctx);
|
|
52
53
|
registerSlicerFramingClient(ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suite.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,EACL,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iCAAiC,EACjC,oCAAoC,GACrC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,eAAe,CAAC;AAgCnE;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAgC;IAEhC,iCAAiC,CAAC,GAAG,CAAC,CAAC;IACvC,oCAAoC,CAAC,GAAG,CAAC,CAAC;IAC1C,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACpC,iCAAiC,CAAC,GAAG,CAAC,CAAC;IACvC,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACrC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAClC,mCAAmC,CAAC,GAAG,CAAC,CAAC;IACzC,kCAAkC,CAAC,GAAG,CAAC,CAAC;IACxC,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACrC,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjC,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACrC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAClC,8BAA8B,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAmC;IAKnC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;IAC/C,MAAM,WAAW,GACf,IAAI,CAAC,WAAW;QAChB,6BAA6B,EAAE;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACvD,MAAM,KAAK,GACT,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,uBAAuB,CAAC;YACzC,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,YAAY,IAAI,SAAS;YACvC,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW;YACX,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAC,CAAC;QACH,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,CAAC,sBAAsB,CAClC,GAAG,EACH,WAAW,EACX,yBAAyB,CAAC,YAAY,CAAC,CACxC,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,YAA2B;IAE3B,MAAM,IAAI,GAAyB;QACjC;YACE,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,iCAAiC;YACrC,cAAc,EAAE,gCAAgC;SACjD;QACD;YACE,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,sCAAsC;YAC1C,cAAc,EAAE,8BAA8B;SAC/C;KACF,CAAC;IACF,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CACP;YACE,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,qCAAqC;YACzC,cAAc,EAAE,2BAA2B;SAC5C,EACD;YACE,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,iCAAiC;YACrC,cAAc,EAAE,2BAA2B;SAC5C,EACD;YACE,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,sCAAsC;YAC1C,cAAc,EAAE,2BAA2B;SAC5C,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,GAAgC,EAChC,WAAmB,EACnB,mBAAsD;IAEtD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAuC,EAAE,CAAC;QACxD,MAAM,WAAW,GAAuC,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAoC,EAAE,CAAC;QAEnD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACrE,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,6BAA6B;oBAChC,IACE,oBAAoB,CAClB,mBAAmB,EACnB,UAAU,EACV,EAAE,EACF,OAAO,CAAC,QAAQ,CACjB,EACD,CAAC;wBACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACtD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnC,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,gCAAgC;oBACnC,IACE,oBAAoB,CAClB,mBAAmB,EACnB,aAAa,EACb,EAAE,EACF,OAAO,CAAC,MAAM,CACf,EACD,CAAC;wBACD,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;wBACvD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnC,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,qCAAqC,CAAC;gBAC3C,KAAK,uCAAuC;oBAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACnC,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClE,MAAM;gBACR,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,WAAW,GAAU,OAAO,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,0BAA0B,MAAM,CAAC,WAAW,CAAC,EAAE;yBACzD;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAsC;IAEtC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,OAAwB;IAC/C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,qCAAqC;YACxC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,KAAK,uCAAuC,CAAC;QAC7C,KAAK,gCAAgC;YACnC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACvD,KAAK,6BAA6B;YAChC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3D,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,OAAO,CAAC;YACnC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,GAAW,EACX,QAA4B,EAC5B,IAAY,EACZ,OAAgC;IAEhC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CACpB,GAAG,EACH,UAAU,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,YAAY,CACzD,CAAC;IACF,aAAa,CACX,IAAI,EACJ,IAAI,CAAC,SAAS,CACZ;QACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI;QACJ,GAAG,OAAO;KACX,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"suite.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,49 @@ export declare function registerFanOutCardinality(ctx: ConformanceRunContext): v
|
|
|
35
35
|
export declare function registerStoreAndReplay(ctx: ConformanceRunContext): void;
|
|
36
36
|
/** Payload opacity — sent text appears byte-for-byte in delivered events. */
|
|
37
37
|
export declare function registerPayloadOpacity(ctx: ConformanceRunContext): void;
|
|
38
|
+
/**
|
|
39
|
+
* Hook-gated delivery — admission verbs are awaitable, the verdict
|
|
40
|
+
* mutates the recipient view, dynamically attached conversations enter
|
|
41
|
+
* the hook pipeline (mirrors `33-attach-conversation.integration.test.ts:312-369`).
|
|
42
|
+
*
|
|
43
|
+
* Architect plan §1.7 acceptance:
|
|
44
|
+
* - `before_message_delivery: { block: true }` drops the message before
|
|
45
|
+
* delivery (recipient does NOT observe it).
|
|
46
|
+
* - `block: false, patch: { parts: [...] }` lands a MUTATED message —
|
|
47
|
+
* recipient sees the patched parts, not the sender's parts.
|
|
48
|
+
* - `apps/attachConversation` adds a conversation to the session's
|
|
49
|
+
* hook pipeline; the same hook then fires for traffic on the new
|
|
50
|
+
* conversation.
|
|
51
|
+
*
|
|
52
|
+
* Conformance reach: the assertions are observable on the SENDER (deny
|
|
53
|
+
* → typed dispatch error) and RECIPIENT (patched parts in inbound
|
|
54
|
+
* event). Wiring the app session over WS requires `apps/create`, which
|
|
55
|
+
* needs the initiator's `owner_user_id` to be non-null — see the
|
|
56
|
+
* `app-disconnect-fail-policy` rationale in `boundary.ts`. When the
|
|
57
|
+
* fixture's agents are owner-less (default `startCoreTestServer`), the
|
|
58
|
+
* property reports `PropertyUnavailable` and B.9 carries the load.
|
|
59
|
+
*/
|
|
60
|
+
export declare function registerHookGatedDelivery(ctx: ConformanceRunContext): void;
|
|
61
|
+
/**
|
|
62
|
+
* Multi-app FIFO short-circuit — register two apps on the same hook,
|
|
63
|
+
* first denies, assert second handler is NOT invoked. Architect plan
|
|
64
|
+
* §3.4: `Effect.forEach(registeredApps, ...)` iterates in registration
|
|
65
|
+
* order; first-deny short-circuits the loop.
|
|
66
|
+
*
|
|
67
|
+
* Same fixture constraint as `hook-gated-delivery`: requires app session
|
|
68
|
+
* machinery. Reports `PropertyUnavailable` when prerequisites are
|
|
69
|
+
* absent.
|
|
70
|
+
*/
|
|
71
|
+
export declare function registerMultiAppFifoShortCircuit(ctx: ConformanceRunContext): void;
|
|
38
72
|
/** Task-boundary isolation — conversation A's events don't leak into B. */
|
|
39
73
|
export declare function registerTaskBoundaryIsolation(ctx: ConformanceRunContext): void;
|
|
74
|
+
/**
|
|
75
|
+
* Archive lifecycle — archival is observable and enforced:
|
|
76
|
+
* - conversations/archive broadcasts conversations/archived
|
|
77
|
+
* - messages/send to the archived conversation returns the typed
|
|
78
|
+
* ConversationArchived error
|
|
79
|
+
* - conversations/unarchive broadcasts conversations/unarchived
|
|
80
|
+
* - messages/send succeeds again after unarchive
|
|
81
|
+
*/
|
|
82
|
+
export declare function registerArchiveLifecycle(ctx: ConformanceRunContext): void;
|
|
40
83
|
//# sourceMappingURL=delivery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/delivery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../../src/testing/conformance/delivery.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAkPzD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAuD1E;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CA0DvE;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAgDvE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAmC1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAiCN;AA+GD,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAqDN;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CA6EzE"}
|