@joe-broadhead/messaging 0.0.0-stage → 0.7.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 (257) hide show
  1. package/CHANGELOG.md +175 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +12 -0
  4. package/README.md +36 -2
  5. package/dist/bin/messaging-mcp.js +25887 -0
  6. package/dist/bin/messaging-relay.js +19014 -0
  7. package/dist/bin/messaging.js +14732 -0
  8. package/dist/bin/messagingd.js +28682 -0
  9. package/dist/lib/core-testing.js +1 -0
  10. package/dist/lib/core.js +1 -0
  11. package/dist/lib/ipc-testing.js +1 -0
  12. package/dist/lib/ipc.js +1 -0
  13. package/dist/lib/modules/core/address.js +42 -0
  14. package/dist/lib/modules/core/agent/operations.js +595 -0
  15. package/dist/lib/modules/core/agent/present.js +244 -0
  16. package/dist/lib/modules/core/agent/text.js +79 -0
  17. package/dist/lib/modules/core/agent-tools.js +458 -0
  18. package/dist/lib/modules/core/b64u.js +20 -0
  19. package/dist/lib/modules/core/cards.js +55 -0
  20. package/dist/lib/modules/core/check.js +20 -0
  21. package/dist/lib/modules/core/consent.js +199 -0
  22. package/dist/lib/modules/core/contact-card.js +74 -0
  23. package/dist/lib/modules/core/delegation.js +174 -0
  24. package/dist/lib/modules/core/directory/device-log.js +258 -0
  25. package/dist/lib/modules/core/directory/epoch.js +103 -0
  26. package/dist/lib/modules/core/directory/handle.js +29 -0
  27. package/dist/lib/modules/core/directory/jelly-device.js +204 -0
  28. package/dist/lib/modules/core/directory/jelly-issuer.js +12 -0
  29. package/dist/lib/modules/core/directory/jelly-token.js +305 -0
  30. package/dist/lib/modules/core/directory/keys-statement.js +43 -0
  31. package/dist/lib/modules/core/directory/link.js +81 -0
  32. package/dist/lib/modules/core/directory/merkle-log.js +250 -0
  33. package/dist/lib/modules/core/directory/person-view.js +197 -0
  34. package/dist/lib/modules/core/directory/person.js +40 -0
  35. package/dist/lib/modules/core/directory/realm.js +59 -0
  36. package/dist/lib/modules/core/directory/smt.js +266 -0
  37. package/dist/lib/modules/core/envelope.js +320 -0
  38. package/dist/lib/modules/core/hash.js +5 -0
  39. package/dist/lib/modules/core/head.js +27 -0
  40. package/dist/lib/modules/core/identity.js +71 -0
  41. package/dist/lib/modules/core/index.js +44 -0
  42. package/dist/lib/modules/core/jcs.js +96 -0
  43. package/dist/lib/modules/core/jelly-host-double.js +35 -0
  44. package/dist/lib/modules/core/jelly-host.js +211 -0
  45. package/dist/lib/modules/core/keys.js +79 -0
  46. package/dist/lib/modules/core/peer-text.js +563 -0
  47. package/dist/lib/modules/core/realm.js +1 -0
  48. package/dist/lib/modules/core/roster.js +454 -0
  49. package/dist/lib/modules/core/schema/a2a.js +85 -0
  50. package/dist/lib/modules/core/schema/common.js +254 -0
  51. package/dist/lib/modules/core/schema/consent.js +120 -0
  52. package/dist/lib/modules/core/schema/delegation.js +58 -0
  53. package/dist/lib/modules/core/schema/directory-frames.js +270 -0
  54. package/dist/lib/modules/core/schema/directory.js +169 -0
  55. package/dist/lib/modules/core/schema/envelope.js +211 -0
  56. package/dist/lib/modules/core/schema/errors.js +65 -0
  57. package/dist/lib/modules/core/schema/index.js +15 -0
  58. package/dist/lib/modules/core/schema/ipc/consent.js +181 -0
  59. package/dist/lib/modules/core/schema/ipc/device.js +276 -0
  60. package/dist/lib/modules/core/schema/ipc/jelly.js +189 -0
  61. package/dist/lib/modules/core/schema/ipc/shapes.js +185 -0
  62. package/dist/lib/modules/core/schema/ipc/surfaces.js +223 -0
  63. package/dist/lib/modules/core/schema/ipc.js +451 -0
  64. package/dist/lib/modules/core/schema/jelly.js +122 -0
  65. package/dist/lib/modules/core/schema/realm.js +27 -0
  66. package/dist/lib/modules/core/schema/relay.js +112 -0
  67. package/dist/lib/modules/core/schema/roster.js +126 -0
  68. package/dist/lib/modules/core/sign.js +43 -0
  69. package/dist/lib/modules/core/task.js +37 -0
  70. package/dist/lib/modules/core/testing.js +20 -0
  71. package/dist/lib/modules/core/ulid.js +36 -0
  72. package/dist/lib/modules/core/version.js +6 -0
  73. package/dist/lib/modules/core/wire.js +255 -0
  74. package/dist/lib/modules/ipc/client.js +289 -0
  75. package/dist/lib/modules/ipc/framing.js +33 -0
  76. package/dist/lib/modules/ipc/index.js +6 -0
  77. package/dist/lib/modules/ipc/paths.js +102 -0
  78. package/dist/lib/modules/ipc/pipes.js +65 -0
  79. package/dist/lib/modules/ipc/rpc.js +8 -0
  80. package/dist/lib/modules/ipc/server.js +317 -0
  81. package/dist/lib/modules/ipc/testing.js +145 -0
  82. package/dist/lib/modules/ipc/trust.js +166 -0
  83. package/dist/lib/modules/ipc/windows-acl.js +275 -0
  84. package/dist/lib/modules/vendor/zod/index.js +7 -0
  85. package/dist/lib/modules/vendor/zod/v4/classic/checks.js +1 -0
  86. package/dist/lib/modules/vendor/zod/v4/classic/coerce.js +17 -0
  87. package/dist/lib/modules/vendor/zod/v4/classic/compat.js +31 -0
  88. package/dist/lib/modules/vendor/zod/v4/classic/deep-partial.js +13 -0
  89. package/dist/lib/modules/vendor/zod/v4/classic/errors.js +57 -0
  90. package/dist/lib/modules/vendor/zod/v4/classic/external.js +17 -0
  91. package/dist/lib/modules/vendor/zod/v4/classic/from-json-schema.js +881 -0
  92. package/dist/lib/modules/vendor/zod/v4/classic/in-out.js +36 -0
  93. package/dist/lib/modules/vendor/zod/v4/classic/iso.js +15 -0
  94. package/dist/lib/modules/vendor/zod/v4/classic/parse.js +16 -0
  95. package/dist/lib/modules/vendor/zod/v4/classic/schemas.js +1535 -0
  96. package/dist/lib/modules/vendor/zod/v4/core/api.js +1107 -0
  97. package/dist/lib/modules/vendor/zod/v4/core/checks.js +516 -0
  98. package/dist/lib/modules/vendor/zod/v4/core/compile.js +1866 -0
  99. package/dist/lib/modules/vendor/zod/v4/core/core.js +141 -0
  100. package/dist/lib/modules/vendor/zod/v4/core/doc.js +38 -0
  101. package/dist/lib/modules/vendor/zod/v4/core/errors.js +267 -0
  102. package/dist/lib/modules/vendor/zod/v4/core/index.js +19 -0
  103. package/dist/lib/modules/vendor/zod/v4/core/json-schema-generator.js +99 -0
  104. package/dist/lib/modules/vendor/zod/v4/core/json-schema-processors.js +843 -0
  105. package/dist/lib/modules/vendor/zod/v4/core/json-schema.js +1 -0
  106. package/dist/lib/modules/vendor/zod/v4/core/memoizer.js +311 -0
  107. package/dist/lib/modules/vendor/zod/v4/core/parse.js +175 -0
  108. package/dist/lib/modules/vendor/zod/v4/core/regexes.js +156 -0
  109. package/dist/lib/modules/vendor/zod/v4/core/registries.js +51 -0
  110. package/dist/lib/modules/vendor/zod/v4/core/schemas.js +2636 -0
  111. package/dist/lib/modules/vendor/zod/v4/core/to-json-schema.js +651 -0
  112. package/dist/lib/modules/vendor/zod/v4/core/util.js +873 -0
  113. package/dist/lib/modules/vendor/zod/v4/core/versions.js +5 -0
  114. package/dist/lib/modules/vendor/zod/v4/core/visit.js +169 -0
  115. package/dist/lib/modules/vendor/zod/v4/locales/ar.js +111 -0
  116. package/dist/lib/modules/vendor/zod/v4/locales/az.js +110 -0
  117. package/dist/lib/modules/vendor/zod/v4/locales/be.js +168 -0
  118. package/dist/lib/modules/vendor/zod/v4/locales/bg.js +125 -0
  119. package/dist/lib/modules/vendor/zod/v4/locales/bn.js +113 -0
  120. package/dist/lib/modules/vendor/zod/v4/locales/ca.js +112 -0
  121. package/dist/lib/modules/vendor/zod/v4/locales/ckb.js +133 -0
  122. package/dist/lib/modules/vendor/zod/v4/locales/cs.js +116 -0
  123. package/dist/lib/modules/vendor/zod/v4/locales/da.js +120 -0
  124. package/dist/lib/modules/vendor/zod/v4/locales/de.js +113 -0
  125. package/dist/lib/modules/vendor/zod/v4/locales/el.js +112 -0
  126. package/dist/lib/modules/vendor/zod/v4/locales/en.js +125 -0
  127. package/dist/lib/modules/vendor/zod/v4/locales/eo.js +114 -0
  128. package/dist/lib/modules/vendor/zod/v4/locales/es.js +136 -0
  129. package/dist/lib/modules/vendor/zod/v4/locales/fa.js +119 -0
  130. package/dist/lib/modules/vendor/zod/v4/locales/fi.js +117 -0
  131. package/dist/lib/modules/vendor/zod/v4/locales/fr-CA.js +112 -0
  132. package/dist/lib/modules/vendor/zod/v4/locales/fr.js +129 -0
  133. package/dist/lib/modules/vendor/zod/v4/locales/gu.js +113 -0
  134. package/dist/lib/modules/vendor/zod/v4/locales/he.js +221 -0
  135. package/dist/lib/modules/vendor/zod/v4/locales/hi.js +111 -0
  136. package/dist/lib/modules/vendor/zod/v4/locales/hr.js +126 -0
  137. package/dist/lib/modules/vendor/zod/v4/locales/hu.js +113 -0
  138. package/dist/lib/modules/vendor/zod/v4/locales/hy.js +158 -0
  139. package/dist/lib/modules/vendor/zod/v4/locales/id.js +111 -0
  140. package/dist/lib/modules/vendor/zod/v4/locales/index.js +63 -0
  141. package/dist/lib/modules/vendor/zod/v4/locales/is.js +114 -0
  142. package/dist/lib/modules/vendor/zod/v4/locales/it.js +113 -0
  143. package/dist/lib/modules/vendor/zod/v4/locales/ja.js +112 -0
  144. package/dist/lib/modules/vendor/zod/v4/locales/ka.js +117 -0
  145. package/dist/lib/modules/vendor/zod/v4/locales/kh.js +5 -0
  146. package/dist/lib/modules/vendor/zod/v4/locales/km.js +115 -0
  147. package/dist/lib/modules/vendor/zod/v4/locales/kn.js +116 -0
  148. package/dist/lib/modules/vendor/zod/v4/locales/ko.js +116 -0
  149. package/dist/lib/modules/vendor/zod/v4/locales/lt.js +207 -0
  150. package/dist/lib/modules/vendor/zod/v4/locales/mk.js +114 -0
  151. package/dist/lib/modules/vendor/zod/v4/locales/ms.js +112 -0
  152. package/dist/lib/modules/vendor/zod/v4/locales/ne.js +111 -0
  153. package/dist/lib/modules/vendor/zod/v4/locales/nl.js +115 -0
  154. package/dist/lib/modules/vendor/zod/v4/locales/nn.js +113 -0
  155. package/dist/lib/modules/vendor/zod/v4/locales/no.js +113 -0
  156. package/dist/lib/modules/vendor/zod/v4/locales/ota.js +114 -0
  157. package/dist/lib/modules/vendor/zod/v4/locales/pl.js +114 -0
  158. package/dist/lib/modules/vendor/zod/v4/locales/ps.js +119 -0
  159. package/dist/lib/modules/vendor/zod/v4/locales/pt-BR.js +143 -0
  160. package/dist/lib/modules/vendor/zod/v4/locales/pt.js +142 -0
  161. package/dist/lib/modules/vendor/zod/v4/locales/ro.js +122 -0
  162. package/dist/lib/modules/vendor/zod/v4/locales/ru.js +168 -0
  163. package/dist/lib/modules/vendor/zod/v4/locales/sk.js +116 -0
  164. package/dist/lib/modules/vendor/zod/v4/locales/sl.js +114 -0
  165. package/dist/lib/modules/vendor/zod/v4/locales/sv.js +115 -0
  166. package/dist/lib/modules/vendor/zod/v4/locales/ta.js +115 -0
  167. package/dist/lib/modules/vendor/zod/v4/locales/tg.js +117 -0
  168. package/dist/lib/modules/vendor/zod/v4/locales/th.js +115 -0
  169. package/dist/lib/modules/vendor/zod/v4/locales/tk.js +107 -0
  170. package/dist/lib/modules/vendor/zod/v4/locales/tr.js +110 -0
  171. package/dist/lib/modules/vendor/zod/v4/locales/ua.js +5 -0
  172. package/dist/lib/modules/vendor/zod/v4/locales/uk.js +113 -0
  173. package/dist/lib/modules/vendor/zod/v4/locales/ur.js +115 -0
  174. package/dist/lib/modules/vendor/zod/v4/locales/uz.js +113 -0
  175. package/dist/lib/modules/vendor/zod/v4/locales/vi.js +113 -0
  176. package/dist/lib/modules/vendor/zod/v4/locales/yo.js +112 -0
  177. package/dist/lib/modules/vendor/zod/v4/locales/zh-CN.js +114 -0
  178. package/dist/lib/modules/vendor/zod/v4/locales/zh-TW.js +112 -0
  179. package/dist/lib/testing-jelly-id.js +1219 -0
  180. package/dist/lib/zod.js +1 -0
  181. package/dist/spec/messaging-v1.md +3426 -0
  182. package/dist/third-party-notices.md +239 -0
  183. package/dist/third-party.json +88 -0
  184. package/dist/types/core/address.d.ts +16 -0
  185. package/dist/types/core/agent/operations.d.ts +129 -0
  186. package/dist/types/core/agent/present.d.ts +57 -0
  187. package/dist/types/core/agent/text.d.ts +62 -0
  188. package/dist/types/core/agent-tools.d.ts +948 -0
  189. package/dist/types/core/b64u.d.ts +6 -0
  190. package/dist/types/core/cards.d.ts +21 -0
  191. package/dist/types/core/check.d.ts +10 -0
  192. package/dist/types/core/consent.d.ts +132 -0
  193. package/dist/types/core/contact-card.d.ts +34 -0
  194. package/dist/types/core/delegation.d.ts +71 -0
  195. package/dist/types/core/directory/device-log.d.ts +119 -0
  196. package/dist/types/core/directory/epoch.d.ts +53 -0
  197. package/dist/types/core/directory/handle.d.ts +11 -0
  198. package/dist/types/core/directory/jelly-device.d.ts +88 -0
  199. package/dist/types/core/directory/jelly-issuer.d.ts +8 -0
  200. package/dist/types/core/directory/jelly-token.d.ts +116 -0
  201. package/dist/types/core/directory/keys-statement.d.ts +22 -0
  202. package/dist/types/core/directory/link.d.ts +36 -0
  203. package/dist/types/core/directory/merkle-log.d.ts +40 -0
  204. package/dist/types/core/directory/person-view.d.ts +90 -0
  205. package/dist/types/core/directory/person.d.ts +8 -0
  206. package/dist/types/core/directory/realm.d.ts +23 -0
  207. package/dist/types/core/directory/smt.d.ts +52 -0
  208. package/dist/types/core/envelope.d.ts +68 -0
  209. package/dist/types/core/hash.d.ts +2 -0
  210. package/dist/types/core/head.d.ts +34 -0
  211. package/dist/types/core/identity.d.ts +35 -0
  212. package/dist/types/core/index.d.ts +38 -0
  213. package/dist/types/core/jcs.d.ts +12 -0
  214. package/dist/types/core/jelly-host-double.d.ts +21 -0
  215. package/dist/types/core/jelly-host.d.ts +86 -0
  216. package/dist/types/core/keys.d.ts +16 -0
  217. package/dist/types/core/peer-text.d.ts +87 -0
  218. package/dist/types/core/realm.d.ts +36 -0
  219. package/dist/types/core/roster.d.ts +146 -0
  220. package/dist/types/core/schema/a2a.d.ts +251 -0
  221. package/dist/types/core/schema/common.d.ts +272 -0
  222. package/dist/types/core/schema/consent.d.ts +140 -0
  223. package/dist/types/core/schema/delegation.d.ts +58 -0
  224. package/dist/types/core/schema/directory-frames.d.ts +1301 -0
  225. package/dist/types/core/schema/directory.d.ts +375 -0
  226. package/dist/types/core/schema/envelope.d.ts +750 -0
  227. package/dist/types/core/schema/errors.d.ts +104 -0
  228. package/dist/types/core/schema/index.d.ts +15 -0
  229. package/dist/types/core/schema/ipc/consent.d.ts +555 -0
  230. package/dist/types/core/schema/ipc/device.d.ts +729 -0
  231. package/dist/types/core/schema/ipc/jelly.d.ts +501 -0
  232. package/dist/types/core/schema/ipc/shapes.d.ts +411 -0
  233. package/dist/types/core/schema/ipc/surfaces.d.ts +674 -0
  234. package/dist/types/core/schema/ipc.d.ts +3131 -0
  235. package/dist/types/core/schema/jelly.d.ts +160 -0
  236. package/dist/types/core/schema/realm.d.ts +38 -0
  237. package/dist/types/core/schema/relay.d.ts +1122 -0
  238. package/dist/types/core/schema/roster.d.ts +347 -0
  239. package/dist/types/core/sign.d.ts +13 -0
  240. package/dist/types/core/task.d.ts +6 -0
  241. package/dist/types/core/testing.d.ts +18 -0
  242. package/dist/types/core/ulid.d.ts +5 -0
  243. package/dist/types/core/version.d.ts +6 -0
  244. package/dist/types/core/wire.d.ts +14 -0
  245. package/dist/types/ipc/client.d.ts +85 -0
  246. package/dist/types/ipc/framing.d.ts +12 -0
  247. package/dist/types/ipc/index.d.ts +6 -0
  248. package/dist/types/ipc/paths.d.ts +39 -0
  249. package/dist/types/ipc/pipes.d.ts +16 -0
  250. package/dist/types/ipc/rpc.d.ts +13 -0
  251. package/dist/types/ipc/server.d.ts +94 -0
  252. package/dist/types/ipc/testing.d.ts +89 -0
  253. package/dist/types/ipc/trust.d.ts +49 -0
  254. package/dist/types/ipc/windows-acl.d.ts +56 -0
  255. package/dist/types/testing/jelly-id.d.ts +518 -0
  256. package/dist/types/zod.d.ts +1 -0
  257. package/package.json +77 -4
