@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.
Files changed (253) hide show
  1. package/dist/brands.d.ts +11 -0
  2. package/dist/brands.d.ts.map +1 -0
  3. package/dist/brands.js +14 -0
  4. package/dist/brands.js.map +1 -0
  5. package/dist/helpers.d.ts +29 -26
  6. package/dist/helpers.d.ts.map +1 -1
  7. package/dist/helpers.js +34 -16
  8. package/dist/helpers.js.map +1 -1
  9. package/dist/index.d.ts +6 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +6 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/internal/ajv.d.ts +5 -0
  14. package/dist/internal/ajv.d.ts.map +1 -0
  15. package/dist/internal/ajv.js +22 -0
  16. package/dist/internal/ajv.js.map +1 -0
  17. package/dist/notification.d.ts +14 -0
  18. package/dist/notification.d.ts.map +1 -0
  19. package/dist/notification.js +11 -0
  20. package/dist/notification.js.map +1 -0
  21. package/dist/rpc-errors.d.ts +30 -0
  22. package/dist/rpc-errors.d.ts.map +1 -0
  23. package/dist/rpc-errors.js +23 -0
  24. package/dist/rpc-errors.js.map +1 -0
  25. package/dist/rpc-groups.d.ts +120 -0
  26. package/dist/rpc-groups.d.ts.map +1 -0
  27. package/dist/rpc-groups.js +131 -0
  28. package/dist/rpc-groups.js.map +1 -0
  29. package/dist/rpc-registry.d.ts +1238 -278
  30. package/dist/rpc-registry.d.ts.map +1 -1
  31. package/dist/rpc-registry.js +11 -22
  32. package/dist/rpc-registry.js.map +1 -1
  33. package/dist/rpc.d.ts +26 -5
  34. package/dist/rpc.d.ts.map +1 -1
  35. package/dist/rpc.js +21 -11
  36. package/dist/rpc.js.map +1 -1
  37. package/dist/schema/apps.d.ts +13 -23
  38. package/dist/schema/apps.d.ts.map +1 -1
  39. package/dist/schema/apps.js +2 -12
  40. package/dist/schema/apps.js.map +1 -1
  41. package/dist/schema/contacts.d.ts +6 -2
  42. package/dist/schema/contacts.d.ts.map +1 -1
  43. package/dist/schema/conversations.d.ts +15 -5
  44. package/dist/schema/conversations.d.ts.map +1 -1
  45. package/dist/schema/delivery.d.ts +9 -3
  46. package/dist/schema/delivery.d.ts.map +1 -1
  47. package/dist/schema/errors.d.ts +0 -4
  48. package/dist/schema/errors.d.ts.map +1 -1
  49. package/dist/schema/errors.js +0 -4
  50. package/dist/schema/errors.js.map +1 -1
  51. package/dist/schema/frames.d.ts +48 -51
  52. package/dist/schema/frames.d.ts.map +1 -1
  53. package/dist/schema/frames.js +28 -50
  54. package/dist/schema/frames.js.map +1 -1
  55. package/dist/schema/identity.d.ts +17 -9
  56. package/dist/schema/identity.d.ts.map +1 -1
  57. package/dist/schema/index.d.ts +3 -4
  58. package/dist/schema/index.d.ts.map +1 -1
  59. package/dist/schema/index.js +3 -4
  60. package/dist/schema/index.js.map +1 -1
  61. package/dist/schema/internal-frames.d.ts +10 -0
  62. package/dist/schema/internal-frames.d.ts.map +1 -0
  63. package/dist/schema/internal-frames.js +5 -0
  64. package/dist/schema/internal-frames.js.map +1 -0
  65. package/dist/schema/invites.d.ts +6 -2
  66. package/dist/schema/invites.d.ts.map +1 -1
  67. package/dist/schema/json-rpc.d.ts +27 -0
  68. package/dist/schema/json-rpc.d.ts.map +1 -0
  69. package/dist/schema/json-rpc.js +32 -0
  70. package/dist/schema/json-rpc.js.map +1 -0
  71. package/dist/schema/messages.d.ts +15 -5
  72. package/dist/schema/messages.d.ts.map +1 -1
  73. package/dist/schema/methods/apps.d.ts +138 -85
  74. package/dist/schema/methods/apps.d.ts.map +1 -1
  75. package/dist/schema/methods/apps.js +4 -45
  76. package/dist/schema/methods/apps.js.map +1 -1
  77. package/dist/schema/methods/auth.d.ts +62 -34
  78. package/dist/schema/methods/auth.d.ts.map +1 -1
  79. package/dist/schema/methods/contacts.d.ts +27 -9
  80. package/dist/schema/methods/contacts.d.ts.map +1 -1
  81. package/dist/schema/methods/conversations.d.ts +91 -18
  82. package/dist/schema/methods/conversations.d.ts.map +1 -1
  83. package/dist/schema/methods/conversations.js +2 -2
  84. package/dist/schema/methods/conversations.js.map +1 -1
  85. package/dist/schema/methods/messages.d.ts +39 -13
  86. package/dist/schema/methods/messages.d.ts.map +1 -1
  87. package/dist/schema/methods/presence.d.ts +6 -2
  88. package/dist/schema/methods/presence.d.ts.map +1 -1
  89. package/dist/schema/notifications.d.ts +791 -0
  90. package/dist/schema/notifications.d.ts.map +1 -0
  91. package/dist/schema/notifications.js +173 -0
  92. package/dist/schema/notifications.js.map +1 -0
  93. package/dist/schema/presence.d.ts +3 -1
  94. package/dist/schema/presence.d.ts.map +1 -1
  95. package/dist/schema/primitives.d.ts +21 -5
  96. package/dist/schema/primitives.d.ts.map +1 -1
  97. package/dist/schema/primitives.js +6 -0
  98. package/dist/schema/primitives.js.map +1 -1
  99. package/dist/test-fixtures/seed-data.d.ts +0 -1388
  100. package/dist/test-fixtures/seed-data.d.ts.map +1 -1
  101. package/dist/test-fixtures/seed-data.js +34 -990
  102. package/dist/test-fixtures/seed-data.js.map +1 -1
  103. package/dist/testing/agent-registration.d.ts +3 -1
  104. package/dist/testing/agent-registration.d.ts.map +1 -1
  105. package/dist/testing/agent-registration.js +6 -15
  106. package/dist/testing/agent-registration.js.map +1 -1
  107. package/dist/testing/arbitraries/frames.d.ts +2 -2
  108. package/dist/testing/arbitraries/frames.d.ts.map +1 -1
  109. package/dist/testing/arbitraries/frames.js +9 -7
  110. package/dist/testing/arbitraries/frames.js.map +1 -1
  111. package/dist/testing/arbitraries/from-typebox.d.ts.map +1 -1
  112. package/dist/testing/arbitraries/from-typebox.js +19 -10
  113. package/dist/testing/arbitraries/from-typebox.js.map +1 -1
  114. package/dist/testing/arbitraries/index.d.ts +1 -1
  115. package/dist/testing/arbitraries/index.d.ts.map +1 -1
  116. package/dist/testing/arbitraries/index.js +1 -1
  117. package/dist/testing/arbitraries/index.js.map +1 -1
  118. package/dist/testing/arbitraries/rpc.d.ts +3 -2
  119. package/dist/testing/arbitraries/rpc.d.ts.map +1 -1
  120. package/dist/testing/arbitraries/rpc.js +13 -3
  121. package/dist/testing/arbitraries/rpc.js.map +1 -1
  122. package/dist/testing/captures.d.ts.map +1 -1
  123. package/dist/testing/captures.js +4 -3
  124. package/dist/testing/captures.js.map +1 -1
  125. package/dist/testing/codec.d.ts +13 -11
  126. package/dist/testing/codec.d.ts.map +1 -1
  127. package/dist/testing/codec.js +43 -50
  128. package/dist/testing/codec.js.map +1 -1
  129. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts.map +1 -1
  130. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js +15 -5
  131. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js.map +1 -1
  132. package/dist/testing/conformance/_helpers.d.ts +12 -7
  133. package/dist/testing/conformance/_helpers.d.ts.map +1 -1
  134. package/dist/testing/conformance/_helpers.js +30 -7
  135. package/dist/testing/conformance/_helpers.js.map +1 -1
  136. package/dist/testing/conformance/adversity.d.ts.map +1 -1
  137. package/dist/testing/conformance/adversity.js +83 -90
  138. package/dist/testing/conformance/adversity.js.map +1 -1
  139. package/dist/testing/conformance/boundary.d.ts +1 -1
  140. package/dist/testing/conformance/boundary.d.ts.map +1 -1
  141. package/dist/testing/conformance/boundary.js +55 -50
  142. package/dist/testing/conformance/boundary.js.map +1 -1
  143. package/dist/testing/conformance/client/_fixtures.d.ts +7 -5
  144. package/dist/testing/conformance/client/_fixtures.d.ts.map +1 -1
  145. package/dist/testing/conformance/client/_fixtures.js +17 -8
  146. package/dist/testing/conformance/client/_fixtures.js.map +1 -1
  147. package/dist/testing/conformance/client/adversity.d.ts.map +1 -1
  148. package/dist/testing/conformance/client/adversity.js +28 -22
  149. package/dist/testing/conformance/client/adversity.js.map +1 -1
  150. package/dist/testing/conformance/client/boundary.d.ts +2 -2
  151. package/dist/testing/conformance/client/boundary.d.ts.map +1 -1
  152. package/dist/testing/conformance/client/boundary.js +19 -16
  153. package/dist/testing/conformance/client/boundary.js.map +1 -1
  154. package/dist/testing/conformance/client/delivery.d.ts +5 -5
  155. package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
  156. package/dist/testing/conformance/client/delivery.js +77 -73
  157. package/dist/testing/conformance/client/delivery.js.map +1 -1
  158. package/dist/testing/conformance/client/index.d.ts +2 -2
  159. package/dist/testing/conformance/client/index.d.ts.map +1 -1
  160. package/dist/testing/conformance/client/index.js +1 -1
  161. package/dist/testing/conformance/client/index.js.map +1 -1
  162. package/dist/testing/conformance/client/rpc-semantics.d.ts.map +1 -1
  163. package/dist/testing/conformance/client/rpc-semantics.js +31 -37
  164. package/dist/testing/conformance/client/rpc-semantics.js.map +1 -1
  165. package/dist/testing/conformance/client/runner.d.ts +38 -32
  166. package/dist/testing/conformance/client/runner.d.ts.map +1 -1
  167. package/dist/testing/conformance/client/runner.js +36 -45
  168. package/dist/testing/conformance/client/runner.js.map +1 -1
  169. package/dist/testing/conformance/client/schema-conformance.d.ts +8 -8
  170. package/dist/testing/conformance/client/schema-conformance.d.ts.map +1 -1
  171. package/dist/testing/conformance/client/schema-conformance.js +37 -35
  172. package/dist/testing/conformance/client/schema-conformance.js.map +1 -1
  173. package/dist/testing/conformance/client/suite.d.ts.map +1 -1
  174. package/dist/testing/conformance/client/suite.js +4 -3
  175. package/dist/testing/conformance/client/suite.js.map +1 -1
  176. package/dist/testing/conformance/delivery.d.ts.map +1 -1
  177. package/dist/testing/conformance/delivery.js +127 -140
  178. package/dist/testing/conformance/delivery.js.map +1 -1
  179. package/dist/testing/conformance/dispatcher-concurrency.js +12 -12
  180. package/dist/testing/conformance/dispatcher-concurrency.js.map +1 -1
  181. package/dist/testing/conformance/env.d.ts +9 -0
  182. package/dist/testing/conformance/env.d.ts.map +1 -1
  183. package/dist/testing/conformance/env.js +16 -3
  184. package/dist/testing/conformance/env.js.map +1 -1
  185. package/dist/testing/conformance/presence.d.ts.map +1 -1
  186. package/dist/testing/conformance/presence.js +35 -24
  187. package/dist/testing/conformance/presence.js.map +1 -1
  188. package/dist/testing/conformance/registry.d.ts +1 -1
  189. package/dist/testing/conformance/registry.d.ts.map +1 -1
  190. package/dist/testing/conformance/registry.js +1 -1
  191. package/dist/testing/conformance/registry.js.map +1 -1
  192. package/dist/testing/conformance/rpc-semantics.d.ts +12 -12
  193. package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -1
  194. package/dist/testing/conformance/rpc-semantics.js +131 -90
  195. package/dist/testing/conformance/rpc-semantics.js.map +1 -1
  196. package/dist/testing/conformance/runner.d.ts +2 -2
  197. package/dist/testing/conformance/runner.d.ts.map +1 -1
  198. package/dist/testing/conformance/runner.js +5 -10
  199. package/dist/testing/conformance/runner.js.map +1 -1
  200. package/dist/testing/conformance/schema-conformance.d.ts +3 -40
  201. package/dist/testing/conformance/schema-conformance.d.ts.map +1 -1
  202. package/dist/testing/conformance/schema-conformance.js +75 -235
  203. package/dist/testing/conformance/schema-conformance.js.map +1 -1
  204. package/dist/testing/conformance/suite.d.ts +1 -1
  205. package/dist/testing/conformance/suite.d.ts.map +1 -1
  206. package/dist/testing/conformance/suite.js +17 -18
  207. package/dist/testing/conformance/suite.js.map +1 -1
  208. package/dist/testing/index.d.ts +1 -1
  209. package/dist/testing/index.d.ts.map +1 -1
  210. package/dist/testing/models/dispatch.d.ts +5 -5
  211. package/dist/testing/models/dispatch.d.ts.map +1 -1
  212. package/dist/testing/models/dispatch.js +50 -59
  213. package/dist/testing/models/dispatch.js.map +1 -1
  214. package/dist/testing/models/state.d.ts +5 -5
  215. package/dist/testing/models/state.d.ts.map +1 -1
  216. package/dist/testing/models/state.js +14 -1
  217. package/dist/testing/models/state.js.map +1 -1
  218. package/dist/testing/test-client.d.ts +51 -40
  219. package/dist/testing/test-client.d.ts.map +1 -1
  220. package/dist/testing/test-client.js +154 -122
  221. package/dist/testing/test-client.js.map +1 -1
  222. package/dist/testing/test-server.d.ts +5 -5
  223. package/dist/testing/test-server.d.ts.map +1 -1
  224. package/dist/testing/test-server.js +11 -15
  225. package/dist/testing/test-server.js.map +1 -1
  226. package/dist/testing/toxics/client.d.ts.map +1 -1
  227. package/dist/testing/toxics/client.js +9 -3
  228. package/dist/testing/toxics/client.js.map +1 -1
  229. package/dist/testing/toxics/profile.d.ts.map +1 -1
  230. package/dist/testing/toxics/profile.js +4 -1
  231. package/dist/testing/toxics/profile.js.map +1 -1
  232. package/dist/types.d.ts +3 -5
  233. package/dist/types.d.ts.map +1 -1
  234. package/dist/types.js.map +1 -1
  235. package/dist/validators.d.ts +366 -101
  236. package/dist/validators.d.ts.map +1 -1
  237. package/dist/validators.js +23 -30
  238. package/dist/validators.js.map +1 -1
  239. package/dist/version.d.ts +1 -1
  240. package/dist/version.js +1 -1
  241. package/package.json +2 -2
  242. package/dist/schema/events.d.ts +0 -213
  243. package/dist/schema/events.d.ts.map +0 -1
  244. package/dist/schema/events.js +0 -122
  245. package/dist/schema/events.js.map +0 -1
  246. package/dist/schema/methods/push.d.ts +0 -21
  247. package/dist/schema/methods/push.d.ts.map +0 -1
  248. package/dist/schema/methods/push.js +0 -28
  249. package/dist/schema/methods/push.js.map +0 -1
  250. package/dist/schema/surfaces.d.ts +0 -55
  251. package/dist/schema/surfaces.d.ts.map +0 -1
  252. package/dist/schema/surfaces.js +0 -55
  253. package/dist/schema/surfaces.js.map +0 -1
