@moltzap/protocol 2026.503.4 → 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 (225) 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 +0 -987
  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 +2 -14
  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 +7 -6
  110. package/dist/testing/arbitraries/frames.js.map +1 -1
  111. package/dist/testing/arbitraries/index.d.ts +1 -1
  112. package/dist/testing/arbitraries/index.d.ts.map +1 -1
  113. package/dist/testing/arbitraries/index.js +1 -1
  114. package/dist/testing/arbitraries/index.js.map +1 -1
  115. package/dist/testing/arbitraries/rpc.d.ts +3 -2
  116. package/dist/testing/arbitraries/rpc.d.ts.map +1 -1
  117. package/dist/testing/arbitraries/rpc.js +1 -0
  118. package/dist/testing/arbitraries/rpc.js.map +1 -1
  119. package/dist/testing/codec.d.ts +13 -11
  120. package/dist/testing/codec.d.ts.map +1 -1
  121. package/dist/testing/codec.js +30 -45
  122. package/dist/testing/codec.js.map +1 -1
  123. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts.map +1 -1
  124. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js +10 -3
  125. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js.map +1 -1
  126. package/dist/testing/conformance/_helpers.d.ts +6 -6
  127. package/dist/testing/conformance/_helpers.d.ts.map +1 -1
  128. package/dist/testing/conformance/_helpers.js +6 -7
  129. package/dist/testing/conformance/_helpers.js.map +1 -1
  130. package/dist/testing/conformance/adversity.d.ts.map +1 -1
  131. package/dist/testing/conformance/adversity.js +14 -31
  132. package/dist/testing/conformance/adversity.js.map +1 -1
  133. package/dist/testing/conformance/boundary.d.ts +1 -1
  134. package/dist/testing/conformance/boundary.d.ts.map +1 -1
  135. package/dist/testing/conformance/boundary.js +13 -18
  136. package/dist/testing/conformance/boundary.js.map +1 -1
  137. package/dist/testing/conformance/client/_fixtures.d.ts +7 -5
  138. package/dist/testing/conformance/client/_fixtures.d.ts.map +1 -1
  139. package/dist/testing/conformance/client/_fixtures.js +17 -8
  140. package/dist/testing/conformance/client/_fixtures.js.map +1 -1
  141. package/dist/testing/conformance/client/adversity.d.ts.map +1 -1
  142. package/dist/testing/conformance/client/adversity.js +8 -7
  143. package/dist/testing/conformance/client/adversity.js.map +1 -1
  144. package/dist/testing/conformance/client/boundary.d.ts +2 -2
  145. package/dist/testing/conformance/client/boundary.d.ts.map +1 -1
  146. package/dist/testing/conformance/client/boundary.js +13 -12
  147. package/dist/testing/conformance/client/boundary.js.map +1 -1
  148. package/dist/testing/conformance/client/delivery.d.ts +5 -5
  149. package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
  150. package/dist/testing/conformance/client/delivery.js +53 -55
  151. package/dist/testing/conformance/client/delivery.js.map +1 -1
  152. package/dist/testing/conformance/client/index.d.ts +2 -2
  153. package/dist/testing/conformance/client/index.d.ts.map +1 -1
  154. package/dist/testing/conformance/client/index.js +1 -1
  155. package/dist/testing/conformance/client/index.js.map +1 -1
  156. package/dist/testing/conformance/client/rpc-semantics.d.ts.map +1 -1
  157. package/dist/testing/conformance/client/rpc-semantics.js +13 -22
  158. package/dist/testing/conformance/client/rpc-semantics.js.map +1 -1
  159. package/dist/testing/conformance/client/runner.d.ts +25 -24
  160. package/dist/testing/conformance/client/runner.d.ts.map +1 -1
  161. package/dist/testing/conformance/client/runner.js +20 -22
  162. package/dist/testing/conformance/client/runner.js.map +1 -1
  163. package/dist/testing/conformance/client/schema-conformance.d.ts +8 -8
  164. package/dist/testing/conformance/client/schema-conformance.d.ts.map +1 -1
  165. package/dist/testing/conformance/client/schema-conformance.js +34 -34
  166. package/dist/testing/conformance/client/schema-conformance.js.map +1 -1
  167. package/dist/testing/conformance/client/suite.js +2 -2
  168. package/dist/testing/conformance/client/suite.js.map +1 -1
  169. package/dist/testing/conformance/delivery.d.ts.map +1 -1
  170. package/dist/testing/conformance/delivery.js +58 -53
  171. package/dist/testing/conformance/delivery.js.map +1 -1
  172. package/dist/testing/conformance/dispatcher-concurrency.js +12 -12
  173. package/dist/testing/conformance/dispatcher-concurrency.js.map +1 -1
  174. package/dist/testing/conformance/presence.d.ts.map +1 -1
  175. package/dist/testing/conformance/presence.js +32 -23
  176. package/dist/testing/conformance/presence.js.map +1 -1
  177. package/dist/testing/conformance/rpc-semantics.d.ts +12 -12
  178. package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -1
  179. package/dist/testing/conformance/rpc-semantics.js +43 -41
  180. package/dist/testing/conformance/rpc-semantics.js.map +1 -1
  181. package/dist/testing/conformance/schema-conformance.d.ts +3 -40
  182. package/dist/testing/conformance/schema-conformance.d.ts.map +1 -1
  183. package/dist/testing/conformance/schema-conformance.js +38 -244
  184. package/dist/testing/conformance/schema-conformance.js.map +1 -1
  185. package/dist/testing/conformance/suite.d.ts.map +1 -1
  186. package/dist/testing/conformance/suite.js +5 -9
  187. package/dist/testing/conformance/suite.js.map +1 -1
  188. package/dist/testing/index.d.ts +1 -1
  189. package/dist/testing/index.d.ts.map +1 -1
  190. package/dist/testing/models/dispatch.d.ts +5 -5
  191. package/dist/testing/models/dispatch.d.ts.map +1 -1
  192. package/dist/testing/models/dispatch.js +1 -18
  193. package/dist/testing/models/dispatch.js.map +1 -1
  194. package/dist/testing/models/state.d.ts +2 -2
  195. package/dist/testing/models/state.d.ts.map +1 -1
  196. package/dist/testing/test-client.d.ts +36 -44
  197. package/dist/testing/test-client.d.ts.map +1 -1
  198. package/dist/testing/test-client.js +117 -105
  199. package/dist/testing/test-client.js.map +1 -1
  200. package/dist/testing/test-server.d.ts +5 -5
  201. package/dist/testing/test-server.d.ts.map +1 -1
  202. package/dist/testing/test-server.js +4 -4
  203. package/dist/testing/test-server.js.map +1 -1
  204. package/dist/types.d.ts +3 -5
  205. package/dist/types.d.ts.map +1 -1
  206. package/dist/types.js.map +1 -1
  207. package/dist/validators.d.ts +366 -101
  208. package/dist/validators.d.ts.map +1 -1
  209. package/dist/validators.js +23 -30
  210. package/dist/validators.js.map +1 -1
  211. package/dist/version.d.ts +1 -1
  212. package/dist/version.js +1 -1
  213. package/package.json +2 -2
  214. package/dist/schema/events.d.ts +0 -213
  215. package/dist/schema/events.d.ts.map +0 -1
  216. package/dist/schema/events.js +0 -122
  217. package/dist/schema/events.js.map +0 -1
  218. package/dist/schema/methods/push.d.ts +0 -21
  219. package/dist/schema/methods/push.d.ts.map +0 -1
  220. package/dist/schema/methods/push.js +0 -28
  221. package/dist/schema/methods/push.js.map +0 -1
  222. package/dist/schema/surfaces.d.ts +0 -55
  223. package/dist/schema/surfaces.d.ts.map +0 -1
  224. package/dist/schema/surfaces.js +0 -55
  225. package/dist/schema/surfaces.js.map +0 -1