@@ -0,0 +1,750 @@
1
+ /**
2
+ * The Messaging envelope: the end-to-end unit between machines. The sender signs it;
3
+ * every body except presence is sealed to the recipient machine's X25519 key.
4
+ * The relay can read the header (routing) but not the body.
5
+ */
6
+ import { z } from "zod";
7
+ export declare const EnvelopeType: z.ZodEnum<{
8
+ message: "message";
9
+ "task.cancel": "task.cancel";
10
+ receipt: "receipt";
11
+ presence: "presence";
12
+ "task.status": "task.status";
13
+ "task.artifact": "task.artifact";
14
+ }>;
15
+ export type EnvelopeType = z.infer<typeof EnvelopeType>;
16
+ export declare const SEAL_ALG: "x25519-hkdf-sha256-a256gcm";
17
+ /**
18
+ * What the envelope is to its recipient's person (spec §5, "Class"), in the header so the signature and the AAD
19
+ * cover it: `self` between two devices of one person (`from.person` = `to.person`), `contact` between two persons,
20
+ * and `request` for a message request (spec §6.9, "Message requests"): a person's first line to a person of another
21
+ * org, which a directory relay paces by this header alone. Every sealed envelope carries it; presence does not.
22
+ */
23
+ export declare const EnvelopeClass: z.ZodEnum<{
24
+ self: "self";
25
+ request: "request";
26
+ contact: "contact";
27
+ }>;
28
+ export type EnvelopeClass = z.infer<typeof EnvelopeClass>;
29
+ /**
30
+ * One end of an envelope (spec §5, "Ends"): a person, one of their devices, and optionally an agent (a session) on
31
+ * that device. With no `agent`, the end is the person (or, for receipts and task control, the device acting for them).
32
+ */
33
+ export declare const Party: z.ZodObject<{
34
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
35
+ device: z.ZodString;
36
+ agent: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strip>;
38
+ export type Party = z.infer<typeof Party>;
39
+ /** Sender: the signing device, its person, and the agent that wrote the envelope, if an agent did. */
40
+ export declare const Sender: z.ZodObject<{
41
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
42
+ device: z.ZodString;
43
+ agent: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>;
45
+ export type Sender = Party;
46
+ /** Recipient: one device of a person, and optionally an agent on it; presence alone goes to the whole team. */
47
+ export declare const Recipient: z.ZodUnion<readonly [z.ZodObject<{
48
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
49
+ device: z.ZodString;
50
+ agent: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>, z.ZodObject<{
52
+ team: z.ZodLiteral<true>;
53
+ }, z.core.$strip>]>;
54
+ export type Recipient = z.infer<typeof Recipient>;
55
+ /**
56
+ * Wire form. `sig` = Ed25519(from.device, DOMAIN.envelope + JCS(envelope without `sig`)).
57
+ * Sealed: enc = SEAL_ALG, epk + nonce present, body = base64url(ciphertext||tag),
58
+ * AAD = UTF-8(JCS(header)), header = envelope without body and sig.
59
+ * Plain (presence only): enc = "none", body = payload object, no epk/nonce.
60
+ * `realm` is the sender's realm, and `anchor` its view of the realm when it sealed the envelope (spec §5,
61
+ * "Realm and anchor"): the signature covers both, and so does the AAD of a sealed envelope.
62
+ */
63
+ export declare const Envelope: z.ZodObject<{
64
+ v: z.ZodLiteral<"messaging/1">;
65
+ id: z.ZodString;
66
+ realm: z.ZodString;
67
+ type: z.ZodEnum<{
68
+ message: "message";
69
+ "task.cancel": "task.cancel";
70
+ receipt: "receipt";
71
+ presence: "presence";
72
+ "task.status": "task.status";
73
+ "task.artifact": "task.artifact";
74
+ }>;
75
+ from: z.ZodObject<{
76
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
77
+ device: z.ZodString;
78
+ agent: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ to: z.ZodUnion<readonly [z.ZodObject<{
81
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
82
+ device: z.ZodString;
83
+ agent: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strip>, z.ZodObject<{
85
+ team: z.ZodLiteral<true>;
86
+ }, z.core.$strip>]>;
87
+ ts: z.ZodNumber;
88
+ exp: z.ZodNumber;
89
+ anchor: z.ZodDiscriminatedUnion<[z.ZodObject<{
90
+ kind: z.ZodLiteral<"roster">;
91
+ seq: z.ZodNumber;
92
+ hash: z.ZodString;
93
+ }, z.core.$strip>, z.ZodObject<{
94
+ kind: z.ZodLiteral<"epoch">;
95
+ size: z.ZodNumber;
96
+ root: z.ZodString;
97
+ }, z.core.$strip>], "kind">;
98
+ class: z.ZodOptional<z.ZodEnum<{
99
+ self: "self";
100
+ request: "request";
101
+ contact: "contact";
102
+ }>>;
103
+ replyTo: z.ZodOptional<z.ZodString>;
104
+ enc: z.ZodEnum<{
105
+ none: "none";
106
+ "x25519-hkdf-sha256-a256gcm": "x25519-hkdf-sha256-a256gcm";
107
+ }>;
108
+ epk: z.ZodOptional<z.ZodString>;
109
+ nonce: z.ZodOptional<z.ZodString>;
110
+ body: z.ZodUnknown;
111
+ sig: z.ZodString;
112
+ }, z.core.$strip>;
113
+ export type Envelope = z.infer<typeof Envelope>;
114
+ /**
115
+ * A channel change or post (spec §6.8), on a `kind: "message"` envelope sealed to a device with no recipient agent.
116
+ * `create`: the full channel record with the person who created it, to every member device and to each later
117
+ * invitee. `invite`: persons added, to the existing members. `leave`: the sender left. `remove`: persons removed by
118
+ * the creator or an admin, to every member device. `post`: a line in the channel. `name` is always the channel's own
119
+ * name. A DM line has no `conv` (spec §5, "Meaning").
120
+ */
121
+ export declare const ChannelConv: z.ZodDiscriminatedUnion<[z.ZodObject<{
122
+ kind: z.ZodLiteral<"channel">;
123
+ op: z.ZodLiteral<"create">;
124
+ id: z.ZodString;
125
+ name: z.ZodString;
126
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
127
+ creator: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
128
+ }, z.core.$strip>, z.ZodObject<{
129
+ kind: z.ZodLiteral<"channel">;
130
+ op: z.ZodLiteral<"invite">;
131
+ id: z.ZodString;
132
+ name: z.ZodString;
133
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
134
+ }, z.core.$strip>, z.ZodObject<{
135
+ kind: z.ZodLiteral<"channel">;
136
+ op: z.ZodLiteral<"leave">;
137
+ id: z.ZodString;
138
+ name: z.ZodString;
139
+ }, z.core.$strip>, z.ZodObject<{
140
+ kind: z.ZodLiteral<"channel">;
141
+ op: z.ZodLiteral<"remove">;
142
+ id: z.ZodString;
143
+ name: z.ZodString;
144
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
145
+ }, z.core.$strip>, z.ZodObject<{
146
+ kind: z.ZodLiteral<"channel">;
147
+ op: z.ZodLiteral<"post">;
148
+ id: z.ZodString;
149
+ name: z.ZodString;
150
+ }, z.core.$strip>], "op">;
151
+ export type ChannelConv = z.infer<typeof ChannelConv>;
152
+ /**
153
+ * Sync between two devices of one person (spec §6.9, "Sync"): `grant` carries grants the person set or re-signed,
154
+ * `snapshot` every current grant, for a device of the person that is new to the sender. The message carries exactly
155
+ * one data part, a `GrantSync`.
156
+ */
157
+ export declare const SelfConv: z.ZodObject<{
158
+ kind: z.ZodLiteral<"self">;
159
+ what: z.ZodEnum<{
160
+ grant: "grant";
161
+ snapshot: "snapshot";
162
+ }>;
163
+ }, z.core.$strip>;
164
+ export type SelfConv = z.infer<typeof SelfConv>;
165
+ /**
166
+ * A message request (spec §6.9, "Message requests"), on an envelope of class `request` from a person to a person:
167
+ * its message carries exactly one text part of at most `LIMITS.requestChars`.
168
+ */
169
+ export declare const RequestConv: z.ZodObject<{
170
+ kind: z.ZodLiteral<"request">;
171
+ }, z.core.$strip>;
172
+ export type RequestConv = z.infer<typeof RequestConv>;
173
+ /**
174
+ * A contact card between two persons (spec §6.9, "Contact cards"): `card` carries one data part `{card}`, the signed
175
+ * card; `get` asks for the receiver's card and carries one data part `{get: true}`.
176
+ */
177
+ export declare const CardConv: z.ZodObject<{
178
+ kind: z.ZodLiteral<"card">;
179
+ what: z.ZodEnum<{
180
+ card: "card";
181
+ get: "get";
182
+ }>;
183
+ }, z.core.$strip>;
184
+ export type CardConv = z.infer<typeof CardConv>;
185
+ /** The conversation a `message` belongs to when its ends alone do not say (spec §5, "Meaning"). */
186
+ export declare const Conv: z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
187
+ kind: z.ZodLiteral<"channel">;
188
+ op: z.ZodLiteral<"create">;
189
+ id: z.ZodString;
190
+ name: z.ZodString;
191
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
192
+ creator: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
193
+ }, z.core.$strip>, z.ZodObject<{
194
+ kind: z.ZodLiteral<"channel">;
195
+ op: z.ZodLiteral<"invite">;
196
+ id: z.ZodString;
197
+ name: z.ZodString;
198
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
199
+ }, z.core.$strip>, z.ZodObject<{
200
+ kind: z.ZodLiteral<"channel">;
201
+ op: z.ZodLiteral<"leave">;
202
+ id: z.ZodString;
203
+ name: z.ZodString;
204
+ }, z.core.$strip>, z.ZodObject<{
205
+ kind: z.ZodLiteral<"channel">;
206
+ op: z.ZodLiteral<"remove">;
207
+ id: z.ZodString;
208
+ name: z.ZodString;
209
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
210
+ }, z.core.$strip>, z.ZodObject<{
211
+ kind: z.ZodLiteral<"channel">;
212
+ op: z.ZodLiteral<"post">;
213
+ id: z.ZodString;
214
+ name: z.ZodString;
215
+ }, z.core.$strip>], "op">, z.ZodObject<{
216
+ kind: z.ZodLiteral<"self">;
217
+ what: z.ZodEnum<{
218
+ grant: "grant";
219
+ snapshot: "snapshot";
220
+ }>;
221
+ }, z.core.$strip>, z.ZodObject<{
222
+ kind: z.ZodLiteral<"request">;
223
+ }, z.core.$strip>, z.ZodObject<{
224
+ kind: z.ZodLiteral<"card">;
225
+ what: z.ZodEnum<{
226
+ card: "card";
227
+ get: "get";
228
+ }>;
229
+ }, z.core.$strip>], "kind">;
230
+ export type Conv = z.infer<typeof Conv>;
231
+ /**
232
+ * type "message". `kind: "task"` asks the recipient to run `message` as a new A2A task;
233
+ * the sender assigns `message.taskId` (a ULID) and `message.contextId`.
234
+ * Replies to a task are task.status/task.artifact envelopes, not messages.
235
+ */
236
+ export declare const MessagePayload: z.ZodObject<{
237
+ kind: z.ZodEnum<{
238
+ message: "message";
239
+ task: "task";
240
+ }>;
241
+ message: z.ZodObject<{
242
+ messageId: z.ZodString;
243
+ contextId: z.ZodOptional<z.ZodString>;
244
+ taskId: z.ZodOptional<z.ZodString>;
245
+ role: z.ZodEnum<{
246
+ ROLE_USER: "ROLE_USER";
247
+ ROLE_AGENT: "ROLE_AGENT";
248
+ }>;
249
+ parts: z.ZodArray<z.ZodObject<{
250
+ text: z.ZodOptional<z.ZodString>;
251
+ raw: z.ZodOptional<z.ZodString>;
252
+ url: z.ZodOptional<z.ZodString>;
253
+ data: z.ZodOptional<z.ZodUnknown>;
254
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
255
+ filename: z.ZodOptional<z.ZodString>;
256
+ mediaType: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strip>>;
258
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
259
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
260
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
261
+ }, z.core.$strip>;
262
+ wake: z.ZodOptional<z.ZodBoolean>;
263
+ delegation: z.ZodOptional<z.ZodArray<z.ZodObject<{
264
+ realm: z.ZodString;
265
+ task: z.ZodString;
266
+ from: z.ZodString;
267
+ to: z.ZodString;
268
+ by: z.ZodString;
269
+ ts: z.ZodNumber;
270
+ exp: z.ZodNumber;
271
+ maxDepth: z.ZodNumber;
272
+ scope: z.ZodOptional<z.ZodArray<z.ZodString>>;
273
+ parent: z.ZodOptional<z.ZodString>;
274
+ sig: z.ZodString;
275
+ }, z.core.$loose>>>;
276
+ conv: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
277
+ kind: z.ZodLiteral<"channel">;
278
+ op: z.ZodLiteral<"create">;
279
+ id: z.ZodString;
280
+ name: z.ZodString;
281
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
282
+ creator: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
283
+ }, z.core.$strip>, z.ZodObject<{
284
+ kind: z.ZodLiteral<"channel">;
285
+ op: z.ZodLiteral<"invite">;
286
+ id: z.ZodString;
287
+ name: z.ZodString;
288
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
289
+ }, z.core.$strip>, z.ZodObject<{
290
+ kind: z.ZodLiteral<"channel">;
291
+ op: z.ZodLiteral<"leave">;
292
+ id: z.ZodString;
293
+ name: z.ZodString;
294
+ }, z.core.$strip>, z.ZodObject<{
295
+ kind: z.ZodLiteral<"channel">;
296
+ op: z.ZodLiteral<"remove">;
297
+ id: z.ZodString;
298
+ name: z.ZodString;
299
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
300
+ }, z.core.$strip>, z.ZodObject<{
301
+ kind: z.ZodLiteral<"channel">;
302
+ op: z.ZodLiteral<"post">;
303
+ id: z.ZodString;
304
+ name: z.ZodString;
305
+ }, z.core.$strip>], "op">, z.ZodObject<{
306
+ kind: z.ZodLiteral<"self">;
307
+ what: z.ZodEnum<{
308
+ grant: "grant";
309
+ snapshot: "snapshot";
310
+ }>;
311
+ }, z.core.$strip>, z.ZodObject<{
312
+ kind: z.ZodLiteral<"request">;
313
+ }, z.core.$strip>, z.ZodObject<{
314
+ kind: z.ZodLiteral<"card">;
315
+ what: z.ZodEnum<{
316
+ card: "card";
317
+ get: "get";
318
+ }>;
319
+ }, z.core.$strip>], "kind">>;
320
+ }, z.core.$strip>;
321
+ export type MessagePayload = z.infer<typeof MessagePayload>;
322
+ /** type "task.status": executor → requester. */
323
+ export declare const TaskStatusPayload: z.ZodObject<{
324
+ taskId: z.ZodString;
325
+ contextId: z.ZodString;
326
+ status: z.ZodObject<{
327
+ state: z.ZodEnum<{
328
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
329
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
330
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
331
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
332
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
333
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
334
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
335
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
336
+ }>;
337
+ message: z.ZodOptional<z.ZodObject<{
338
+ messageId: z.ZodString;
339
+ contextId: z.ZodOptional<z.ZodString>;
340
+ taskId: z.ZodOptional<z.ZodString>;
341
+ role: z.ZodEnum<{
342
+ ROLE_USER: "ROLE_USER";
343
+ ROLE_AGENT: "ROLE_AGENT";
344
+ }>;
345
+ parts: z.ZodArray<z.ZodObject<{
346
+ text: z.ZodOptional<z.ZodString>;
347
+ raw: z.ZodOptional<z.ZodString>;
348
+ url: z.ZodOptional<z.ZodString>;
349
+ data: z.ZodOptional<z.ZodUnknown>;
350
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
351
+ filename: z.ZodOptional<z.ZodString>;
352
+ mediaType: z.ZodOptional<z.ZodString>;
353
+ }, z.core.$strip>>;
354
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
355
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
356
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
357
+ }, z.core.$strip>>;
358
+ timestamp: z.ZodOptional<z.ZodString>;
359
+ }, z.core.$strip>;
360
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
361
+ }, z.core.$strip>;
362
+ export type TaskStatusPayload = z.infer<typeof TaskStatusPayload>;
363
+ /** type "task.artifact": executor → requester. */
364
+ export declare const TaskArtifactPayload: z.ZodObject<{
365
+ taskId: z.ZodString;
366
+ contextId: z.ZodString;
367
+ artifact: z.ZodObject<{
368
+ artifactId: z.ZodString;
369
+ name: z.ZodOptional<z.ZodString>;
370
+ description: z.ZodOptional<z.ZodString>;
371
+ parts: z.ZodArray<z.ZodObject<{
372
+ text: z.ZodOptional<z.ZodString>;
373
+ raw: z.ZodOptional<z.ZodString>;
374
+ url: z.ZodOptional<z.ZodString>;
375
+ data: z.ZodOptional<z.ZodUnknown>;
376
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
377
+ filename: z.ZodOptional<z.ZodString>;
378
+ mediaType: z.ZodOptional<z.ZodString>;
379
+ }, z.core.$strip>>;
380
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
381
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
382
+ }, z.core.$strip>;
383
+ append: z.ZodOptional<z.ZodBoolean>;
384
+ lastChunk: z.ZodOptional<z.ZodBoolean>;
385
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
386
+ }, z.core.$strip>;
387
+ export type TaskArtifactPayload = z.infer<typeof TaskArtifactPayload>;
388
+ /** type "task.cancel": requester → executor. The executor daemon moves the task to CANCELED if not terminal. */
389
+ export declare const TaskCancelPayload: z.ZodObject<{
390
+ taskId: z.ZodString;
391
+ reason: z.ZodOptional<z.ZodString>;
392
+ }, z.core.$strip>;
393
+ export type TaskCancelPayload = z.infer<typeof TaskCancelPayload>;
394
+ /** type "receipt": recipient → sender, signed proof of a delivery stage for envelope `ref`. */
395
+ export declare const ReceiptPayload: z.ZodObject<{
396
+ ref: z.ZodString;
397
+ stage: z.ZodEnum<{
398
+ delivered: "delivered";
399
+ held: "held";
400
+ handed_to_agent: "handed_to_agent";
401
+ read: "read";
402
+ rejected: "rejected";
403
+ }>;
404
+ code: z.ZodOptional<z.ZodEnum<{
405
+ expired: "expired";
406
+ invalid_request: "invalid_request";
407
+ not_member: "not_member";
408
+ bad_signature: "bad_signature";
409
+ unknown_session: "unknown_session";
410
+ ambiguous_address: "ambiguous_address";
411
+ no_recipients: "no_recipients";
412
+ unknown_address: "unknown_address";
413
+ refused: "refused";
414
+ declined: "declined";
415
+ request_required: "request_required";
416
+ rate_limited: "rate_limited";
417
+ loop_guard: "loop_guard";
418
+ too_large: "too_large";
419
+ secret_refused: "secret_refused";
420
+ duplicate: "duplicate";
421
+ relay_unavailable: "relay_unavailable";
422
+ not_found: "not_found";
423
+ invalid_state: "invalid_state";
424
+ forbidden: "forbidden";
425
+ guarded_turn: "guarded_turn";
426
+ roster_conflict: "roster_conflict";
427
+ invite_invalid: "invite_invalid";
428
+ no_identity: "no_identity";
429
+ binding_invalid: "binding_invalid";
430
+ jelly_unavailable: "jelly_unavailable";
431
+ log_conflict: "log_conflict";
432
+ device_limit: "device_limit";
433
+ admission_required: "admission_required";
434
+ admission_invalid: "admission_invalid";
435
+ directory_inconsistent: "directory_inconsistent";
436
+ unknown_device: "unknown_device";
437
+ directory_unavailable: "directory_unavailable";
438
+ login_unsupported: "login_unsupported";
439
+ login_denied: "login_denied";
440
+ grant_required: "grant_required";
441
+ grant_invalid: "grant_invalid";
442
+ ticket_required: "ticket_required";
443
+ ticket_invalid: "ticket_invalid";
444
+ daemon_unavailable: "daemon_unavailable";
445
+ daemon_mismatch: "daemon_mismatch";
446
+ internal: "internal";
447
+ }>>;
448
+ note: z.ZodOptional<z.ZodString>;
449
+ }, z.core.$strip>;
450
+ export type ReceiptPayload = z.infer<typeof ReceiptPayload>;
451
+ export declare const SessionInfo: z.ZodObject<{
452
+ session: z.ZodString;
453
+ agent: z.ZodString;
454
+ repo: z.ZodOptional<z.ZodString>;
455
+ branch: z.ZodOptional<z.ZodString>;
456
+ state: z.ZodEnum<{
457
+ idle: "idle";
458
+ busy: "busy";
459
+ }>;
460
+ doing: z.ZodOptional<z.ZodString>;
461
+ tier: z.ZodEnum<{
462
+ push: "push";
463
+ pull: "pull";
464
+ }>;
465
+ since: z.ZodNumber;
466
+ kept: z.ZodOptional<z.ZodLiteral<true>>;
467
+ wake: z.ZodOptional<z.ZodLiteral<true>>;
468
+ }, z.core.$strip>;
469
+ export type SessionInfo = z.infer<typeof SessionInfo>;
470
+ /** type "presence": plain (not sealed), to {team:true}. Latest `seq` per machine wins. */
471
+ export declare const PresencePayload: z.ZodObject<{
472
+ seq: z.ZodNumber;
473
+ label: z.ZodString;
474
+ sessions: z.ZodArray<z.ZodObject<{
475
+ session: z.ZodString;
476
+ agent: z.ZodString;
477
+ repo: z.ZodOptional<z.ZodString>;
478
+ branch: z.ZodOptional<z.ZodString>;
479
+ state: z.ZodEnum<{
480
+ idle: "idle";
481
+ busy: "busy";
482
+ }>;
483
+ doing: z.ZodOptional<z.ZodString>;
484
+ tier: z.ZodEnum<{
485
+ push: "push";
486
+ pull: "pull";
487
+ }>;
488
+ since: z.ZodNumber;
489
+ kept: z.ZodOptional<z.ZodLiteral<true>>;
490
+ wake: z.ZodOptional<z.ZodLiteral<true>>;
491
+ }, z.core.$strip>>;
492
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
493
+ away: z.ZodOptional<z.ZodLiteral<true>>;
494
+ }, z.core.$strip>;
495
+ export type PresencePayload = z.infer<typeof PresencePayload>;
496
+ export declare const PAYLOAD_BY_TYPE: {
497
+ readonly message: z.ZodObject<{
498
+ kind: z.ZodEnum<{
499
+ message: "message";
500
+ task: "task";
501
+ }>;
502
+ message: z.ZodObject<{
503
+ messageId: z.ZodString;
504
+ contextId: z.ZodOptional<z.ZodString>;
505
+ taskId: z.ZodOptional<z.ZodString>;
506
+ role: z.ZodEnum<{
507
+ ROLE_USER: "ROLE_USER";
508
+ ROLE_AGENT: "ROLE_AGENT";
509
+ }>;
510
+ parts: z.ZodArray<z.ZodObject<{
511
+ text: z.ZodOptional<z.ZodString>;
512
+ raw: z.ZodOptional<z.ZodString>;
513
+ url: z.ZodOptional<z.ZodString>;
514
+ data: z.ZodOptional<z.ZodUnknown>;
515
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
516
+ filename: z.ZodOptional<z.ZodString>;
517
+ mediaType: z.ZodOptional<z.ZodString>;
518
+ }, z.core.$strip>>;
519
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
520
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
521
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
522
+ }, z.core.$strip>;
523
+ wake: z.ZodOptional<z.ZodBoolean>;
524
+ delegation: z.ZodOptional<z.ZodArray<z.ZodObject<{
525
+ realm: z.ZodString;
526
+ task: z.ZodString;
527
+ from: z.ZodString;
528
+ to: z.ZodString;
529
+ by: z.ZodString;
530
+ ts: z.ZodNumber;
531
+ exp: z.ZodNumber;
532
+ maxDepth: z.ZodNumber;
533
+ scope: z.ZodOptional<z.ZodArray<z.ZodString>>;
534
+ parent: z.ZodOptional<z.ZodString>;
535
+ sig: z.ZodString;
536
+ }, z.core.$loose>>>;
537
+ conv: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodDiscriminatedUnion<[z.ZodObject<{
538
+ kind: z.ZodLiteral<"channel">;
539
+ op: z.ZodLiteral<"create">;
540
+ id: z.ZodString;
541
+ name: z.ZodString;
542
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
543
+ creator: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
544
+ }, z.core.$strip>, z.ZodObject<{
545
+ kind: z.ZodLiteral<"channel">;
546
+ op: z.ZodLiteral<"invite">;
547
+ id: z.ZodString;
548
+ name: z.ZodString;
549
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
550
+ }, z.core.$strip>, z.ZodObject<{
551
+ kind: z.ZodLiteral<"channel">;
552
+ op: z.ZodLiteral<"leave">;
553
+ id: z.ZodString;
554
+ name: z.ZodString;
555
+ }, z.core.$strip>, z.ZodObject<{
556
+ kind: z.ZodLiteral<"channel">;
557
+ op: z.ZodLiteral<"remove">;
558
+ id: z.ZodString;
559
+ name: z.ZodString;
560
+ persons: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
561
+ }, z.core.$strip>, z.ZodObject<{
562
+ kind: z.ZodLiteral<"channel">;
563
+ op: z.ZodLiteral<"post">;
564
+ id: z.ZodString;
565
+ name: z.ZodString;
566
+ }, z.core.$strip>], "op">, z.ZodObject<{
567
+ kind: z.ZodLiteral<"self">;
568
+ what: z.ZodEnum<{
569
+ grant: "grant";
570
+ snapshot: "snapshot";
571
+ }>;
572
+ }, z.core.$strip>, z.ZodObject<{
573
+ kind: z.ZodLiteral<"request">;
574
+ }, z.core.$strip>, z.ZodObject<{
575
+ kind: z.ZodLiteral<"card">;
576
+ what: z.ZodEnum<{
577
+ card: "card";
578
+ get: "get";
579
+ }>;
580
+ }, z.core.$strip>], "kind">>;
581
+ }, z.core.$strip>;
582
+ readonly "task.status": z.ZodObject<{
583
+ taskId: z.ZodString;
584
+ contextId: z.ZodString;
585
+ status: z.ZodObject<{
586
+ state: z.ZodEnum<{
587
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
588
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
589
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
590
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
591
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
592
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
593
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
594
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
595
+ }>;
596
+ message: z.ZodOptional<z.ZodObject<{
597
+ messageId: z.ZodString;
598
+ contextId: z.ZodOptional<z.ZodString>;
599
+ taskId: z.ZodOptional<z.ZodString>;
600
+ role: z.ZodEnum<{
601
+ ROLE_USER: "ROLE_USER";
602
+ ROLE_AGENT: "ROLE_AGENT";
603
+ }>;
604
+ parts: z.ZodArray<z.ZodObject<{
605
+ text: z.ZodOptional<z.ZodString>;
606
+ raw: z.ZodOptional<z.ZodString>;
607
+ url: z.ZodOptional<z.ZodString>;
608
+ data: z.ZodOptional<z.ZodUnknown>;
609
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
610
+ filename: z.ZodOptional<z.ZodString>;
611
+ mediaType: z.ZodOptional<z.ZodString>;
612
+ }, z.core.$strip>>;
613
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
614
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
615
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
616
+ }, z.core.$strip>>;
617
+ timestamp: z.ZodOptional<z.ZodString>;
618
+ }, z.core.$strip>;
619
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
620
+ }, z.core.$strip>;
621
+ readonly "task.artifact": z.ZodObject<{
622
+ taskId: z.ZodString;
623
+ contextId: z.ZodString;
624
+ artifact: z.ZodObject<{
625
+ artifactId: z.ZodString;
626
+ name: z.ZodOptional<z.ZodString>;
627
+ description: z.ZodOptional<z.ZodString>;
628
+ parts: z.ZodArray<z.ZodObject<{
629
+ text: z.ZodOptional<z.ZodString>;
630
+ raw: z.ZodOptional<z.ZodString>;
631
+ url: z.ZodOptional<z.ZodString>;
632
+ data: z.ZodOptional<z.ZodUnknown>;
633
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
634
+ filename: z.ZodOptional<z.ZodString>;
635
+ mediaType: z.ZodOptional<z.ZodString>;
636
+ }, z.core.$strip>>;
637
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
638
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
639
+ }, z.core.$strip>;
640
+ append: z.ZodOptional<z.ZodBoolean>;
641
+ lastChunk: z.ZodOptional<z.ZodBoolean>;
642
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
643
+ }, z.core.$strip>;
644
+ readonly "task.cancel": z.ZodObject<{
645
+ taskId: z.ZodString;
646
+ reason: z.ZodOptional<z.ZodString>;
647
+ }, z.core.$strip>;
648
+ readonly receipt: z.ZodObject<{
649
+ ref: z.ZodString;
650
+ stage: z.ZodEnum<{
651
+ delivered: "delivered";
652
+ held: "held";
653
+ handed_to_agent: "handed_to_agent";
654
+ read: "read";
655
+ rejected: "rejected";
656
+ }>;
657
+ code: z.ZodOptional<z.ZodEnum<{
658
+ expired: "expired";
659
+ invalid_request: "invalid_request";
660
+ not_member: "not_member";
661
+ bad_signature: "bad_signature";
662
+ unknown_session: "unknown_session";
663
+ ambiguous_address: "ambiguous_address";
664
+ no_recipients: "no_recipients";
665
+ unknown_address: "unknown_address";
666
+ refused: "refused";
667
+ declined: "declined";
668
+ request_required: "request_required";
669
+ rate_limited: "rate_limited";
670
+ loop_guard: "loop_guard";
671
+ too_large: "too_large";
672
+ secret_refused: "secret_refused";
673
+ duplicate: "duplicate";
674
+ relay_unavailable: "relay_unavailable";
675
+ not_found: "not_found";
676
+ invalid_state: "invalid_state";
677
+ forbidden: "forbidden";
678
+ guarded_turn: "guarded_turn";
679
+ roster_conflict: "roster_conflict";
680
+ invite_invalid: "invite_invalid";
681
+ no_identity: "no_identity";
682
+ binding_invalid: "binding_invalid";
683
+ jelly_unavailable: "jelly_unavailable";
684
+ log_conflict: "log_conflict";
685
+ device_limit: "device_limit";
686
+ admission_required: "admission_required";
687
+ admission_invalid: "admission_invalid";
688
+ directory_inconsistent: "directory_inconsistent";
689
+ unknown_device: "unknown_device";
690
+ directory_unavailable: "directory_unavailable";
691
+ login_unsupported: "login_unsupported";
692
+ login_denied: "login_denied";
693
+ grant_required: "grant_required";
694
+ grant_invalid: "grant_invalid";
695
+ ticket_required: "ticket_required";
696
+ ticket_invalid: "ticket_invalid";
697
+ daemon_unavailable: "daemon_unavailable";
698
+ daemon_mismatch: "daemon_mismatch";
699
+ internal: "internal";
700
+ }>>;
701
+ note: z.ZodOptional<z.ZodString>;
702
+ }, z.core.$strip>;
703
+ readonly presence: z.ZodObject<{
704
+ seq: z.ZodNumber;
705
+ label: z.ZodString;
706
+ sessions: z.ZodArray<z.ZodObject<{
707
+ session: z.ZodString;
708
+ agent: z.ZodString;
709
+ repo: z.ZodOptional<z.ZodString>;
710
+ branch: z.ZodOptional<z.ZodString>;
711
+ state: z.ZodEnum<{
712
+ idle: "idle";
713
+ busy: "busy";
714
+ }>;
715
+ doing: z.ZodOptional<z.ZodString>;
716
+ tier: z.ZodEnum<{
717
+ push: "push";
718
+ pull: "pull";
719
+ }>;
720
+ since: z.ZodNumber;
721
+ kept: z.ZodOptional<z.ZodLiteral<true>>;
722
+ wake: z.ZodOptional<z.ZodLiteral<true>>;
723
+ }, z.core.$strip>>;
724
+ features: z.ZodOptional<z.ZodArray<z.ZodString>>;
725
+ away: z.ZodOptional<z.ZodLiteral<true>>;
726
+ }, z.core.$strip>;
727
+ };
728
+ export type PayloadByType = {
729
+ message: MessagePayload;
730
+ "task.status": TaskStatusPayload;
731
+ "task.artifact": TaskArtifactPayload;
732
+ "task.cancel": TaskCancelPayload;
733
+ receipt: ReceiptPayload;
734
+ presence: PresencePayload;
735
+ };
736
+ /**
737
+ * Provenance the receiving daemon attaches at `Message.metadata[URI.provenance]` before
738
+ * handing a message to any client. Clients show it; peers can never set it (the daemon overwrites it).
739
+ */
740
+ export declare const Provenance: z.ZodObject<{
741
+ envelopeId: z.ZodString;
742
+ from: z.ZodString;
743
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
744
+ agent: z.ZodOptional<z.ZodString>;
745
+ device: z.ZodString;
746
+ label: z.ZodString;
747
+ verified: z.ZodLiteral<"signature">;
748
+ receivedAt: z.ZodNumber;
749
+ }, z.core.$strip>;
750
+ export type Provenance = z.infer<typeof Provenance>;