@@ -31,6 +31,9 @@ import * as boundary from "./boundary.js";
31
31
  import * as presence from "./presence.js";
32
32
  import { isAllowedCoverageGap, } from "./coverage-policy.js";
33
33
  import { conformanceArtifactDirFromEnv } from "./env.js";
34
+ import { AppsCreate } from "../../schema/methods/apps.js";
35
+ const JSON_INDENT_SPACES = 2;
36
+ const TOXIPROXY_NOT_PROVISIONED = "Toxiproxy client not provisioned";
34
37
  /**
35
38
  * Register every property against `ctx`. Consumers that want a narrower
36
39
  * run build a `ConformanceRunContext` directly and call only the modules
@@ -39,21 +42,17 @@ import { conformanceArtifactDirFromEnv } from "./env.js";
39
42
  */
40
43
  export function registerAllProperties(ctx) {
41
44
  schemaConformance.registerRequestWellFormedness(ctx);
42
- schemaConformance.registerEventWellFormedness(ctx);
45
+ schemaConformance.registerNotificationWellFormedness(ctx);
43
46
  schemaConformance.registerRoundTripIdentity(ctx);
44
47
  schemaConformance.registerMalformedFrameHandling(ctx);
45
48
  schemaConformance.registerRpcMapCoverage(ctx);
46
- schemaConformance.registerS2cRequestRoundTripIdentity(ctx);
47
- schemaConformance.registerS2cResponseValidation(ctx);
48
- schemaConformance.registerS2cMalformedRequestHandling(ctx);
49
- schemaConformance.registerDualDirectionIdCollision(ctx);
50
49
  rpcSemantics.registerModelEquivalence(ctx);
51
50
  rpcSemantics.registerAuthorityPositive(ctx);
52
51
  rpcSemantics.registerAuthorityNegative(ctx);
53
52
  rpcSemantics.registerRequestIdUniqueness(ctx);
54
53
  rpcSemantics.registerIdempotence(ctx);
55
- rpcSemantics.registerSpuriousS2cFrameHandling(ctx);
56
- rpcSemantics.registerCallerControlledS2cTimeout(ctx);
54
+ rpcSemantics.registerSpuriousAppCallbackFrameHandling(ctx);
55
+ rpcSemantics.registerCallerControlledAppCallbackTimeout(ctx);
57
56
  delivery.registerFanOutCardinality(ctx);
58
57
  delivery.registerStoreAndReplay(ctx);
59
58
  delivery.registerPayloadOpacity(ctx);
@@ -196,7 +195,7 @@ function allowedServerCoverageGaps(toxiproxyUrl) {
196
195
  {
197
196
  kind: "unavailable",
198
197
  id: "delivery/hook-gated-delivery",
199
- reasonIncludes: "apps/create",
198
+ reasonIncludes: AppsCreate.name,
200
199
  },
201
200
  {
202
201
  kind: "deferred",
@@ -206,7 +205,7 @@ function allowedServerCoverageGaps(toxiproxyUrl) {
206
205
  {
207
206
  kind: "unavailable",
208
207
  id: "delivery/multi-app-fifo-short-circuit",
209
- reasonIncludes: "apps/create",
208
+ reasonIncludes: AppsCreate.name,
210
209
  },
211
210
  {
212
211
  kind: "deferred",
@@ -216,19 +215,19 @@ function allowedServerCoverageGaps(toxiproxyUrl) {
216
215
  {
217
216
  kind: "unavailable",
218
217
  id: "boundary/app-disconnect-fail-policy",
219
- reasonIncludes: "apps/create",
218
+ reasonIncludes: AppsCreate.name,
220
219
  },
221
220
  {
222
221
  kind: "deferred",
223
222
  id: "boundary/app-disconnect-fail-policy",
224
223
  reasonIncludes: "B.9",
225
224
  },
226
- // Spurious s2c frame handling needs a wire-level injection seam
225
+ // Spurious appCallback frame handling needs a wire-level injection seam
227
226
  // TestClient does not expose; tombstoned to B.9 (#318) where the
228
227
  // server-side fault-injection path is reachable.
229
228
  {
230
229
  kind: "deferred",
231
- id: "rpc-semantics/spurious-s2c-frame-handling",
230
+ id: "rpc-semantics/spurious-app-callback-frame-handling",
232
231
  reasonIncludes: "B.9",
233
232
  },
234
233
  ];
@@ -236,23 +235,23 @@ function allowedServerCoverageGaps(toxiproxyUrl) {
236
235
  gaps.push({
237
236
  kind: "unavailable",
238
237
  id: "adversity/latency-resilience",
239
- reasonIncludes: "Toxiproxy client not provisioned",
238
+ reasonIncludes: TOXIPROXY_NOT_PROVISIONED,
240
239
  }, {
241
240
  kind: "unavailable",
242
241
  id: "adversity/slicer-framing",
243
- reasonIncludes: "Toxiproxy client not provisioned",
242
+ reasonIncludes: TOXIPROXY_NOT_PROVISIONED,
244
243
  }, {
245
244
  kind: "unavailable",
246
245
  id: "adversity/reset-peer-recovery",
247
- reasonIncludes: "Toxiproxy client not provisioned",
246
+ reasonIncludes: TOXIPROXY_NOT_PROVISIONED,
248
247
  }, {
249
248
  kind: "unavailable",
250
249
  id: "adversity/timeout-surface",
251
- reasonIncludes: "Toxiproxy client not provisioned",
250
+ reasonIncludes: TOXIPROXY_NOT_PROVISIONED,
252
251
  }, {
253
252
  kind: "unavailable",
254
253
  id: "adversity/slow-close-cleanup",
255
- reasonIncludes: "Toxiproxy client not provisioned",
254
+ reasonIncludes: TOXIPROXY_NOT_PROVISIONED,
256
255
  });
257
256
  }
258
257
  return gaps;
@@ -292,6 +291,6 @@ function writeArtifact(dir, property, seed, payload) {
292
291
  name: property.name,
293
292
  seed,
294
293
  ...payload,
295
- }, null, 2));
294
+ }, null, JSON_INDENT_SPACES));
296
295
  }