@@ -1,13 +1,12 @@
1
1
  import { ErrorCodes } from "../../schema/errors.js";
2
2
  import { mkTick } from "./state.js";
3
3
  import { AgentsList, AgentsLookup, AgentsLookupByName, Connect, InviteAgent, Register, SelectAgent, } from "../../schema/methods/auth.js";
4
- import { AppsAttachConversation, AppsAttestSkill, AppsAuthorizeDispatch, AppsCloseSession, AppsCreate, AppsGetSession, AppsListSessions, PermissionsGrant, PermissionsList, PermissionsRevoke, } from "../../schema/methods/apps.js";
4
+ import { AppsAttachConversation, AppsAuthorizeDispatch, AppsCloseSession, AppsCreate, AppsGetSession, AppsListSessions, } from "../../schema/methods/apps.js";
5
5
  import { ContactsAccept, ContactsAdd, ContactsList, } from "../../schema/methods/contacts.js";
6
6
  import { ConversationsAddParticipant, ConversationsArchive, ConversationsCreate, ConversationsGet, ConversationsLeave, ConversationsList, ConversationsMute, ConversationsRemoveParticipant, ConversationsUnarchive, ConversationsUnmute, ConversationsUpdate, } from "../../schema/methods/conversations.js";
7
7
  import { InvitesCreateAgent } from "../../schema/methods/invites.js";
