@moltzap/protocol 2026.505.1 → 2026.505.3

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 (61) hide show
  1. package/dist/app/methods/apps.d.ts +30 -103
  2. package/dist/app/methods/apps.d.ts.map +1 -1
  3. package/dist/app/methods/apps.js +9 -72
  4. package/dist/app/methods/apps.js.map +1 -1
  5. package/dist/rpc-groups.d.ts +92 -10
  6. package/dist/rpc-groups.d.ts.map +1 -1
  7. package/dist/rpc-groups.js +39 -9
  8. package/dist/rpc-groups.js.map +1 -1
  9. package/dist/rpc-registry.d.ts +29 -241
  10. package/dist/rpc-registry.d.ts.map +1 -1
  11. package/dist/rpc-registry.js +2 -9
  12. package/dist/rpc-registry.js.map +1 -1
  13. package/dist/schema/apps.d.ts +0 -26
  14. package/dist/schema/apps.d.ts.map +1 -1
  15. package/dist/schema/apps.js +1 -19
  16. package/dist/schema/apps.js.map +1 -1
  17. package/dist/schema/index.d.ts +0 -1
  18. package/dist/schema/index.d.ts.map +1 -1
  19. package/dist/schema/index.js +0 -1
  20. package/dist/schema/index.js.map +1 -1
  21. package/dist/schema/notifications.d.ts +133 -106
  22. package/dist/schema/notifications.d.ts.map +1 -1
  23. package/dist/schema/notifications.js +55 -39
  24. package/dist/schema/notifications.js.map +1 -1
  25. package/dist/testing/conformance/boundary.d.ts.map +1 -1
  26. package/dist/testing/conformance/boundary.js +21 -74
  27. package/dist/testing/conformance/boundary.js.map +1 -1
  28. package/dist/testing/conformance/client/adversity.d.ts.map +1 -1
  29. package/dist/testing/conformance/client/adversity.js +5 -2
  30. package/dist/testing/conformance/client/adversity.js.map +1 -1
  31. package/dist/testing/conformance/client/boundary.d.ts.map +1 -1
  32. package/dist/testing/conformance/client/boundary.js +5 -2
  33. package/dist/testing/conformance/client/boundary.js.map +1 -1
  34. package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
  35. package/dist/testing/conformance/client/delivery.js +7 -2
  36. package/dist/testing/conformance/client/delivery.js.map +1 -1
  37. package/dist/testing/conformance/delivery.d.ts +9 -14
  38. package/dist/testing/conformance/delivery.d.ts.map +1 -1
  39. package/dist/testing/conformance/delivery.js +32 -198
  40. package/dist/testing/conformance/delivery.js.map +1 -1
  41. package/dist/testing/conformance/dispatcher-concurrency.js +5 -5
  42. package/dist/testing/conformance/dispatcher-concurrency.js.map +1 -1
  43. package/dist/testing/conformance/suite.js +18 -29
  44. package/dist/testing/conformance/suite.js.map +1 -1
  45. package/dist/testing/models/dispatch.d.ts.map +1 -1
  46. package/dist/testing/models/dispatch.js +12 -9
  47. package/dist/testing/models/dispatch.js.map +1 -1
  48. package/dist/types.d.ts +2 -3
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/types.js.map +1 -1
  51. package/dist/validators.d.ts +20 -34
  52. package/dist/validators.d.ts.map +1 -1
  53. package/dist/validators.js +6 -11
  54. package/dist/validators.js.map +1 -1
  55. package/dist/version.d.ts +1 -1
  56. package/dist/version.js +1 -1
  57. package/package.json +1 -1
  58. package/dist/schema/delivery.d.ts +0 -22
  59. package/dist/schema/delivery.d.ts.map +0 -1
  60. package/dist/schema/delivery.js +0 -13
  61. package/dist/schema/delivery.js.map +0 -1
@@ -32,87 +32,10 @@ export declare const AppsRegister: import("../../rpc.js").RpcDefinition<"apps/re
32
32
  }>, import("@sinclair/typebox").TObject<{
33
33
  appId: import("@sinclair/typebox").TString;
34
34
  }>>;