297
296
  //# sourceMappingURL=suite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"suite.js","sourceRoot":"","sources":["../../../src/testing/conformance/suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suite.js","sourceRoot":"","sources":["../../../src/testing/conformance/suite.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export * as toxics from "./toxics/index.js";
19
19
  export { type ConformanceArtifact, type ConformanceRunContext, type ConformanceRunOptions, type ConformanceSuiteOptions, type PropertyCategory, type PropertyFailure, type PropertyRun, type RealServerHandle, type RegisteredProperty, type SuiteResult, PropertyAssertionFailure, PropertyDeferred, PropertyInvariantViolation, PropertyUnavailable, acquireRunContext, assertProperty, collectProperties, registerAllProperties, registerProperty, runAllProperties, runConformance, runConformanceSuite, } from "./conformance/index.js";
20
20
  export * as conformance from "./conformance/index.js";
21
21
  export * as clientConformance from "./conformance/client/index.js";
22
- export type { ClientConformanceRunContext, ClientConformanceRunOptions, ObservedEvent, RealClientCloseEvent, RealClientEventFilter, RealClientEventSubscriber, RealClientFactoryArgs, RealClientHandle, RealClientRpcCaller, RealClientSubscription, } from "./conformance/client/runner.js";
22
+ export type { ClientConformanceRunContext, ClientConformanceRunOptions, ObservedNotification, RealClientCloseEvent, RealClientNotificationFilter, RealClientNotificationSubscriber, RealClientFactoryArgs, RealClientHandle, RealClientRpcCaller, RealClientSubscription, } from "./conformance/client/runner.js";
23
23
  export { RealClientLifecycleError, RealClientRpcError, } from "./conformance/client/runner.js";