8
8
  import { MessagesList, MessagesSend } from "../../schema/methods/messages.js";
9
9
  import { PresenceSubscribe, PresenceUpdate, } from "../../schema/methods/presence.js";
10
- import { PushRegister, PushUnregister } from "../../schema/methods/push.js";
11
10
  // `ErrorCodes` is re-used from `../../schema/errors.ts` so the model and
12
11
  // the server share one source of truth for code values.
13
12
  /**
@@ -26,8 +25,6 @@ const IDEMPOTENT_METHODS = new Set([
26
25
  PresenceSubscribe.name,
27
26
  AppsListSessions.name,
28
27
  AppsGetSession.name,
29
- PermissionsList.name,
30
- "surface/get",
31
28
  ]);
32
29
  export function isIdempotent(method) {
33
30
  return IDEMPOTENT_METHODS.has(method);
@@ -166,28 +163,14 @@ export function applyCall(state, call) {
166
163
  case PresenceUpdate.name:
167
164
  case PresenceSubscribe.name:
168
165
  return { next: baseNext, outcome: uncertainError() };
169
- // Push — requires endpoint registration. Uncertain.
170
- case PushRegister.name:
171
- case PushUnregister.name:
172
- return { next: baseNext, outcome: uncertainError() };
173
166
  // Apps — require app/user context the fresh agent doesn't have.
174
167
  case AppsCreate.name:
175
- case AppsAttestSkill.name:
176
- case PermissionsGrant.name:
177
- case PermissionsList.name:
178
- case PermissionsRevoke.name:
179
168
  case AppsCloseSession.name:
180
169
  case AppsGetSession.name:
181
170
  case AppsListSessions.name:
182
171
  case AppsAuthorizeDispatch.name:
183
172
  case AppsAttachConversation.name:
184
173
  return { next: baseNext, outcome: uncertainError() };
185
- // Surfaces — require surface/app context. Uncertain.
186
- case "surface/update":
187
- case "surface/get":
188
- case "surface/action":
189
- case "surface/clear":
190
- return { next: baseNext, outcome: uncertainError() };
191
174
  default: {
192
175
  // Exhaustiveness check — any new RpcMethodName breaks the build here
193
176
  // until a branch is added.
@@ -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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"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import { Brand } from "effect";
13
13
  import type { Agent, Conversation, Message } from "../../types.js";
14
- import type { EventFrame } from "../../schema/frames.js";
14
+ import type { NotificationFrame } from "../../schema/frames.js";
15
15
  /** Monotonic logical clock — the model does not read wall time. */
16
16
  export type LogicalTick = number & Brand.Brand<"LogicalTick">;
17
17
  export declare const LogicalTick: Brand.Brand.Constructor<LogicalTick>;
