@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
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/delivery.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@
6
6
  * `../suite.ts` (implement-staff scope) and by the stub entry
7
7
  * `runClientConformanceSuite` in `./suite.ts`.
8
8
  */
9
- export { type ClientConformanceRunContext, type ClientConformanceRunOptions, type ObservedEvent, type RealClientCloseEvent, type RealClientEventFilter, type RealClientEventSubscriber, type RealClientHandle, type RealClientRpcCaller, type RealClientSubscription, ClientHandshakeWindow, RealClientLifecycleError, RealClientRpcError, acquireClientRunContext, makeClientHandshakeWindow, } from "./runner.js";
9
+ export { type ClientConformanceRunContext, type ClientConformanceRunOptions, type ObservedNotification, type RealClientCloseEvent, type RealClientNotificationFilter, type RealClientNotificationSubscriber, type RealClientHandle, type RealClientRpcCaller, type RealClientSubscription, ClientHandshakeWindow, RealClientLifecycleError, RealClientRpcError, acquireClientRunContext, makeClientHandshakeWindow, } from "./runner.js";
10
10
  export { type ClientConformanceSuiteOptions, type JointConformanceSuiteOptions, registerAllClientProperties, runClientConformanceSuite, } from "./suite.js";
11
- export { registerEventWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
11
+ export { registerNotificationWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
12
12
  export { registerModelEquivalenceClient, registerRequestIdUniquenessClient, } from "./rpc-semantics.js";
13
13
  export { registerArchiveLifecycleClient, registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
14
14
  export { registerLatencyResilienceClient, registerResetPeerRecoveryClient, registerSlicerFramingClient, registerSlowCloseCleanupClient, registerTimeoutSurfaceClient, } from "./adversity.js";
@@ -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,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"}
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,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACrC,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,wCAAwC,EACxC,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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export { ClientHandshakeWindow, RealClientLifecycleError, RealClientRpcError, acquireClientRunContext, makeClientHandshakeWindow, } from "./runner.js";
10
10
  export { registerAllClientProperties, runClientConformanceSuite, } from "./suite.js";
11
- export { registerEventWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
11
+ export { registerNotificationWellFormednessClient, registerMalformedFrameHandlingClient, } from "./schema-conformance.js";
12
12
  export { registerModelEquivalenceClient, registerRequestIdUniquenessClient, } from "./rpc-semantics.js";
13
13
  export { registerArchiveLifecycleClient, registerFanOutCardinalityClient, registerPayloadOpacityClient, registerTaskBoundaryIsolationClient, } from "./delivery.js";
14
14
  export { registerLatencyResilienceClient, registerResetPeerRecoveryClient, registerSlicerFramingClient, registerSlowCloseCleanupClient, registerTimeoutSurfaceClient, } from "./adversity.js";
@@ -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,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"}
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,wCAAwC,EACxC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-semantics.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/rpc-semantics.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAO/D;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAgFN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAqGN"}
1
+ {"version":3,"file":"rpc-semantics.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/rpc-semantics.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAY/D;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CA4EN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,2BAA2B,GAC/B,IAAI,CAiGN"}
@@ -14,10 +14,16 @@
14
14
  * asserts set equality — no typed-error involvement.
15
15
  */
16
16
  import { Effect } from "effect";
17
+ import { responseFrame } from "../../../helpers.js";
18
+ import { isJsonRpcStringId, jsonRpcStringId, } from "../../../schema/json-rpc.js";
17
19
  import { registerProperty } from "../registry.js";
18
20
  import { acquireFixture, invariant } from "./_fixtures.js";
21
+ import { isRequestFrame } from "../../codec.js";
22
+ import { AgentsList } from "../../../schema/methods/auth.js";
19
23
  const CATEGORY = "rpc-semantics";
20
24
  const CALL_BUDGET_MS = 5_000;
25
+ const PROPERTY_MODEL_EQUIVALENCE_CLIENT = "model-equivalence-client";
26
+ const PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT = "request-id-uniqueness-client";
21
27
  /**
22
28
  * B1 client half — property issues `realClient.call("agents/list", {})`;
23
29
  * TestServer captures the inbound request id and emits a well-shaped
@@ -28,8 +34,8 @@ const CALL_BUDGET_MS = 5_000;
28
34
  * never resolve within the budget.
29
35
  */
30
36
  export function registerModelEquivalenceClient(ctx) {
31
- registerProperty(ctx, CATEGORY, "model-equivalence-client", "scripted response to sampled RPC resolves the real client's pending call", Effect.scoped(Effect.gen(function* () {
32
- const fx = yield* acquireFixture(ctx, CATEGORY, "model-equivalence-client");
37
+ registerProperty(ctx, CATEGORY, PROPERTY_MODEL_EQUIVALENCE_CLIENT, "scripted response to sampled RPC resolves the real client's pending call", Effect.scoped(Effect.gen(function* () {
38
+ const fx = yield* acquireFixture(ctx, CATEGORY, PROPERTY_MODEL_EQUIVALENCE_CLIENT);
33
39
  // Fork a background responder that watches inbound requests and
34
40
  // replies with an empty-agents-list result as soon as the sampled
35
41
  // call lands.
@@ -41,15 +47,11 @@ export function registerModelEquivalenceClient(ctx) {
41
47
  for (const entry of snap) {
42
48
  if (entry.kind === "inbound" &&
43
49
  entry.frame !== null &&
44
- entry.frame.type === "request" &&
45
- entry.frame.method === "agents/list") {
46
- const response = {
47
- jsonrpc: "2.0",
48
- type: "response",
49
- direction: "c2s",
50
- id: entry.frame.id,
50
+ isRequestFrame(entry.frame) &&
51
+ entry.frame.method === AgentsList.name) {
52
+ const response = responseFrame(entry.frame.id, {
51
53
  result: { agents: {} },
52
- };
54
+ });
53
55
  yield* fx.window.emitTaggedResponse({
54
56
  connection: fx.connection,
55
57
  base: response,
@@ -61,14 +63,14 @@ export function registerModelEquivalenceClient(ctx) {
61
63
  }
62
64
  }
63
65
  }));
64
- const result = yield* fx.handle.call.call("agents/list", {}).pipe(Effect.timeoutFail({
66
+ const result = yield* fx.handle.call.call(AgentsList.name, {}).pipe(Effect.timeoutFail({
65
67
  duration: `${CALL_BUDGET_MS} millis`,
66
- onTimeout: () => invariant(CATEGORY, "model-equivalence-client", `agents/list call did not resolve within ${CALL_BUDGET_MS}ms`),
68
+ onTimeout: () => invariant(CATEGORY, PROPERTY_MODEL_EQUIVALENCE_CLIENT, `agents/list call did not resolve within ${CALL_BUDGET_MS}ms`),
67
69
  }), Effect.mapError((e) => "_tag" in e && e._tag === "RealClientRpcError"
68
- ? invariant(CATEGORY, "model-equivalence-client", `agents/list rejected: ${e.kind} (${e.documentedErrorTag ?? "null"})`)
70
+ ? invariant(CATEGORY, PROPERTY_MODEL_EQUIVALENCE_CLIENT, `agents/list rejected: ${e.kind} (${e.documentedErrorTag ?? "null"})`)
69
71
  : e));
70
- if (result.type !== "response") {
71
- return yield* Effect.fail(invariant(CATEGORY, "model-equivalence-client", "real client surfaced non-response frame"));
72
+ if (!("result" in result)) {
73
+ return yield* Effect.fail(invariant(CATEGORY, PROPERTY_MODEL_EQUIVALENCE_CLIENT, "real client surfaced non-response frame"));
72
74
  }
73
75
  })));
74
76
  }
@@ -86,18 +88,14 @@ export function registerModelEquivalenceClient(ctx) {
86
88
  * response frame regardless of id mis-routes.
87
89
  */
88
90
  export function registerRequestIdUniquenessClient(ctx) {
89
- registerProperty(ctx, CATEGORY, "request-id-uniqueness-client", "spurious response ids don't resolve pending calls; matching ids do", Effect.scoped(Effect.gen(function* () {
90
- const fx = yield* acquireFixture(ctx, CATEGORY, "request-id-uniqueness-client");
91
+ registerProperty(ctx, CATEGORY, PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT, "spurious response ids don't resolve pending calls; matching ids do", Effect.scoped(Effect.gen(function* () {
92
+ const fx = yield* acquireFixture(ctx, CATEGORY, PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT);
91
93
  // Emit a spurious response with an id the client never sent.
92
94
  const spuriousId = "spurious-id-that-was-never-requested";
93
95
  yield* fx.connection
94
- .emitResponse({
95
- jsonrpc: "2.0",
96
- type: "response",
97
- direction: "c2s",
98
- id: spuriousId,
96
+ .emitResponse(responseFrame(jsonRpcStringId(spuriousId), {
99
97
  result: { agents: {} },
100
- })
98
+ }))
101
99
  .pipe(Effect.orElseSucceed(() => undefined));
102
100
  // Fork a responder that correctly routes the matching response.
103
101
  yield* Effect.forkScoped(Effect.gen(function* () {
@@ -108,16 +106,12 @@ export function registerRequestIdUniquenessClient(ctx) {
108
106
  for (const entry of snap) {
109
107
  if (entry.kind === "inbound" &&
110
108
  entry.frame !== null &&
111
- entry.frame.type === "request" &&
112
- entry.frame.method === "agents/list") {
109
+ isRequestFrame(entry.frame) &&
110
+ entry.frame.method === AgentsList.name) {
113
111
  yield* fx.connection
114
- .emitResponse({
115
- jsonrpc: "2.0",
116
- type: "response",
117
- direction: "c2s",
118
- id: entry.frame.id,
112
+ .emitResponse(responseFrame(entry.frame.id, {
119
113
  result: { agents: {} },
120
- })
114
+ }))
121
115
  .pipe(Effect.orElseSucceed(() => undefined));
122
116
  responded = true;
123
117
  break;
@@ -126,21 +120,21 @@ export function registerRequestIdUniquenessClient(ctx) {
126
120
  }
127
121
  }));
128
122
  // Issue the RPC: must resolve via the matching id, not the spurious one.
129
- const result = yield* fx.handle.call.call("agents/list", {}).pipe(Effect.timeoutFail({
123
+ const result = yield* fx.handle.call.call(AgentsList.name, {}).pipe(Effect.timeoutFail({
130
124
  duration: `${CALL_BUDGET_MS} millis`,
131
- onTimeout: () => invariant(CATEGORY, "request-id-uniqueness-client", `agents/list did not resolve within ${CALL_BUDGET_MS}ms despite matching response`),
125
+ onTimeout: () => invariant(CATEGORY, PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT, `agents/list did not resolve within ${CALL_BUDGET_MS}ms despite matching response`),
132
126
  }), Effect.mapError((e) => "_tag" in e && e._tag === "RealClientRpcError"
133
- ? invariant(CATEGORY, "request-id-uniqueness-client", `agents/list rejected: ${e.kind}`)
127
+ ? invariant(CATEGORY, PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT, `agents/list rejected: ${e.kind}`)
134
128
  : e));
135
- if (result.id !== undefined) {
129
+ if ("id" in result && isJsonRpcStringId(result.id)) {
136
130
  // Inspect: the resolved id must appear in the outboundIdFeed —
137
131
  // any resolution via the spurious id is a cross-wiring bug.
138
132
  const outbound = yield* fx.handle.call.outboundIdFeed;
139
133
  if (!outbound.includes(result.id)) {
140
- return yield* Effect.fail(invariant(CATEGORY, "request-id-uniqueness-client", `resolved id ${result.id} absent from outboundIdFeed (cross-wire)`));
134
+ return yield* Effect.fail(invariant(CATEGORY, PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT, `resolved id ${result.id} absent from outboundIdFeed (cross-wire)`));
141
135
  }
142
136
  if (result.id === spuriousId) {
143
- return yield* Effect.fail(invariant(CATEGORY, "request-id-uniqueness-client", "pending call resolved via spurious id"));
137
+ return yield* Effect.fail(invariant(CATEGORY, PROPERTY_REQUEST_ID_UNIQUENESS_CLIENT, "pending call resolved via spurious id"));
144
138
  }
145
139
  }
146
140
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-semantics.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/rpc-semantics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-semantics.js","sourceRoot":"","sources":["../../../../src/testing/conformance/client/rpc-semantics.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  * factory shape.
18
18
  */
19
19
  import { Context, Effect, Ref, type Scope } from "effect";
20
- import type { EventFrame, ResponseFrame } from "../../../schema/frames.js";
20
+ import type { NotificationFrame, ResponseFrame } from "../../../schema/frames.js";
21
21
  import { type TestServer, type TestServerConnection } from "../../test-server.js";
22
22
  import { type ToxiproxyClient } from "../../toxics/client.js";
23
23
  import { RealServerAcquireError, TransportIoError, type ToxicControlError } from "../../errors.js";
@@ -40,18 +40,18 @@ export interface RealClientHandle {
40
40
  readonly agentId: string;
41
41
  /**
42
42
  * Fully-connected promise — resolves after the handshake completes and
43
- * the client is ready to receive events. Property bodies await this
43
+ * the client is ready to receive notifications. Property bodies await this
44
44
  * before scripting TestServer emissions so the handshake-noise guard
45
45
  * window is closed (see `ClientHandshakeWindow`).
46
46
  */
47
47
  readonly ready: Effect.Effect<void, RealClientLifecycleError>;
48
48
  /**
49
- * Real client's public event-subscriber surface. Every captured event
49
+ * Real client's public notification-subscriber surface. Every captured notification
50
50
  * is tagged with the property-authored `emissionId` when the property
51
- * uses `ClientHandshakeWindow.emitTaggedEvent`; predicates filter by
51
+ * uses `ClientHandshakeWindow.emitTaggedNotification`; predicates filter by
52
52
  * that tag to exclude handshake-noise frames.
53
53
  */
54
- readonly events: RealClientEventSubscriber;
54
+ readonly notifications: RealClientNotificationSubscriber;
55
55
  /**
56
56
  * Real client's documented RPC caller. B1 / B4 / D5 predicates invoke
57
57
  * this and assert on the returned promise's resolution / rejection.
@@ -70,40 +70,41 @@ export interface RealClientHandle {
70
70
  readonly close: Effect.Effect<void, RealClientLifecycleError>;
71
71
  }
72
72
  /**
73
- * Real client's public event-subscriber surface. Property bodies `subscribe`
73
+ * Real client's public notification-subscriber surface. Property bodies `subscribe`
74
74
  * once per fixture and drain via `snapshot`. Concrete shape is per-consumer
75
- * (packages/client's `waitForEvent` + `onEvent`, channel packages' native
75
+ * (packages/client's `waitForNotification` + `onNotification`, channel packages' native
76
76
  * event pipe); the wrapper adapts it to this interface.
77
77
  */
78
- export interface RealClientEventSubscriber {
79
- readonly subscribe: (filter: RealClientEventFilter) => Effect.Effect<RealClientSubscription, RealClientLifecycleError>;
80
- readonly snapshot: Effect.Effect<ReadonlyArray<ObservedEvent>>;
78
+ export interface RealClientNotificationSubscriber {
79
+ readonly subscribe: (filter: RealClientNotificationFilter) => Effect.Effect<RealClientSubscription, RealClientLifecycleError>;
80
+ readonly snapshot: Effect.Effect<ReadonlyArray<ObservedNotification>>;
81
81
  }
82
82
  export interface RealClientSubscription {
83
83
  readonly id: string;
84
84
  readonly unsubscribe: Effect.Effect<void>;
85
85
  }
86
- export interface RealClientEventFilter {
86
+ export interface RealClientNotificationFilter {
87
87
  /**
88
88
  * Property-authored emission tag. The real client surfaces only
89
- * events whose payload carries this tag, excluding handshake-noise.
89
+ * notifications whose payload carries this tag, excluding handshake-noise.
90
90
  * Implementations match on the event payload's `__emissionId` field
91
- * (set by `ClientHandshakeWindow.emitTaggedEvent`).
91
+ * (set by `ClientHandshakeWindow.emitTaggedNotification`).
92
92
  */
93
93
  readonly emissionTag?: string;
94
94
  /** Restrict to a specific conversation / task. */
95
95
  readonly conversationId?: string;
96
- /** Restrict to a specific event-name family. */
97
- readonly eventNamePrefix?: string;
96
+ /** Restrict to a specific notification-name family. */
97
+ readonly notificationNamePrefix?: string;
98
98
  }
99
99
  /**
100
- * Observed event after the real client has surfaced it on its public
100
+ * Observed notification after the real client has surfaced it on its public
101
101
  * subscriber API. `rawBytes` carries the payload byte-for-byte (C3);
102
- * `decoded` is the schema-decoded frame (A2 validation target).
102
+ * `decoded` is unknown because divergence proofs intentionally model clients
103
+ * that surface malformed notifications.
103
104
  */
104
- export interface ObservedEvent {
105
+ export interface ObservedNotification {
105
106
  readonly emissionTag: string | null;
106
- readonly decoded: EventFrame;
107
+ readonly decoded: unknown;
107
108
  readonly rawBytes: Uint8Array;
108
109
  readonly observedAtMs: number;
109
110
  }
@@ -115,27 +116,31 @@ export interface ObservedEvent {
115
116
  * property can assert ID-set equality (B4, O7 idempotence).
116
117
  */
117
118
  export interface RealClientRpcCaller {
118
- readonly call: (method: string, params: unknown) => Effect.Effect<ResponseFrame, RealClientRpcError>;
119
+ readonly call: (method: string, params: unknown) => Effect.Effect<ResponseFrame | NotificationFrame, RealClientRpcError>;
119
120
  /** Stream of outbound request IDs the real client has minted. */
120
121
  readonly outboundIdFeed: Effect.Effect<ReadonlyArray<string>>;
121
122
  }
123
+ declare const RealClientLifecycleError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
124
+ readonly _tag: "RealClientLifecycleError";
125
+ } & Readonly<A>;
122
126
  /**
123
127
  * Real-client lifecycle error tag. All three cover the Principle 3 error
124
128
  * channel; no raw throws escape the factory's Scope.
125
129
  */
126
- export declare class RealClientLifecycleError {
130
+ export declare class RealClientLifecycleError extends RealClientLifecycleError_base<{
127
131
  readonly cause: unknown;
128
- readonly _tag = "RealClientLifecycleError";
129
- constructor(cause: unknown);
132
+ }> {
130
133
  }
134
+ declare const RealClientRpcError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
135
+ readonly _tag: "RealClientRpcError";
136
+ } & Readonly<A>;
131
137
  /** Typed error surface for real-client RPC calls (D5 predicate target). */
132
- export declare class RealClientRpcError {
138
+ export declare class RealClientRpcError extends RealClientRpcError_base<{
139
+ readonly cause: unknown;
140
+ readonly documentedErrorTag: string | null;
133
141
  readonly kind: "timeout" | "server-error" | "malformed-response" | "disconnected";
134
142
  readonly method: string;
135
- readonly documentedErrorTag: string | null;
136
- readonly cause: unknown;
137
- readonly _tag = "RealClientRpcError";
138
- constructor(kind: "timeout" | "server-error" | "malformed-response" | "disconnected", method: string, documentedErrorTag: string | null, cause: unknown);
143
+ }> {
139
144
  }
140
145
  /** Close-event shape surfaced by `RealClientHandle.closeSignal`. */
141
146
  export interface RealClientCloseEvent {
@@ -153,18 +158,18 @@ export interface RealClientCloseEvent {
153
158
  *
154
159
  * Every client-side property that observes frames requests a
155
160
  * `ClientHandshakeWindow` on its fixture and emits via
156
- * `emitTaggedEvent` / `emitTaggedResponse`. The window stamps each
161
+ * `emitTaggedNotification` / `emitTaggedResponse`. The window stamps each
157
162
  * emission with a property-authored `emissionTag`; the
158
- * `RealClientEventSubscriber` filter drops untagged events.
163
+ * `RealClientNotificationSubscriber` filter drops untagged notifications.
159
164
  *
160
165
  * D6 is the only client-side property exempt (observes lifecycle
161
166
  * signals, not frames).
162
167
  */
163
168
  export interface ClientHandshakeWindow {
164
169
  readonly freshEmissionTag: Effect.Effect<string>;
165
- readonly emitTaggedEvent: (opts: {
170
+ readonly emitTaggedNotification: (opts: {
166
171
  readonly connection: TestServerConnection;
167
- readonly base: EventFrame;
172
+ readonly base: NotificationFrame;
168
173
  readonly emissionTag: string;
169
174
  }) => Effect.Effect<string>;
170
175
  readonly emitTaggedResponse: (opts: {
@@ -255,4 +260,5 @@ export declare function freshTag(window: ClientHandshakeWindow): Effect.Effect<s
255
260
  * indefinitely.
256
261
  */
257
262
  export declare function awaitConnection(testServer: TestServer, timeoutMs?: number): Effect.Effect<TestServerConnection, TransportIoError>;
263
+ export {};
258
264
  //# sourceMappingURL=runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/testing/conformance/client/runner.ts"],"names":[],"mappings":"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"}
@@ -16,36 +16,31 @@
16
16
  * export (see §4 O5 resolution in the design doc) that returns the same
17
17
  * factory shape.
18
18
  */
19
- import { Context, Effect, Ref } from "effect";
19
+ import { Config, ConfigProvider, Context, Data, Effect, Ref, } from "effect";
20
+ import { responseFrame } from "../../../helpers.js";
21
+ import { brandNotificationFrame } from "../../../schema/internal-frames.js";
22
+ import { isJsonRpcStringId } from "../../../schema/json-rpc.js";
23
+ import { isRequestFrame } from "../../codec.js";
20
24
  import { makeTestServer, } from "../../test-server.js";
21
25
  import { makeToxiproxyClient, } from "../../toxics/client.js";
22
26
  import { RealServerAcquireError, TransportIoError, } from "../../errors.js";
23
27
  import { conformanceNumRunsFromEnv } from "../env.js";
24
28
  import { PROTOCOL_VERSION } from "../../../version.js";
29
+ import { Connect } from "../../../schema/methods/auth.js";
30
+ const DEFAULT_ACCEPT_TIMEOUT_MS = 5_000;
31
+ const RANDOM_TAG_RADIX = 36;
32
+ const RANDOM_TAG_SLICE_END = 10;
33
+ const RANDOM_TAG_SLICE_START = 2;
34
+ const REPLAY_SEED_MASK = 0x7fffffff;
35
+ const loadFastCheckSeed = Config.integer("FC_SEED").pipe(Effect.withConfigProvider(ConfigProvider.fromEnv()), Effect.orElseSucceed(() => Date.now() & REPLAY_SEED_MASK));
25
36
  /**
26
37
  * Real-client lifecycle error tag. All three cover the Principle 3 error
27
38
  * channel; no raw throws escape the factory's Scope.
28
39
  */
29
- export class RealClientLifecycleError {
30
- cause;
31
- _tag = "RealClientLifecycleError";
32
- constructor(cause) {
33
- this.cause = cause;
34
- }
40
+ export class RealClientLifecycleError extends Data.TaggedError("RealClientLifecycleError") {
35
41
  }
36
42
  /** Typed error surface for real-client RPC calls (D5 predicate target). */
37
- export class RealClientRpcError {
38
- kind;
39
- method;
40
- documentedErrorTag;
41
- cause;
42
- _tag = "RealClientRpcError";
43
- constructor(kind, method, documentedErrorTag, cause) {
44
- this.kind = kind;
45
- this.method = method;
46
- this.documentedErrorTag = documentedErrorTag;
47
- this.cause = cause;
48
- }
43
+ export class RealClientRpcError extends Data.TaggedError("RealClientRpcError") {
49
44
  }
50
45
  export const ClientHandshakeWindow = Context.GenericTag("@moltzap/protocol/testing/ClientHandshakeWindow");
51
46
  /**
@@ -65,8 +60,7 @@ export function acquireClientRunContext(opts) {
65
60
  ...opts,
66
61
  numRuns: opts.numRuns ?? conformanceNumRunsFromEnv(),
67
62
  };
68
- const seed = effectiveOpts.replaySeed ??
69
- Number(process.env.FC_SEED ?? Date.now() & 0x7fffffff);
63
+ const seed = effectiveOpts.replaySeed ?? (yield* loadFastCheckSeed);
70
64
  const artifacts = yield* Ref.make([]);
71
65
  // Bind the TestServer under the ambient Scope. Server-close on teardown.
72
66
  const testServer = yield* makeTestServer({
@@ -92,8 +86,10 @@ export function acquireClientRunContext(opts) {
92
86
  // The context carries the initial no-op shape so type-system contracts
93
87
  // hold; each property body still binds a per-handle window.
94
88
  const handshakeWindow = {
95
- freshEmissionTag: Effect.sync(() => `tag-${Math.random().toString(36).slice(2, 10)}`),
96
- emitTaggedEvent: ({ connection, base, emissionTag }) => emitTaggedEventDefault(connection, base, emissionTag),
89
+ freshEmissionTag: Effect.sync(() => `tag-${Math.random()
90
+ .toString(RANDOM_TAG_RADIX)
91
+ .slice(RANDOM_TAG_SLICE_START, RANDOM_TAG_SLICE_END)}`),
92
+ emitTaggedNotification: ({ connection, base, emissionTag }) => emitTaggedNotificationDefault(connection, base, emissionTag),
97
93
  emitTaggedResponse: ({ connection, base, emissionTag }) => emitTaggedResponseDefault(connection, base, emissionTag),
98
94
  awaitHandshakeComplete: Effect.void,
99
95
  };
@@ -109,31 +105,32 @@ export function acquireClientRunContext(opts) {
109
105
  });
110
106
  }
111
107
  /**
112
- * Default tagged-event emission: stamp the event payload with the
108
+ * Default tagged-notification emission: stamp the notification payload with the
113
109
  * caller's `emissionTag` under the reserved `__emissionTag` key, then
114
- * forward to the connection's real `emitEvent`. Returns the tag so the
110
+ * forward to the connection's real `emitNotification`. Returns the tag so the
115
111
  * caller can filter subscriber observations by the same string.
116
112
  *
117
- * `EventFrame.data` is `Type.Optional(Type.Unknown())`; injecting an
113
+ * `NotificationFrame.params` is `Type.Optional(Type.Unknown())`; injecting an
118
114
  * object field is schema-valid. The real clients under test are
119
115
  * payload-opaque (C3 predicate), so the extra field round-trips cleanly.
120
116
  */
121
- function emitTaggedEventDefault(connection, base, emissionTag) {
122
- const base_data = isStringKeyedRecord(base.data) ? base.data : {};
123
- const tagged = {
117
+ function emitTaggedNotificationDefault(connection, base, emissionTag) {
118
+ const baseParams = isStringKeyedRecord(base.params) ? base.params : {};
119
+ const tagged = brandNotificationFrame({
124
120
  ...base,
125
- data: { ...base_data, __emissionTag: emissionTag },
126
- };
127
- return connection.emitEvent(tagged).pipe(Effect.orElseSucceed(() => undefined), Effect.as(emissionTag));
121
+ params: { ...baseParams, __emissionTag: emissionTag },
122
+ });
123
+ return connection.emitNotification(tagged).pipe(Effect.orElseSucceed(() => undefined), Effect.as(emissionTag));
128
124
  }
129
125
  function isStringKeyedRecord(value) {
130
126
  return typeof value === "object" && value !== null && !Array.isArray(value);
131
127
  }
132
128
  function emitTaggedResponseDefault(connection, base, _emissionTag) {
133
- // Response frames don't carry a free-form `data` field; responses are
129
+ // Response frames don't carry a free-form `params` field; responses are
134
130
  // correlated by `id` instead — the response's `id` IS its emission tag
135
131
  // from the property's perspective (see B1 / B4 / D5 predicates).
136
- return connection.emitResponse(base).pipe(Effect.orElseSucceed(() => undefined), Effect.as(base.id));
132
+ const tag = isJsonRpcStringId(base.id) ? base.id : _emissionTag;
133
+ return connection.emitResponse(base).pipe(Effect.orElseSucceed(() => undefined), Effect.as(tag));
137
134
  }
138
135
  /**
139
136
  * Build a `ClientHandshakeWindow` from a real-client handle. Returns a
@@ -146,7 +143,7 @@ export function makeClientHandshakeWindow(handle) {
146
143
  const tagCounter = yield* Ref.make(0);
147
144
  return {
148
145
  freshEmissionTag: Ref.updateAndGet(tagCounter, (n) => n + 1).pipe(Effect.map((n) => `emit-${handle.agentId}-${n}`)),
149
- emitTaggedEvent: ({ connection, base, emissionTag }) => emitTaggedEventDefault(connection, base, emissionTag),
146
+ emitTaggedNotification: ({ connection, base, emissionTag }) => emitTaggedNotificationDefault(connection, base, emissionTag),
150
147
  emitTaggedResponse: ({ connection, base, emissionTag }) => emitTaggedResponseDefault(connection, base, emissionTag),
151
148
  awaitHandshakeComplete: handle.ready,
152
149
  };
@@ -172,8 +169,8 @@ export function runAutoHandshakeResponder(connection, agentId) {
172
169
  for (const entry of snap) {
173
170
  if (entry.kind === "inbound" &&
174
171
  entry.frame !== null &&
175
- entry.frame.type === "request" &&
176
- entry.frame.method === "auth/connect") {
172
+ isRequestFrame(entry.frame) &&
173
+ entry.frame.method === Connect.name) {
177
174
  const helloOk = {
178
175
  protocolVersion: PROTOCOL_VERSION,
179
176
  agentId,
@@ -192,13 +189,7 @@ export function runAutoHandshakeResponder(connection, agentId) {
192
189
  },
193
190
  };
194
191
  yield* connection
195
- .emitResponse({
196
- jsonrpc: "2.0",
197
- type: "response",
198
- direction: "c2s",
199
- id: entry.frame.id,
200
- result: helloOk,
201
- })
192
+ .emitResponse(responseFrame(entry.frame.id, { result: helloOk }))
202
193
  .pipe(Effect.orElseSucceed(() => undefined));
203
194
  handshakeHandled = true;
204
195
  break;
@@ -220,7 +211,7 @@ export function freshTag(window) {
220
211
  * never-connecting real client doesn't block the property body
221
212
  * indefinitely.
222
213
  */
223
- export function awaitConnection(testServer, timeoutMs = 5000) {
214
+ export function awaitConnection(testServer, timeoutMs = DEFAULT_ACCEPT_TIMEOUT_MS) {
224
215
  return testServer.accept.pipe(Effect.timeoutFail({
225
216
  duration: `${timeoutMs} millis`,
226
217
  onTimeout: () => new TransportIoError({