24
24
  export type { ClientConformanceSuiteOptions, JointConformanceSuiteOptions, } from "./conformance/client/suite.js";
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,YAAY,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,SAAS,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAMtD,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAKnE,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,KAAK,YAAY,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,SAAS,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAMtD,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAKnE,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC"}
@@ -10,8 +10,8 @@
10
10
  * `method`) so the TS compiler flags an unhandled method name if
11
11
  * `rpcMethods` grows without the model being updated.
12
12
  */
13
- import type { RpcMap, RpcMethodName } from "../../rpc-registry.js";
14
- import type { EventFrame } from "../../schema/frames.js";
13
+ import type { RpcMethodName, RpcResult } from "../../rpc-registry.js";
14
+ import type { NotificationFrame } from "../../schema/frames.js";
15
15
  import type { ArbitraryRpcCall } from "../arbitraries/rpc.js";
16
16
  import { type ReferenceState } from "./state.js";
17
17
  /**
@@ -22,13 +22,13 @@ import { type ReferenceState } from "./state.js";
22
22
  */
23
23
  export type RpcModelResult<M extends RpcMethodName = RpcMethodName> = {
24
24
  readonly _tag: "ok";
25
- readonly result: RpcMap[M]["result"];
26
- readonly events: ReadonlyArray<EventFrame>;
25
+ readonly result: RpcResult<M>;
26
+ readonly events: ReadonlyArray<NotificationFrame>;
27
27
  } | {
28
28
  readonly _tag: "error";
29
29
  readonly code: number;
30
30
  readonly message: string;
31
- readonly events: ReadonlyArray<EventFrame>;
31
+ readonly events: ReadonlyArray<NotificationFrame>;
32
32
  };