35
- export declare const AppsCreate: import("../../rpc.js").RpcDefinition<"apps/create", import("@sinclair/typebox").TObject<{
36
- appId: import("@sinclair/typebox").TString;
37
- invitedAgentIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString & {
38
- static: import("../../brands.js").BrandedString<"AgentId">;
39
- }>;
40
- }>, import("@sinclair/typebox").TObject<{
41
- session: import("@sinclair/typebox").TObject<{
42
- id: import("@sinclair/typebox").TString & {
43
- static: import("../../brands.js").BrandedString<"AppSessionId">;
44
- };
45
- appId: import("@sinclair/typebox").TString;
46
- initiatorAgentId: import("@sinclair/typebox").TString & {
47
- static: import("../../brands.js").BrandedString<"AgentId">;
48
- };
49
- status: import("@sinclair/typebox").TString & {
50
- static: "active" | "waiting" | "failed" | "closed";
51
- };
52
- conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString & {
53
- static: import("../../brands.js").BrandedString<"ConversationId">;
54
- }>;
55
- createdAt: import("@sinclair/typebox").TString;
56
- closedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
57
- }>;
58
- }>>;
59
- export declare const AppsCloseSession: import("../../rpc.js").RpcDefinition<"apps/closeSession", import("@sinclair/typebox").TObject<{
60
- sessionId: import("@sinclair/typebox").TString;
61
- }>, import("@sinclair/typebox").TObject<{
62
- closed: import("@sinclair/typebox").TBoolean;
63
- }>>;
64
- export declare const AppsGetSession: import("../../rpc.js").RpcDefinition<"apps/getSession", import("@sinclair/typebox").TObject<{
65
- sessionId: import("@sinclair/typebox").TString;
66
- }>, import("@sinclair/typebox").TObject<{
67
- session: import("@sinclair/typebox").TObject<{
68
- id: import("@sinclair/typebox").TString & {
69
- static: import("../../brands.js").BrandedString<"AppSessionId">;
70
- };
71
- appId: import("@sinclair/typebox").TString;
72
- initiatorAgentId: import("@sinclair/typebox").TString & {
73
- static: import("../../brands.js").BrandedString<"AgentId">;
74
- };
75
- status: import("@sinclair/typebox").TString & {
76
- static: "active" | "waiting" | "failed" | "closed";
77
- };
78
- conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString & {
79
- static: import("../../brands.js").BrandedString<"ConversationId">;
80
- }>;
81
- createdAt: import("@sinclair/typebox").TString;
82
- closedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
- }>;
84
- }>>;
85
- export declare const AppsListSessions: import("../../rpc.js").RpcDefinition<"apps/listSessions", import("@sinclair/typebox").TObject<{
86
- appId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
87
- status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString & {
88
- static: "active" | "waiting" | "closed";
89
- }>;
90
- limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
91
- }>, import("@sinclair/typebox").TObject<{
92
- sessions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
93
- id: import("@sinclair/typebox").TString & {
94
- static: import("../../brands.js").BrandedString<"AppSessionId">;
95
- };
96
- appId: import("@sinclair/typebox").TString;
97
- initiatorAgentId: import("@sinclair/typebox").TString & {
98
- static: import("../../brands.js").BrandedString<"AgentId">;
99
- };
100
- status: import("@sinclair/typebox").TString & {
101
- static: "active" | "waiting" | "failed" | "closed";
102
- };
103
- conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString & {
104
- static: import("../../brands.js").BrandedString<"ConversationId">;
105
- }>;
106
- createdAt: import("@sinclair/typebox").TString;
107
- closedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
108
- }>>;
109
- }>>;
110
35
  /**
111
36
  * Verdict from a `before_dispatch` admission handler. Discriminated by
112
37
  * `decision`: `grant` (allow; optional lease for held delivery), `deny`
113
38
  * (reject), `hold` (defer behind a lease the app will release later).
114
- *
115
- * Re-exported from `@moltzap/app-sdk` as `DispatchAdmissionResult`.
116
39
  */
117
40
  export declare const DispatchAdmissionDecisionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
118
41
  decision: import("@sinclair/typebox").TLiteral<"grant">;
@@ -212,8 +135,6 @@ export declare const AppsAuthorizeDispatch: import("../../rpc.js").RpcDefinition
212
135
  * Verdict from a `before_message_delivery` admission handler. `block: true`
213
136
  * drops the message; `block: false` allows. Optional `patch.parts` mutates
214
137
  * the recipient view; optional `feedback` emits an observability hook.
215
- *
216
- * Re-exported from `@moltzap/app-sdk` as `HookResult`.
217
138
  */