@@ -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,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,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,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,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"}
@@ -10,8 +10,13 @@
10
10
  * Satisfies AC2. Consumed by Tier A / B / C / D / E properties.
11
11
  */
12
12
  import { Cause, 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";
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, EventWaitError>;
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,13 +92,13 @@ 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>, ServerRequestWaitError>;
95
+ readonly awaitServerRequest: <D extends ServerRpcDefinition>(definition: D, predicate?: (params: ServerRpcParams<D>) => boolean, timeoutMs?: number) => Effect.Effect<ServerRpcParams<D>, ServerRequestWaitError>;
93
96
  }
94
- declare const EventWaitError_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 & {
95
- readonly _tag: "TestingEventWaitError";
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";
96
99
  } & Readonly<A>;
97
- export declare class EventWaitError extends EventWaitError_base<{
98
- readonly eventName: string;
100
+ export declare class NotificationWaitError extends NotificationWaitError_base<{
101
+ readonly definition: AnyNotificationDefinition;
99
102
  readonly message: string;
100
103
  readonly reason: "closed" | "timeout";
101
104
  }> {
@@ -105,36 +108,25 @@ declare const ServerRequestWaitError_base: new <A extends Record<string, any> =
105
108
  } & Readonly<A>;
106
109
  export declare class ServerRequestWaitError extends ServerRequestWaitError_base<{
107
110
  readonly message: string;
108
- readonly method: string;
111
+ readonly definition: ServerRpcDefinition;
109
112
  readonly reason: "timeout";
110
113
  }> {
111
114
  }
112
115
  /**
113
- * Method-name constraint for server-initiated RPC test surface. Narrows to
114
- * the registered s2c methods (`S2cRpcMethodName`) once B.2 populates
115
- * `s2cRpcMethods` in `rpc-registry.ts`. While the registry is empty, the
116
- * constraint falls through to `string` so the test surface remains usable
117
- * during Phase 1.0 — `[never] extends [never]` is true, but `never` as a
118
- * generic constraint blocks every caller. The fallback collapses
119
- * automatically the moment a verb registers.
116
+ * Descriptor constraint for app-callback RPC test surface.
120
117
  */
121
- export type ServerRpcMethod = [S2cRpcMethodName] extends [never] ? string : S2cRpcMethodName;
118
+ export type ServerRpcDefinition = AnyAppCallbackRpcDefinition;
122
119
  /**
123
- * Inbound params type for an s2c method. Resolves to the registered
124
- * params schema via `S2cRpcMap[M]["params"]` once verbs land; falls
125
- * through to `unknown` for the bootstrap window — same condition as
126
- * {@link ServerRpcMethod}.
120
+ * Inbound params type for an app-callback method.
127
121
  */
128
- export type ServerRpcParams<M extends ServerRpcMethod> = M extends S2cRpcMethodName ? S2cRpcMap[M]["params"] : unknown;
122
+ export type ServerRpcParams<D extends ServerRpcDefinition> = ParamsOf<D>;
129
123
  /**
130
- * Outbound result type for an s2c method handler. See {@link ServerRpcParams}
131
- * for the bootstrap fallback rationale.
124
+ * Outbound result type for an app-callback method handler.
132
125
  */
133
- export type ServerRpcResult<M extends ServerRpcMethod> = M extends S2cRpcMethodName ? S2cRpcMap[M]["result"] : unknown;
126
+ export type ServerRpcResult<D extends ServerRpcDefinition> = ResultOf<D>;
134
127
  export interface ServerRpcContext {
135
- readonly requestId: string;
136
- readonly method: string;
137
- readonly traceparent?: string;
128
+ readonly requestId: JsonRpcStringId;
129
+ readonly definition: ServerRpcDefinition;
138
130
  }
139
131
  export interface CloseableTestClient extends TestClient {
140
132
  readonly close: Effect.Effect<void, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"test-client.d.ts","sourceRoot":"","sources":["../../src/testing/test-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-client.d.ts","sourceRoot":"","sources":["../../src/testing/test-client.ts"],"names":[],"mappings":"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"}