33
33
  export declare function isIdempotent(method: RpcMethodName): boolean;
34
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/testing/models/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAC9D;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC5C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAyBN,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,GAAG,sBAAsB,GAAG,gBAAgB,CAcrD;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,aAAa,EAC/C,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;CAAE,CA4IxE"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/testing/models/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AA4CzD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAC9D;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACnD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACnD,CAAC;AAuBN,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,GAAG,sBAAsB,GAAG,gBAAgB,CAcrD;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,aAAa,EAC/C,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;CAAE,CA4HxE"}
@@ -1,5 +1,12 @@
1
1
  import { ErrorCodes } from "../../schema/errors.js";
2
2
  import { mkTick } from "./state.js";
3
+ import { AgentsList, AgentsLookup, AgentsLookupByName, Connect, InviteAgent, Register, SelectAgent, } from "../../schema/methods/auth.js";
4
+ import { AppsAttachConversation, AppsAuthorizeDispatch, AppsCloseSession, AppsCreate, AppsGetSession, AppsListSessions, } from "../../schema/methods/apps.js";
5
+ import { ContactsAccept, ContactsAdd, ContactsList, } from "../../schema/methods/contacts.js";
6
+ import { ConversationsAddParticipant, ConversationsArchive, ConversationsCreate, ConversationsGet, ConversationsLeave, ConversationsList, ConversationsMute, ConversationsRemoveParticipant, ConversationsUnarchive, ConversationsUnmute, ConversationsUpdate, } from "../../schema/methods/conversations.js";
7
+ import { InvitesCreateAgent } from "../../schema/methods/invites.js";
8
+ import { MessagesList, MessagesSend } from "../../schema/methods/messages.js";
9
+ import { PresenceSubscribe, PresenceUpdate, } from "../../schema/methods/presence.js";
3
10
  // `ErrorCodes` is re-used from `../../schema/errors.ts` so the model and
4
11
  // the server share one source of truth for code values.
5
12
  /**
@@ -8,18 +15,16 @@ import { mkTick } from "./state.js";
8
15
  * against the real server.
9
16
  */
10
17
  const IDEMPOTENT_METHODS = new Set([
11
- "agents/lookup",
12
- "agents/lookupByName",
13
- "agents/list",
14
- "conversations/list",
15
- "conversations/get",
16
- "messages/list",
17
- "contacts/list",
18
- "presence/subscribe",
19
- "apps/listSessions",
20
- "apps/getSession",
21
- "permissions/list",
22
- "surface/get",
18
+ AgentsLookup.name,
19
+ AgentsLookupByName.name,
20
+ AgentsList.name,
21
+ ConversationsList.name,
22
+ ConversationsGet.name,
23
+ MessagesList.name,
24
+ ContactsList.name,
25
+ PresenceSubscribe.name,
26
+ AppsListSessions.name,
27
+ AppsGetSession.name,
23
28
  ]);