218
139
  export declare const HookResultSchema: import("@sinclair/typebox").TObject<{
219
140
  block: import("@sinclair/typebox").TBoolean;
@@ -248,7 +169,9 @@ export type HookResult = Static<typeof HookResultSchema>;
248
169
  * server-side `BeforeDispatchContext` minus runtime-only fields (`signal`).
249
170
  */
250
171
  export declare const BeforeDispatchContextSchema: import("@sinclair/typebox").TObject<{
251
- sessionId: import("@sinclair/typebox").TString;
172
+ taskId: import("@sinclair/typebox").TString & {
173
+ static: import("../../brands.js").BrandedString<"TaskId">;
174
+ };
252
175
  appId: import("@sinclair/typebox").TString;
253
176
  conversationId: import("@sinclair/typebox").TString & {
254
177
  static: import("../../brands.js").BrandedString<"ConversationId">;
@@ -326,7 +249,9 @@ export type BeforeDispatchContext = Static<typeof BeforeDispatchContextSchema>;
326
249
  * Context passed to a `before_message_delivery` admission handler.
327
250
  */
328
251
  export declare const BeforeMessageDeliveryContextSchema: import("@sinclair/typebox").TObject<{
329
- sessionId: import("@sinclair/typebox").TString;
252
+ taskId: import("@sinclair/typebox").TString & {
253
+ static: import("../../brands.js").BrandedString<"TaskId">;
254
+ };
330
255
  appId: import("@sinclair/typebox").TString;
331
256
  conversationId: import("@sinclair/typebox").TString & {
332
257
  static: import("../../brands.js").BrandedString<"ConversationId">;
@@ -359,9 +284,17 @@ export declare const BeforeMessageDeliveryContextSchema: import("@sinclair/typeb
359
284
  }>;
360
285
  }>;
361
286
  export type BeforeMessageDeliveryContext = Static<typeof BeforeMessageDeliveryContextSchema>;
287
+ export declare const LifecycleAgentSchema: import("@sinclair/typebox").TObject<{
288
+ agentId: import("@sinclair/typebox").TString & {
289
+ static: import("../../brands.js").BrandedString<"AgentId">;
290
+ };
291
+ ownerId: import("@sinclair/typebox").TString;
292
+ }>;
362
293
  /** Context passed to an `on_close` lifecycle handler. */
363
294
  export declare const OnCloseContextSchema: import("@sinclair/typebox").TObject<{
364
- sessionId: import("@sinclair/typebox").TString;
295
+ taskId: import("@sinclair/typebox").TString & {
296
+ static: import("../../brands.js").BrandedString<"TaskId">;
297
+ };
365
298
  appId: import("@sinclair/typebox").TString;
366
299
  conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
367
300
  closedBy: import("@sinclair/typebox").TObject<{
@@ -374,7 +307,9 @@ export declare const OnCloseContextSchema: import("@sinclair/typebox").TObject<{
374
307
  export type OnCloseContext = Static<typeof OnCloseContextSchema>;
375
308
  /** Context passed to an `on_session_active` lifecycle handler. */
376
309
  export declare const OnSessionActiveContextSchema: import("@sinclair/typebox").TObject<{
377
- sessionId: import("@sinclair/typebox").TString;
310
+ taskId: import("@sinclair/typebox").TString & {
311
+ static: import("../../brands.js").BrandedString<"TaskId">;
312
+ };
378
313
  appId: import("@sinclair/typebox").TString;
379
314
  conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
380
315
  admittedAgentIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString & {
@@ -383,7 +318,9 @@ export declare const OnSessionActiveContextSchema: import("@sinclair/typebox").T
383
318
  }>;
384
319
  export type OnSessionActiveContext = Static<typeof OnSessionActiveContextSchema>;
385
320
  export declare const AppsOnBeforeDispatch: import("../../rpc.js").RpcDefinition<"apps/onBeforeDispatch", import("@sinclair/typebox").TObject<{
386
- sessionId: import("@sinclair/typebox").TString;
321
+ taskId: import("@sinclair/typebox").TString & {
322
+ static: import("../../brands.js").BrandedString<"TaskId">;
323
+ };
387
324
  appId: import("@sinclair/typebox").TString;
388
325
  conversationId: import("@sinclair/typebox").TString & {
389
326
  static: import("../../brands.js").BrandedString<"ConversationId">;
@@ -472,7 +409,9 @@ export declare const AppsOnBeforeDispatch: import("../../rpc.js").RpcDefinition<
472
409
  }>]>;
473
410
  }>>;
474
411
  export declare const AppsOnBeforeMessageDelivery: import("../../rpc.js").RpcDefinition<"apps/onBeforeMessageDelivery", import("@sinclair/typebox").TObject<{
475
- sessionId: import("@sinclair/typebox").TString;
412
+ taskId: import("@sinclair/typebox").TString & {
413
+ static: import("../../brands.js").BrandedString<"TaskId">;
414
+ };
476
415
  appId: import("@sinclair/typebox").TString;
477
416
  conversationId: import("@sinclair/typebox").TString & {
478
417
  static: import("../../brands.js").BrandedString<"ConversationId">;
@@ -531,7 +470,9 @@ export declare const AppsOnBeforeMessageDelivery: import("../../rpc.js").RpcDefi
531
470
  }>>;
532
471
  }>>;
533
472
  export declare const AppsOnSessionActive: import("../../rpc.js").RpcDefinition<"apps/onSessionActive", import("@sinclair/typebox").TObject<{
534
- sessionId: import("@sinclair/typebox").TString;
473
+ taskId: import("@sinclair/typebox").TString & {
474
+ static: import("../../brands.js").BrandedString<"TaskId">;
475
+ };
535
476
  appId: import("@sinclair/typebox").TString;
536
477
  conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
537
478
  admittedAgentIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString & {
@@ -539,7 +480,9 @@ export declare const AppsOnSessionActive: import("../../rpc.js").RpcDefinition<"
539
480
  }>;
540
481
  }>, import("@sinclair/typebox").TObject<{}>>;
541
482
  export declare const AppsOnClose: import("../../rpc.js").RpcDefinition<"apps/onClose", import("@sinclair/typebox").TObject<{
542
- sessionId: import("@sinclair/typebox").TString;
483
+ taskId: import("@sinclair/typebox").TString & {
484
+ static: import("../../brands.js").BrandedString<"TaskId">;
485
+ };
543
486
  appId: import("@sinclair/typebox").TString;
544
487
  conversations: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
545
488
  closedBy: import("@sinclair/typebox").TObject<{
@@ -549,20 +492,4 @@ export declare const AppsOnClose: import("../../rpc.js").RpcDefinition<"apps/onC
549
492
  ownerId: import("@sinclair/typebox").TString;
550
493
  }>;
551
494
  }>, import("@sinclair/typebox").TObject<{}>>;
552
- /**
553
- * `apps/attachConversation` — client-originated. Adds an existing conversation
554
- * to a session's membership/role-DM pipeline. Mirrors today's in-process
555
- * `AppHost.attachConversation` (see 33-attach-conversation.integration.test.ts:312-369).
556
- *
557
- * Error channel (implementer wires via RpcResponseError codes):
558
- * - SessionNotFound
559
- * - ConversationNotFound
560
- * - NotAuthorized (caller's app key does not own the session)
561
- */
562
- export declare const AppsAttachConversation: import("../../rpc.js").RpcDefinition<"apps/attachConversation", import("@sinclair/typebox").TObject<{
563
- sessionId: import("@sinclair/typebox").TString;
564
- conversationId: import("@sinclair/typebox").TString & {
565
- static: import("../../brands.js").BrandedString<"ConversationId">;
566
- };
567
- }>, import("@sinclair/typebox").TObject<{}>>;
568
495
  //# sourceMappingURL=apps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../../src/app/methods/apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQtD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcvB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;GAarB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;GAc3B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;GAczB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;GAgB3B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;IAwB1C,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyChC,CAAC;AAqCH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;EAa5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB9C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAC/C,OAAO,kCAAkC,CAC1C,CAAC;AAUF,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;;;;;;EAQhC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEjE,kEAAkE;AAClE,eAAO,MAAM,4BAA4B;;;;;;;EAQxC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,OAAO,4BAA4B,CACpC,CAAC;AAMF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAO/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAItC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;4CAI9B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;4CAItB,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;;4CAUjC,CAAC"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../../src/app/methods/apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAatD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcvB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;IAwB1C,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,OAAO,+BAA+B,CACvC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyChC,CAAC;AAiCH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;EAa5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB9C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAC/C,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;EAMhC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAQhC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEjE,kEAAkE;AAClE,eAAO,MAAM,4BAA4B;;;;;;;;;EAQxC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC,OAAO,4BAA4B,CACpC,CAAC;AAMF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAO/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAItC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;4CAI9B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;4CAItB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Type } from "@sinclair/typebox";
2
- import { AgentId, ConversationId, MessageId } from "../../schema/primitives.js";
3
- import { AppManifestSchema, AppSessionSchema } from "../../schema/apps.js";
2
+ import { AgentId, ConversationId, MessageId, TaskId, } from "../../schema/primitives.js";
3
+ import { AppManifestSchema } from "../../schema/apps.js";
4
4
  import { PartSchema } from "../../schema/messages.js";
5
5
  import { LogicalClockSchema } from "../../schema/logical-clock.js";
6
6
  import { DateTimeString, stringEnum } from "../../helpers.js";
@@ -14,49 +14,10 @@ export const AppsRegister = defineRpc({
14
14
  appId: Type.String(),
15
15
  }, { additionalProperties: false }),
16
16
  });
17
- export const AppsCreate = defineRpc({
18
- name: "apps/create",
19
- params: Type.Object({
20
- appId: Type.String(),
21
- invitedAgentIds: Type.Array(AgentId),
22
- }, { additionalProperties: false }),
23
- result: Type.Object({ session: AppSessionSchema }, { additionalProperties: false }),
24
- });
25
- export const AppsCloseSession = defineRpc({
26
- name: "apps/closeSession",
27
- params: Type.Object({
28
- sessionId: Type.String({ format: "uuid" }),
29
- }, { additionalProperties: false }),
30
- result: Type.Object({
31
- closed: Type.Boolean(),
32
- }, { additionalProperties: false }),
33
- });
34
- export const AppsGetSession = defineRpc({
35
- name: "apps/getSession",
36
- params: Type.Object({
37
- sessionId: Type.String({ format: "uuid" }),
38
- }, { additionalProperties: false }),
39
- result: Type.Object({
40
- session: AppSessionSchema,
41
- }, { additionalProperties: false }),
42
- });
43
- export const AppsListSessions = defineRpc({
44
- name: "apps/listSessions",
45
- params: Type.Object({
46
- appId: Type.Optional(Type.String()),
47
- status: Type.Optional(stringEnum(["waiting", "active", "closed"])),
48
- limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 200 })),
49
- }, { additionalProperties: false }),
50
- result: Type.Object({
51
- sessions: Type.Array(AppSessionSchema),
52
- }, { additionalProperties: false }),
53
- });
54
17
  /**
55
18
  * Verdict from a `before_dispatch` admission handler. Discriminated by
56
19
  * `decision`: `grant` (allow; optional lease for held delivery), `deny`
57
20
  * (reject), `hold` (defer behind a lease the app will release later).
58
- *
59
- * Re-exported from `@moltzap/app-sdk` as `DispatchAdmissionResult`.
60
21
  */
61
22
  export const DispatchAdmissionDecisionSchema = Type.Union([
62
23
  Type.Object({
@@ -103,17 +64,13 @@ export const AppsAuthorizeDispatch = defineRpc({
103
64
  //
104
65
  // All four appCallback verbs are AWAITABLE — `onSessionActive` / `onClose`
105
66
  // reply with an empty object so AppHost can `Deferred.await` and apply the
106
- // manifest hook timeout. They are NOT fire-and-forget; `app/sessionReady`
107
- // delivery is gated on the `onSessionActive` reply (existing ordering
108
- // invariant — see `31-on-session-active.integration.test.ts:200-230`).
67
+ // manifest hook timeout. They are NOT fire-and-forget. (Phase 7 cutover
68
+ // removed the trigger paths; Phase 9 wires equivalents via TM topology.)
109
69
  //
110
70
  // Verdict shapes mirror `packages/server/src/app/hooks.ts` verbatim — the
111
71
  // `DispatchAdmissionDecisionSchema` constant defined above (and reused here) is the
112
72
  // same union, and `HookResultSchema` matches `HookResult` field-for-field.
113
73
  // Adding a new verdict tag is a protocol change; do it in the spec, not here.
114
- //
115
- // `apps/attachConversation` is client-originated and is registered in the
116
- // `rpcMethods` tuple, not `appCallbackRpcMethods`.
117
74
  // ─────────────────────────────────────────────────────────────────────────────
118
75
  const HookSenderSchema = Type.Object({
119
76
  agentId: AgentId,
@@ -128,8 +85,6 @@ const HookFeedbackSchema = Type.Object({
128
85
  * Verdict from a `before_message_delivery` admission handler. `block: true`
129
86
  * drops the message; `block: false` allows. Optional `patch.parts` mutates
130
87
  * the recipient view; optional `feedback` emits an observability hook.
131
- *
132
- * Re-exported from `@moltzap/app-sdk` as `HookResult`.
133
88
  */
134
89
  export const HookResultSchema = Type.Object({
135
90
  block: Type.Boolean(),
@@ -142,7 +97,7 @@ export const HookResultSchema = Type.Object({
142
97
  * server-side `BeforeDispatchContext` minus runtime-only fields (`signal`).
143
98
  */
144
99
  export const BeforeDispatchContextSchema = Type.Object({
145
- sessionId: Type.String({ format: "uuid" }),
100
+ taskId: TaskId,
146
101
  appId: Type.String(),
147
102
  conversationId: ConversationId,
148
103
  recipient: HookSenderSchema,
@@ -168,7 +123,7 @@ export const BeforeDispatchContextSchema = Type.Object({
168
123
  * Context passed to a `before_message_delivery` admission handler.
169
124
  */
170
125
  export const BeforeMessageDeliveryContextSchema = Type.Object({
171
- sessionId: Type.String({ format: "uuid" }),
126
+ taskId: TaskId,
172
127
  appId: Type.String(),
173
128
  conversationId: ConversationId,
174
129
  sender: HookSenderSchema,
@@ -178,20 +133,20 @@ export const BeforeMessageDeliveryContextSchema = Type.Object({
178
133
  dispatchLeaseId: Type.Optional(Type.String()),
179
134
  }, { additionalProperties: false }),
180
135
  }, { additionalProperties: false });
181
- const LifecycleAgentSchema = Type.Object({
136
+ export const LifecycleAgentSchema = Type.Object({
182
137
  agentId: AgentId,
183
138
  ownerId: Type.String(),
184
139
  }, { additionalProperties: false });
185
140
  /** Context passed to an `on_close` lifecycle handler. */
186
141
  export const OnCloseContextSchema = Type.Object({
187
- sessionId: Type.String({ format: "uuid" }),
142
+ taskId: TaskId,
188
143
  appId: Type.String(),
189
144
  conversations: Type.Record(Type.String(), Type.String()),
190
145
  closedBy: LifecycleAgentSchema,
191
146
  }, { additionalProperties: false });
192
147
  /** Context passed to an `on_session_active` lifecycle handler. */
193
148
  export const OnSessionActiveContextSchema = Type.Object({
194
- sessionId: Type.String({ format: "uuid" }),
149
+ taskId: TaskId,
195
150
  appId: Type.String(),
196
151
  conversations: Type.Record(Type.String(), Type.String()),
197
152
  admittedAgentIds: Type.Array(AgentId),
@@ -219,22 +174,4 @@ export const AppsOnClose = defineRpc({
219
174
  params: OnCloseContextSchema,
220
175
  result: VoidHookResultSchema,
221
176
  });
222
- /**
223
- * `apps/attachConversation` — client-originated. Adds an existing conversation
224
- * to a session's membership/role-DM pipeline. Mirrors today's in-process
225
- * `AppHost.attachConversation` (see 33-attach-conversation.integration.test.ts:312-369).
226
- *
227
- * Error channel (implementer wires via RpcResponseError codes):
228
- * - SessionNotFound
229
- * - ConversationNotFound
230
- * - NotAuthorized (caller's app key does not own the session)
231
- */
232
- export const AppsAttachConversation = defineRpc({
233
- name: "apps/attachConversation",
234
- params: Type.Object({
235
- sessionId: Type.String({ format: "uuid" }),
236
- conversationId: ConversationId,
237
- }, { additionalProperties: false }),
238
- result: Type.Object({}, { additionalProperties: false }),
239
- });
240
177
  //# sourceMappingURL=apps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../../src/app/methods/apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../../src/app/methods/apps.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,53 @@ export type DecodedRpcRequest<D extends AnyRpcDefinition> = D extends AnyRpcDefi
32
32
  readonly definition: D;
33
33
  readonly params: ParamsOf<D>;
34
34
  } : never;
35
- export type DecodedNotification<D extends AnyNotificationDefinition> = D extends AnyNotificationDefinition ? NotificationFrame & {
35
+ /**
36
+ * Common shape for a decoded notification — same wire fields and
37
+ * descriptor attachment regardless of validation state. The `params`
38
+ * channel is the only thing that differs between `Raw` and validated
39
+ * `DecodedNotification` (see below); keeping the rest in one place
40
+ * avoids drift if either shape evolves.
41
+ */
42
+ type DecodedNotificationShape<D extends AnyNotificationDefinition, P> = NotificationFrame & {
43
+ readonly _tag: "Notification";
36
44
  readonly definition: D;
37
45
  readonly method: D["name"];
38
- readonly params: NotificationParamsOf<D>;
39
- } : never;
46
+ readonly params: P;
47
+ };
48
+ /**
49
+ * What the wire decoder produces for a known method BEFORE payload
50
+ * validation. The decoder is payload-opaque per the
51
+ * `delivery/payload-opacity-client` and
52
+ * `boundary/schema-exhaustive-fuzz-client` conformance properties — the
53
+ * `params` field genuinely carries `unknown` until a typed bridge runs
54
+ * `definition.validateParams` (or the shared `validateNotificationParams`
55
+ * helper). Inbound flows: subscriber-fanout dispatch and the
56
+ * `notificationsBufferRef` / `notificationWaitersRef` queues hold this
57
+ * shape; typed bridges lift to `DecodedNotification<D>` after validation.
58
+ */
59
+ export type RawDecodedNotification<D extends AnyNotificationDefinition> = D extends AnyNotificationDefinition ? DecodedNotificationShape<D, unknown> : never;
60
+ /**
61
+ * Post-validation notification: `params` is statically narrowed to the
62
+ * descriptor's payload type. Produced by the validating
63
+ * `decodeNotification` (group helper below) and by typed-bridge lifts
64
+ * (`validateNotificationParams` predicate); typed handlers consume this
65
+ * shape exclusively.
66
+ */
67
+ export type DecodedNotification<D extends AnyNotificationDefinition> = D extends AnyNotificationDefinition ? DecodedNotificationShape<D, NotificationParamsOf<D>> : never;
68
+ /**
69
+ * What the wire decoder produces for an unknown method — the protocol
70
+ * has no `NotificationDefinition` registered for `method`, so there is
71
+ * no descriptor to attach. Conformance fuzz subscribers exercise this
72
+ * branch (e.g. `schema-conformance/notification-well-formedness-client`,
73
+ * `schema-conformance/malformed-frame-handling-client`); production
74
+ * typed handlers cannot consume it because the discriminator
75
+ * (`definition` field absent) excludes it from
76
+ * `RawDecodedNotification<…>`.
77
+ */
78
+ export interface UnknownDecodedNotification extends NotificationFrame {
79
+ readonly _tag: "Notification";
80
+ readonly definition?: undefined;
81
+ }
40
82
  declare const UnknownRpcMethodError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
41
83
  readonly _tag: "UnknownRpcMethodError";
42
84
  } & Readonly<A>;
@@ -84,9 +126,37 @@ export declare function makeNotificationBoundaryService<const Definitions extend
84
126
  export declare function decodeRpcRequest<const Definitions extends readonly AnyRpcDefinition[]>(group: RpcDescriptorGroup<string, Definitions>, frame: RequestFrame): Effect.Effect<DecodedRpcRequest<Definitions[number]>, RpcRequestDecodeError>;
85
127
  export declare function decodeNotification<const Definitions extends readonly AnyNotificationDefinition[]>(group: NotificationDescriptorGroup<string, Definitions>, frame: NotificationFrame): Effect.Effect<DecodedNotification<Definitions[number]>, NotificationDecodeError>;
86
128
  export declare function isDecodedRpcRequest<D extends AnyRpcDefinition>(definition: D, request: DecodedRpcRequest<AnyRpcDefinition>): request is DecodedRpcRequest<D>;
129
+ /**
130
+ * Definition-identity guard for a notification.
131
+ *
132
+ * Two overload shapes:
133
+ * 1. Post-validation input (`DecodedNotification<…>`): narrows to
134
+ * `DecodedNotification<D>` — params remain typed.
135
+ * 2. Pre-validation input (raw + unknown union): narrows to
136
+ * `RawDecodedNotification<D>` — params stay `unknown` until a
137
+ * typed bridge lifts via `validateNotificationParams`.
138
+ *
139
+ * The runtime check is identical (descriptor identity); the type
140
+ * channel keeps the validated/unvalidated split honest. Order matters:
141
+ * the validated overload appears first so a `DecodedNotification`
142
+ * input picks it (subtype of the raw union).
143
+ */
87
144
  export declare function isDecodedNotification<D extends AnyNotificationDefinition>(definition: D, notification: DecodedNotification<AnyNotificationDefinition>): notification is DecodedNotification<D>;
145
+ export declare function isDecodedNotification<D extends AnyNotificationDefinition>(definition: D, notification: RawDecodedNotification<AnyNotificationDefinition> | UnknownDecodedNotification): notification is RawDecodedNotification<D>;
88
146
  export declare function isDecodedRpcRequestInGroup<const Definitions extends readonly AnyRpcDefinition[]>(group: RpcDescriptorGroup<string, Definitions>, request: DecodedRpcRequest<AnyRpcDefinition>): request is DecodedRpcRequest<Definitions[number]>;
147
+ /**
148
+ * Group-membership guard for a notification.
149
+ *
150
+ * Two overload shapes parallel `isDecodedNotification`: validated
151
+ * inputs narrow to `DecodedNotification<Definitions[number]>` (params
152
+ * stay typed); raw inputs narrow to
153
+ * `RawDecodedNotification<Definitions[number]>` (params stay
154
+ * `unknown`). Inbound typed-bridge consumers (`service.handleNotification`)
155
+ * use the raw overload, then run `validateNotificationParams` to lift
156
+ * to the validated form before dispatching to typed handlers.
157
+ */
89
158
  export declare function isDecodedNotificationInGroup<const Definitions extends readonly AnyNotificationDefinition[]>(group: NotificationDescriptorGroup<string, Definitions>, notification: DecodedNotification<AnyNotificationDefinition>): notification is DecodedNotification<Definitions[number]>;
159
+ export declare function isDecodedNotificationInGroup<const Definitions extends readonly AnyNotificationDefinition[]>(group: NotificationDescriptorGroup<string, Definitions>, notification: RawDecodedNotification<AnyNotificationDefinition> | UnknownDecodedNotification): notification is RawDecodedNotification<Definitions[number]>;
90
160
  export interface NotificationHandlerBinding<D extends AnyNotificationDefinition, E, R> {
91
161
  readonly definition: D;
92
162
  readonly handler: (params: NotificationParamsOf<D>) => Effect.Effect<void, E, R>;
@@ -105,15 +175,27 @@ export interface EffectNotificationHandlerLayer<Definitions extends readonly Any
105
175
  /**
106
176
  * Bind a tuple of notification handlers to their descriptors. Returns a
107
177
  * dispatcher that routes each `DecodedNotification` to its handler by
108
- * descriptor identity (set during construction), so dispatch is O(1)
109
- * lookup with no name-string comparison on the hot path.
178
+ * descriptor identity, so dispatch is O(1) with no name-string compare.
110
179
  *
111
180
  * The internal handler map stores `unknown -> Effect<void, E, R>` because
112
- * `Definitions[number]` is a union and each individual binding is keyed
113
- * to one concrete `D`. Descriptor identity (set during construction) is
114
- * the soundness proof: dispatch only sees `params` produced by the same
115
- * descriptor's pre-compiled AJV validator, so the unknown→params cast is
116
- * the boundary where validation already passed.
181
+ * `Definitions[number]` is a union and each binding is keyed to one
182
+ * concrete `D`. Descriptor identity proves the type-level link between
183
+ * the dispatched `params` and the bound handler but it does NOT prove
184
+ * the runtime params actually conform for *inbound* notifications: the
185
+ * wire decoder is payload-opaque (required so
186
+ * `delivery/payload-opacity-client` and
187
+ * `boundary/schema-exhaustive-fuzz-client` conformance hold). Outbound
188
+ * bindings whose call sites already constructed `params` against the
189
+ * schema are safe. *Inbound* dispatchers MUST route through
190
+ * `client/src/ws-client.ts:validateNotificationParams` before invoking
191
+ * the handler. Current inbound bridges that do so:
192
+ * - `client/src/ws-client.ts:acceptTypedNotification` — typed
193
+ * `waitForNotification` promise resolver.
194
+ * - `client/src/service.ts:handleNotification` — subscriber-fanout
195
+ * dispatch into `notificationHandlers.dispatch`.
196
+ * The cast inside `dispatch(notification.params)` below is sound for
197
+ * outbound, unsound for unguarded inbound — every inbound bridge owns
198
+ * the validation step.
117
199
  */
118
200
  export declare function defineEffectNotificationHandlers<const Definitions extends readonly AnyNotificationDefinition[], E, const Bindings extends NotificationHandlerTuple<Definitions, E>>(group: NotificationDescriptorGroup<string, Definitions>, bindings: Bindings): EffectNotificationHandlerLayer<Definitions, E, NotificationBindingRequirements<Bindings>>;
119
201
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-groups.d.ts","sourceRoot":"","sources":["../src/rpc-groups.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEjE,KAAK,gBAAgB,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChE,KAAK,yBAAyB,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAezE,MAAM,WAAW,kBAAkB,CACjC,SAAS,SAAS,MAAM,EACxB,WAAW,SAAS,SAAS,gBAAgB,EAAE;IAE/C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,2BAA2B,CAC1C,SAAS,SAAS,MAAM,EACxB,WAAW,SAAS,SAAS,yBAAyB,EAAE;IAExD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AAED,wBAAgB,cAAc,CAC5B,KAAK,CAAC,SAAS,SAAS,MAAM,EAC9B,KAAK,CAAC,WAAW,SAAS,SAAS,gBAAgB,EAAE,EAErD,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,WAAW,GACvB,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAO5C;AAED,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,SAAS,SAAS,MAAM,EAC9B,KAAK,CAAC,WAAW,SAAS,SAAS,yBAAyB,EAAE,EAE9D,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,WAAW,GACvB,2BAA2B,CAAC,SAAS,EAAE,WAAW,CAAC,CAOrD;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,IACtD,CAAC,SAAS,gBAAgB,GACtB;IACE,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC9B,GACD,KAAK,CAAC;AAEZ,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,yBAAyB,IACjE,CAAC,SAAS,yBAAyB,GAC/B,iBAAiB,GAAG;IAClB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAC1C,GACD,KAAK,CAAC;;;;AAEZ,qBAAa,qBAAsB,SAAQ,2BAEzC;IACA,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CAAC;CAAG;;;;AAEL,qBAAa,qBAAsB,SAAQ,2BAEzC;IACA,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC,CAAC;CAAG;AAEL,MAAM,MAAM,qBAAqB,GAC7B,qBAAqB,GACrB,qBAAqB,CAAC;;;;AAE1B,qBAAa,8BAA+B,SAAQ,oCAElD;IACA,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC,CAAC;CAAG;;;;AAEL,qBAAa,8BAA+B,SAAQ,oCAElD;IACA,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD,CAAC;CAAG;AAEL,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,MAAM,WAAW,kBAAkB,CACjC,WAAW,SAAS,SAAS,gBAAgB,EAAE;IAE/C,QAAQ,CAAC,aAAa,EAAE,CACtB,KAAK,EAAE,YAAY,KAChB,MAAM,CAAC,MAAM,CAChB,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EACtC,qBAAqB,CACtB,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B,CAC1C,WAAW,SAAS,SAAS,yBAAyB,EAAE;IAExD,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,iBAAiB,KACrB,MAAM,CAAC,MAAM,CAChB,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EACxC,uBAAuB,CACxB,CAAC;CACH;AAED,wBAAgB,sBAAsB,CACpC,KAAK,CAAC,WAAW,SAAS,SAAS,gBAAgB,EAAE,EAErD,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,GAC7C,kBAAkB,CAAC,WAAW,CAAC,CAIjC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,CAAC,WAAW,SAAS,SAAS,yBAAyB,EAAE,EAE9D,KAAK,EAAE,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,GACtD,2BAA2B,CAAC,WAAW,CAAC,CAI1C;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,CAAC,WAAW,SAAS,SAAS,gBAAgB,EAAE,EAErD,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,EAC9C,KAAK,EAAE,YAAY,GAClB,MAAM,CAAC,MAAM,CACd,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EACtC,qBAAqB,CACtB,CAkBA;AAED,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,WAAW,SAAS,SAAS,yBAAyB,EAAE,EAE9D,KAAK,EAAE,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,EACvD,KAAK,EAAE,iBAAiB,GACvB,MAAM,CAAC,MAAM,CACd,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EACxC,uBAAuB,CACxB,CAuBA;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,gBAAgB,EAC5D,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAC3C,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAEjC;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,EACvE,UAAU,EAAE,CAAC,EACb,YAAY,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,GAC3D,YAAY,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAExC;AAED,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,WAAW,SAAS,SAAS,gBAAgB,EAAE,EAErD,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,EAC9C,OAAO,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAC3C,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAEnD;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,CAAC,WAAW,SAAS,SAAS,yBAAyB,EAAE,EAE9D,KAAK,EAAE,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,EACvD,YAAY,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,GAC3D,YAAY,IAAI,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAE1D;AAED,MAAM,WAAW,0BAA0B,CACzC,CAAC,SAAS,yBAAyB,EACnC,CAAC,EACD,CAAC;IAED,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,CAChB,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,uBAAuB,GAClC,CAAC,SAAS,yBAAyB,EACnC,CAAC,EACD,CAAC,EAED,YAAY,CAAC,EACb,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KACtE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAA8B,CAAC;AAEpE,KAAK,wBAAwB,CAC3B,WAAW,SAAS,SAAS,yBAAyB,EAAE,EACxD,CAAC,IACC;IACF,QAAQ,EAAE,KAAK,IAAI,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,yBAAyB,GACvF,0BAA0B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAC1D,KAAK;CACV,CAAC;AAEF,KAAK,+BAA+B,CAAC,QAAQ,SAAS,SAAS,OAAO,EAAE,IACtE,QAAQ,CAAC,MAAM,CAAC,SAAS,0BAA0B,CACjD,yBAAyB,EACzB,OAAO,EACP,MAAM,CAAC,CACR,GACG,CAAC,GACD,KAAK,CAAC;AAEZ,MAAM,WAAW,8BAA8B,CAC7C,WAAW,SAAS,SAAS,yBAAyB,EAAE,EACxD,CAAC,EACD,CAAC;IAED,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,CACjB,YAAY,EAAE,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KACnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,CAAC,WAAW,SAAS,SAAS,yBAAyB,EAAE,EAC9D,CAAC,EACD,KAAK,CAAC,QAAQ,SAAS,wBAAwB,CAAC,WAAW,EAAE,CAAC,CAAC,EAE/D,KAAK,EAAE,2BAA2B,CAAC,MAAM,EAAE,WAAW,CAAC,EACvD,QAAQ,EAAE,QAAQ,GACjB,8BAA8B,CAC/B,WAAW,EACX,CAAC,EACD,+BAA+B,CAAC,QAAQ,CAAC,CAC1C,CA8BA"}
1
+ {"version":3,"file":"rpc-groups.d.ts","sourceRoot":"","sources":["../src/rpc-groups.ts"],"names":[],"mappings":"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"}