24
29
  export function isIdempotent(method) {
25
30
  return IDEMPOTENT_METHODS.has(method);
@@ -36,7 +41,7 @@ export function isIdempotent(method) {
36
41
  */
37
42
  export function authorizationOutcome(state, call, agentId) {
38
43
  // `connect` + `register` establish identity; pre-identity they are always allowed.
39
- if (call.method === "auth/connect" || call.method === "auth/register")
44
+ if (call.method === Connect.name || call.method === Register.name)
40
45
  return "allow";
41
46
  if (!state.agents.has(agentId))
42
47
  return "deny-unauthenticated";
@@ -106,17 +111,17 @@ export function applyCall(state, call) {
106
111
  const m = call.method;
107
112
  switch (m) {
108
113
  // Auth — model isn't sure what auth shape the caller has.
109
- case "auth/connect":
110
- case "auth/register":
111
- case "auth/invite-agent":
112
- case "auth/selectAgent":
114
+ case Connect.name:
115
+ case Register.name:
116
+ case InviteAgent.name:
117
+ case SelectAgent.name:
113
118
  return { next: baseNext, outcome: uncertainError() };
114
119
  // Agents list-shaped — honest "ok" for a fresh authenticated agent.
115
- case "agents/list":
120
+ case AgentsList.name:
116
121
  return { next: baseNext, outcome: allowNoEvents() };
117
122
  // Agents lookup-shaped — need a target; uncertain.
118
- case "agents/lookup":
119
- case "agents/lookupByName":
123
+ case AgentsLookup.name:
124
+ case AgentsLookupByName.name:
120
125
  return { next: baseNext, outcome: uncertainError() };
121
126
  // Conversations list — NOT oracle-confident across arbitrary
122
127
  // params. Round-8 finding (architect-197 §2.2 literal-probe
@@ -127,58 +132,44 @@ export function applyCall(state, call) {
127
132
  // to `uncertainError`; K=1 today (agents/list only). Widening
128
133
  // K requires either per-method param filters at the arbitrary
129
134
  // layer OR a server-side cursor-parse fix; tracked under #186.
130
- case "conversations/list":
135
+ case ConversationsList.name:
131
136
  return { next: baseNext, outcome: uncertainError() };
132
137
  // Conversations with required fields or state — uncertain.
133
- case "conversations/create":
134
- case "conversations/get":
135
- case "conversations/update":
136
- case "conversations/mute":
137
- case "conversations/unmute":
138
- case "conversations/addParticipant":
139
- case "conversations/removeParticipant":
140
- case "conversations/leave":
141
- case "conversations/archive":
142
- case "conversations/unarchive":
138
+ case ConversationsCreate.name:
139
+ case ConversationsGet.name:
140
+ case ConversationsUpdate.name:
141
+ case ConversationsMute.name:
142
+ case ConversationsUnmute.name:
143
+ case ConversationsAddParticipant.name:
144
+ case ConversationsRemoveParticipant.name:
145
+ case ConversationsLeave.name:
146
+ case ConversationsArchive.name:
147
+ case ConversationsUnarchive.name:
143
148
  return { next: baseNext, outcome: uncertainError() };
144
149
  // Messages — both require a valid conversationId. Uncertain.
145
- case "messages/send":
146
- case "messages/list":
150
+ case MessagesSend.name:
151
+ case MessagesList.name:
147
152
  return { next: baseNext, outcome: uncertainError() };
148
153
  // Contacts list — requires user context for a fresh agent, so
149
154
  // server returns an error. Uncertain.
150
- case "contacts/list":
151
- case "contacts/add":
152
- case "contacts/accept":
155
+ case ContactsList.name:
156
+ case ContactsAdd.name:
157
+ case ContactsAccept.name:
153
158
  return { next: baseNext, outcome: uncertainError() };
154
159
  // Invites — requires state. Uncertain.
155
- case "invites/createAgent":
160
+ case InvitesCreateAgent.name:
156
161
  return { next: baseNext, outcome: uncertainError() };
157
162
  // Presence — state-dependent. Uncertain.
158
- case "presence/update":
159
- case "presence/subscribe":
160
- return { next: baseNext, outcome: uncertainError() };
161
- // Push — requires endpoint registration. Uncertain.
162
- case "push/register":
163
- case "push/unregister":
163
+ case PresenceUpdate.name:
164
+ case PresenceSubscribe.name:
164
165
  return { next: baseNext, outcome: uncertainError() };
165
166
  // Apps — require app/user context the fresh agent doesn't have.
166
- case "apps/create":
167
- case "apps/attestSkill":
168
- case "permissions/grant":
169
- case "permissions/list":
170
- case "permissions/revoke":
171
- case "apps/closeSession":
172
- case "apps/getSession":
173
- case "apps/listSessions":
174
- case "apps/authorizeDispatch":
175
- case "apps/attachConversation":
176
- return { next: baseNext, outcome: uncertainError() };
177
- // Surfaces — require surface/app context. Uncertain.
178
- case "surface/update":
179
- case "surface/get":
180
- case "surface/action":
181
- case "surface/clear":
167
+ case AppsCreate.name:
168
+ case AppsCloseSession.name:
169
+ case AppsGetSession.name:
170
+ case AppsListSessions.name:
171
+ case AppsAuthorizeDispatch.name:
172
+ case AppsAttachConversation.name:
182
173
  return { next: baseNext, outcome: uncertainError() };
183
174
  default: {
184
175
  // Exhaustiveness check — any new RpcMethodName breaks the build here
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/testing/models/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/testing/models/dispatch.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,12 @@
9
9
  * Shape: a pure data record keyed by agent id + conversation id. No fibers,
10
10
  * no network, no clocks — all actions are total functions.
11
11
  */
12
+ import { Brand } from "effect";
12
13
  import type { Agent, Conversation, Message } from "../../types.js";
13
- import type { EventFrame } from "../../schema/frames.js";
14
+ import type { NotificationFrame } from "../../schema/frames.js";
14
15
  /** Monotonic logical clock — the model does not read wall time. */
15
- export type LogicalTick = number & {
16
- readonly __brand: "LogicalTick";
17
- };
16
+ export type LogicalTick = number & Brand.Brand<"LogicalTick">;
17
+ export declare const LogicalTick: Brand.Brand.Constructor<LogicalTick>;
18
18
  /** Construct a `LogicalTick` from a raw number. Only call in this module. */
19
19
  export declare function mkTick(n: number): LogicalTick;
20
20
  /** Every kind of entity the model tracks. */
@@ -27,7 +27,7 @@ export interface ReferenceState {
27
27
  /** Messages per conversation, append-only, ordered. */
28
28
  readonly messages: ReadonlyMap<string, ReadonlyArray<Message>>;
29
29
  /** Per-agent outbox of events the model predicts the server will emit. */
30
- readonly pendingEvents: ReadonlyMap<string, ReadonlyArray<EventFrame>>;
30
+ readonly pendingEvents: ReadonlyMap<string, ReadonlyArray<NotificationFrame>>;
31
31
  /** Authorization table — (agentId, conversationId) → role. */
32
32
  readonly authz: ReadonlyMap<string, ReadonlyMap<string, "owner" | "participant" | "denied">>;
33
33
  /** Request-ids the model has observed, for uniqueness assertions (B4). */
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/testing/models/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC;AAEvE,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAE7C;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,WAAW,CACzB,MAAM,EACN,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,CACxD,CAAC;IACF,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,qBAAqB,EAAE,cAQnC,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/testing/models/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC9D,eAAO,MAAM,WAAW,sCAA+B,CAAC;AAExD,6EAA6E;AAC7E,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAE7C;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC9E,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,WAAW,CACzB,MAAM,EACN,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC,CACxD,CAAC;IACF,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,qBAAqB,EAAE,cAQnC,CAAC"}
@@ -1,6 +1,19 @@
1
+ /**
2
+ * Reference-model state types.
3
+ *
4
+ * Per Invariant I5 and AC4, the reference model is the contract: its
5
+ * reducer-derived next-state and its predicted event trace are compared
6
+ * against the real server's observable behavior (Tier B). Divergence
7
+ * shrinks to the offending `ArbitraryRpcCall`.
8
+ *
9
+ * Shape: a pure data record keyed by agent id + conversation id. No fibers,
10
+ * no network, no clocks — all actions are total functions.
11
+ */
12
+ import { Brand } from "effect";
13
+ export const LogicalTick = Brand.nominal();
1
14
  /** Construct a `LogicalTick` from a raw number. Only call in this module. */
2
15
  export function mkTick(n) {
3
- return n;
16
+ return LogicalTick(n);
4
17
  }
5
18
  export const initialReferenceState = {
6
19
  tick: mkTick(0),
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/testing/models/state.ts"],"names":[],"mappings":"AAiBA,6EAA6E;AAC7E,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAgB,CAAC;AAC1B,CAAC;AAsBD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,IAAI,GAAG,EAAE;IACjB,aAAa,EAAE,IAAI,GAAG,EAAE;IACxB,QAAQ,EAAE,IAAI,GAAG,EAAE;IACnB,aAAa,EAAE,IAAI,GAAG,EAAE;IACxB,KAAK,EAAE,IAAI,GAAG,EAAE;IAChB,cAAc,EAAE,IAAI,GAAG,EAAE;CAC1B,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/testing/models/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAM/B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAe,CAAC;AAExD,6EAA6E;AAC7E,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAsBD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,IAAI,GAAG,EAAE;IACjB,aAAa,EAAE,IAAI,GAAG,EAAE;IACxB,QAAQ,EAAE,IAAI,GAAG,EAAE;IACnB,aAAa,EAAE,IAAI,GAAG,EAAE;IACxB,KAAK,EAAE,IAAI,GAAG,EAAE;IAChB,cAAc,EAAE,IAAI,GAAG,EAAE;CAC1B,CAAC"}
@@ -9,9 +9,14 @@
9
9
  *
10
10
  * Satisfies AC2. Consumed by Tier A / B / C / D / E properties.
11
11
  */
12
- import { Context, Effect, Scope, Stream } from "effect";
13
- import type { RpcMap, RpcMethodName, S2cRpcMap, S2cRpcMethodName } from "../rpc-registry.js";
14
- import type { EventFrame } from "../schema/frames.js";
12
+ import { Cause, Context, Effect, Scope, Stream } from "effect";
13
+ import type { AnyAppCallbackRpcDefinition, AnyRpcDefinition } from "../rpc-registry.js";
14
+ import { type ParamsOf, type ResultOf } from "../rpc.js";
15
+ import { type DecodedNotification } from "../rpc-groups.js";
16
+ import { type JsonRpcStringId } from "../schema/json-rpc.js";
17
+ import type { AnyNotificationDefinition } from "../schema/notifications.js";
18
+ import type { Static } from "@sinclair/typebox";
19
+ import { AgentId } from "../schema/primitives.js";
15
20
  import { type CapturedFrame, type CaptureBuffer } from "./captures.js";
16
21
  import { type MalformedFrameKind } from "./codec.js";
17
22
  import { FrameSchemaError, RpcResponseError, RpcTimeoutError, TransportClosedError, TransportIoError } from "./errors.js";
@@ -23,7 +28,7 @@ import { FrameSchemaError, RpcResponseError, RpcTimeoutError, TransportClosedErr
23
28
  export interface TestClientConfig {
24
29
  readonly serverUrl: string;
25
30
  readonly agentKey: string;
26
- readonly agentId: string;
31
+ readonly agentId: Static<typeof AgentId>;
27
32
  readonly defaultTimeoutMs: number;
28
33
  /** Soft cap on captured frames before the ring buffer drops oldest. */
29
34
  readonly captureCapacity: number;
@@ -41,23 +46,24 @@ export interface TestClientConfig {
41
46
  * them inside `Effect.forEach` / `fc.asyncProperty`.
42
47
  */
43
48
  export interface TestClient {
44
- readonly sendRpc: <M extends RpcMethodName>(method: M, params: RpcMap[M]["params"], opts?: {
49
+ readonly sendRpc: <D extends AnyRpcDefinition>(definition: D, params: ParamsOf<D>, opts?: {
45
50
  readonly timeoutMs?: number;
46
- }) => Effect.Effect<RpcMap[M]["result"], RpcResponseError | RpcTimeoutError | TransportClosedError | TransportIoError | FrameSchemaError>;
47
- readonly sendMalformed: (opts: {
48
- readonly baseMethod: RpcMethodName;
51
+ }) => Effect.Effect<ResultOf<D>, RpcResponseError | RpcTimeoutError | TransportClosedError | TransportIoError | FrameSchemaError>;
52
+ readonly sendMalformed: <D extends AnyRpcDefinition>(opts: {
53
+ readonly baseDefinition: D;
54
+ readonly baseParams: ParamsOf<D>;
49
55
  readonly kind: MalformedFrameKind;
50
56
  readonly seed: number;
51
57
  }) => Effect.Effect<RpcResponseError | null, TransportClosedError | TransportIoError | FrameSchemaError>;
52
- readonly events: Stream.Stream<EventFrame, TransportClosedError>;
58
+ readonly notifications: Stream.Stream<DecodedNotification<AnyNotificationDefinition>, TransportClosedError>;
53
59
  readonly captures: CaptureBuffer;
54
60
  readonly snapshot: Effect.Effect<ReadonlyArray<CapturedFrame>>;
55
- readonly waitForEvent: (eventName: string, timeoutMs?: number) => Effect.Effect<EventFrame, Error>;
56
- readonly drainEvents: Effect.Effect<ReadonlyArray<EventFrame>>;
61
+ readonly waitForNotification: <D extends AnyNotificationDefinition>(definition: D, timeoutMs?: number) => Effect.Effect<DecodedNotification<D>, NotificationWaitError>;
62
+ readonly drainNotifications: Effect.Effect<ReadonlyArray<DecodedNotification<AnyNotificationDefinition>>>;
57
63
  /**
58
- * Register a handler for a server-initiated (`direction: "s2c"`) RPC.
64
+ * Register a handler for an app-callback RPC.
59
65
  * When `handleInbound` sees a request frame whose method matches, the
60
- * handler runs and its outcome is encoded as the s2c response:
66
+ * handler runs and its outcome is encoded as the JSON-RPC response:
61
67
  * - `Effect.succeed(value)` → `{ result: value }`
62
68
  * - `Effect.fail(err: RpcResponseError)` → `{ error: { code, message, data? } }`
63
69
  * - defects collapse to a generic `-32603 InternalError` reply so the
@@ -67,15 +73,12 @@ export interface TestClient {
67
73
  * `HashMap.set`. The TestClient does NOT raise on duplicates the way the
68
74
  * production client does; tests routinely swap behaviour mid-scenario.
69
75
  *
70
- * Type narrowing: once `s2cRpcMethods` (`packages/protocol/src/rpc-registry.ts`)
71
- * registers verbs in B.2, `M` constrains to the registered method names
72
- * and `params`/`result` bind to `S2cRpcMap[M]`. While the registry is
73
- * empty, the constraint falls through to `string` / `unknown` so callers
74
- * can still drive the surface — see {@link ServerRpcMethod}.
76
+ * `M` constrains to the registered app-callback method names and
77
+ * `params`/`result` bind to the matching descriptor.
75
78
  */
76
- readonly handleServerRpc: <M extends ServerRpcMethod>(method: M, handler: (params: ServerRpcParams<M>, ctx: ServerRpcContext) => Effect.Effect<ServerRpcResult<M>, RpcResponseError>) => Effect.Effect<void>;
79
+ readonly handleServerRpc: <D extends ServerRpcDefinition>(definition: D, handler: (params: ServerRpcParams<D>, ctx: ServerRpcContext) => Effect.Effect<ServerRpcResult<D>, RpcResponseError>) => Effect.Effect<void>;
77
80
  /**
78
- * Park until the server sends an s2c request for `method`. The handler
81
+ * Park until the server sends an app-callback request for `method`. The handler
79
82
  * registered via {@link handleServerRpc} (if any) still runs and replies;
80
83
  * `awaitServerRequest` is an OBSERVATION primitive — it lets a test
81
84
  * assert the request payload before the response goes back without
@@ -89,34 +92,41 @@ export interface TestClient {
89
92
  * Effect with `Effect.timeout` at the call site (architect plan §3.6
90
93
  * "Effect.timeout at call site, not schema cap").
91
94
  */
92
- readonly awaitServerRequest: <M extends ServerRpcMethod>(method: M, predicate?: (params: ServerRpcParams<M>) => boolean, timeoutMs?: number) => Effect.Effect<ServerRpcParams<M>, Error>;
95
+ readonly awaitServerRequest: <D extends ServerRpcDefinition>(definition: D, predicate?: (params: ServerRpcParams<D>) => boolean, timeoutMs?: number) => Effect.Effect<ServerRpcParams<D>, ServerRequestWaitError>;
96
+ }
97
+ declare const NotificationWaitError_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]; }>) => Cause.YieldableError & {
98
+ readonly _tag: "TestingNotificationWaitError";
99
+ } & Readonly<A>;
100
+ export declare class NotificationWaitError extends NotificationWaitError_base<{
101
+ readonly definition: AnyNotificationDefinition;
102
+ readonly message: string;
103
+ readonly reason: "closed" | "timeout";
104
+ }> {
105
+ }
106
+ declare const ServerRequestWaitError_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]; }>) => Cause.YieldableError & {
107
+ readonly _tag: "TestingServerRequestWaitError";
108
+ } & Readonly<A>;
109
+ export declare class ServerRequestWaitError extends ServerRequestWaitError_base<{
110
+ readonly message: string;
111
+ readonly definition: ServerRpcDefinition;
112
+ readonly reason: "timeout";
113
+ }> {
93
114
  }
94
115
  /**
95
- * Method-name constraint for server-initiated RPC test surface. Narrows to
96
- * the registered s2c methods (`S2cRpcMethodName`) once B.2 populates
97
- * `s2cRpcMethods` in `rpc-registry.ts`. While the registry is empty, the
98
- * constraint falls through to `string` so the test surface remains usable
99
- * during Phase 1.0 — `[never] extends [never]` is true, but `never` as a
100
- * generic constraint blocks every caller. The fallback collapses
101
- * automatically the moment a verb registers.
116
+ * Descriptor constraint for app-callback RPC test surface.
102
117
  */
103
- export type ServerRpcMethod = [S2cRpcMethodName] extends [never] ? string : S2cRpcMethodName;
118
+ export type ServerRpcDefinition = AnyAppCallbackRpcDefinition;
104
119
  /**
105
- * Inbound params type for an s2c method. Resolves to the registered
106
- * params schema via `S2cRpcMap[M]["params"]` once verbs land; falls
107
- * through to `unknown` for the bootstrap window — same condition as
108
- * {@link ServerRpcMethod}.
120
+ * Inbound params type for an app-callback method.
109
121
  */
110
- export type ServerRpcParams<M extends ServerRpcMethod> = M extends S2cRpcMethodName ? S2cRpcMap[M]["params"] : unknown;
122
+ export type ServerRpcParams<D extends ServerRpcDefinition> = ParamsOf<D>;
111
123
  /**
112
- * Outbound result type for an s2c method handler. See {@link ServerRpcParams}
113
- * for the bootstrap fallback rationale.
124
+ * Outbound result type for an app-callback method handler.
114
125
  */
115
- export type ServerRpcResult<M extends ServerRpcMethod> = M extends S2cRpcMethodName ? S2cRpcMap[M]["result"] : unknown;
126
+ export type ServerRpcResult<D extends ServerRpcDefinition> = ResultOf<D>;
116
127
  export interface ServerRpcContext {
117
- readonly requestId: string;
118
- readonly method: string;
119
- readonly traceparent?: string;
128
+ readonly requestId: JsonRpcStringId;
129
+ readonly definition: ServerRpcDefinition;
120
130
  }
121
131
  export interface CloseableTestClient extends TestClient {
122
132
  readonly close: Effect.Effect<void, never>;
@@ -130,4 +140,5 @@ export declare const TestClient: Context.Tag<TestClient, TestClient>;
130
140
  */
131
141
  export declare function makeTestClient(config: TestClientConfig): Effect.Effect<TestClient, TransportIoError | TransportClosedError | RpcResponseError, Scope.Scope>;
132
142
  export declare function makeCloseableTestClient(config: TestClientConfig): Effect.Effect<CloseableTestClient, TransportIoError | TransportClosedError | RpcResponseError>;
143
+ export {};
133
144
  //# sourceMappingURL=test-client.d.ts.map