@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,674 @@
1
+ /**
2
+ * The local API's surface methods (spec §8.2; design §7.5): what agents reach through their tools
3
+ * and what people reach through the CLI and the TUI, by conversation.
4
+ *
5
+ * - Agent tier (`run/agent.sock`): `contacts.list`, `msg.send`, `item.read`, `conv.read`, `search`.
6
+ * - Human tier (`run/admin.sock`): `conv.list`, `conv.read`, `conv.markRead`, `conv.subscribe`,
7
+ * `person.send`, `people.search`, `people.get`.
8
+ *
9
+ * A conversation is named by a `ConversationRef`: `dm:<person>` (this person's DM with another),
10
+ * `channel:<name>` (a channel this person is in, by its local name) or `agent:<person>/<agent>`
11
+ * (a local session's mail and tasks with that agent, on any of the person's devices).
12
+ */
13
+ import { z } from "zod";
14
+ /** A conversation: `dm:<person>`, `channel:<name>` or `agent:<person>/<agent>`. */
15
+ export declare const ConversationRef: z.ZodString;
16
+ export type ConversationRef = z.infer<typeof ConversationRef>;
17
+ /** A place in a conversation: a line's `seq` in a DM or a channel, an entry's `{at, id}` with an agent. */
18
+ export declare const ConvPlace: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
19
+ at: z.ZodNumber;
20
+ id: z.ZodString;
21
+ }, z.core.$strict>]>;
22
+ export type ConvPlace = z.infer<typeof ConvPlace>;
23
+ /** One conversation this person has (DMs with lines, channels it is in) and this device's read state. */
24
+ export declare const ConvSummary: z.ZodObject<{
25
+ conversation: z.ZodString;
26
+ kind: z.ZodEnum<{
27
+ channel: "channel";
28
+ dm: "dm";
29
+ }>;
30
+ lastAt: z.ZodOptional<z.ZodNumber>;
31
+ name: z.ZodOptional<z.ZodString>;
32
+ lastSeq: z.ZodOptional<z.ZodNumber>;
33
+ readUpTo: z.ZodNumber;
34
+ unread: z.ZodNumber;
35
+ }, z.core.$strip>;
36
+ export type ConvSummary = z.infer<typeof ConvSummary>;
37
+ /** A person of the realm, as verified (a roster realm: a team person). */
38
+ export declare const PersonSummary: z.ZodObject<{
39
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
40
+ name: z.ZodString;
41
+ handle: z.ZodString;
42
+ org: z.ZodEnum<{
43
+ other: "other";
44
+ none: "none";
45
+ same: "same";
46
+ }>;
47
+ vouched: z.ZodEnum<{
48
+ admin: "admin";
49
+ device: "device";
50
+ jelly: "jelly";
51
+ service: "service";
52
+ }>;
53
+ }, z.core.$strip>;
54
+ export type PersonSummary = z.infer<typeof PersonSummary>;
55
+ export declare const SURFACE_METHODS: {
56
+ /**
57
+ * Agent tier. Who this session can reach: every known agent session (`entries`, as `directory.list`
58
+ * did in 0.1), and this person's conversations with their read state (`conversations`, as
59
+ * `conv.list` returns them).
60
+ */
61
+ readonly "contacts.list": {
62
+ readonly params: z.ZodObject<{
63
+ person: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>;
64
+ includeOffline: z.ZodOptional<z.ZodBoolean>;
65
+ }, z.core.$strict>;
66
+ /**
67
+ * `reach`: for each other person among `entries` and the DMs, and each person whose card this device holds, what they may
68
+ * be sent, from their card or the defaults of the relation (spec §6.9, "Contact cards").
69
+ */
70
+ readonly result: z.ZodObject<{
71
+ entries: z.ZodArray<z.ZodObject<{
72
+ address: z.ZodString;
73
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
74
+ agent: z.ZodString;
75
+ device: z.ZodString;
76
+ label: z.ZodString;
77
+ client: z.ZodString;
78
+ repo: z.ZodOptional<z.ZodString>;
79
+ branch: z.ZodOptional<z.ZodString>;
80
+ state: z.ZodEnum<{
81
+ idle: "idle";
82
+ busy: "busy";
83
+ }>;
84
+ doing: z.ZodOptional<z.ZodString>;
85
+ tier: z.ZodEnum<{
86
+ push: "push";
87
+ pull: "pull";
88
+ }>;
89
+ online: z.ZodBoolean;
90
+ lastSeen: z.ZodNumber;
91
+ self: z.ZodBoolean;
92
+ expect: z.ZodOptional<z.ZodEnum<{
93
+ kept: "kept";
94
+ next_turn: "next_turn";
95
+ wake: "wake";
96
+ next_prompt: "next_prompt";
97
+ on_read: "on_read";
98
+ offline: "offline";
99
+ }>>;
100
+ }, z.core.$strip>>;
101
+ conversations: z.ZodArray<z.ZodObject<{
102
+ conversation: z.ZodString;
103
+ kind: z.ZodEnum<{
104
+ channel: "channel";
105
+ dm: "dm";
106
+ }>;
107
+ lastAt: z.ZodOptional<z.ZodNumber>;
108
+ name: z.ZodOptional<z.ZodString>;
109
+ lastSeq: z.ZodOptional<z.ZodNumber>;
110
+ readUpTo: z.ZodNumber;
111
+ unread: z.ZodNumber;
112
+ }, z.core.$strip>>;
113
+ reach: z.ZodArray<z.ZodObject<{
114
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
115
+ can: z.ZodObject<{
116
+ chat: z.ZodBoolean;
117
+ agentMail: z.ZodBoolean;
118
+ ask: z.ZodEnum<{
119
+ open: "open";
120
+ request: "request";
121
+ no: "no";
122
+ }>;
123
+ trustedUntil: z.ZodOptional<z.ZodNumber>;
124
+ }, z.core.$strict>;
125
+ source: z.ZodEnum<{
126
+ default: "default";
127
+ card: "card";
128
+ }>;
129
+ at: z.ZodOptional<z.ZodNumber>;
130
+ devicesChangedAt: z.ZodOptional<z.ZodNumber>;
131
+ }, z.core.$strip>>;
132
+ }, z.core.$strip>;
133
+ };
134
+ /**
135
+ * Agent tier. One send from the session `key` (spec §8.2): mail or a task to an agent
136
+ * (`person/agent[@label]`), a line to a person (`<person>`), or a post to a channel (`#<channel>`).
137
+ * A line or a post is attributed to the session; it takes one text part of at most
138
+ * `LIMITS.chatChars`, `kind: "message"`, and `replyTo` as the thread (the thread's first line),
139
+ * and none of the A2A fields. `idempotencyKey` makes any send idempotent.
140
+ */
141
+ readonly "msg.send": {
142
+ readonly params: z.ZodObject<{
143
+ key: z.ZodString;
144
+ to: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
145
+ kind: z.ZodEnum<{
146
+ message: "message";
147
+ task: "task";
148
+ }>;
149
+ parts: z.ZodArray<z.ZodObject<{
150
+ text: z.ZodOptional<z.ZodString>;
151
+ raw: z.ZodOptional<z.ZodString>;
152
+ url: z.ZodOptional<z.ZodString>;
153
+ data: z.ZodOptional<z.ZodUnknown>;
154
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
155
+ filename: z.ZodOptional<z.ZodString>;
156
+ mediaType: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$strip>>;
158
+ contextId: z.ZodOptional<z.ZodString>;
159
+ taskId: z.ZodOptional<z.ZodString>;
160
+ replyTo: z.ZodOptional<z.ZodString>;
161
+ idempotencyKey: z.ZodOptional<z.ZodString>;
162
+ messageId: z.ZodOptional<z.ZodString>;
163
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
164
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
165
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
166
+ wake: z.ZodOptional<z.ZodBoolean>;
167
+ request: z.ZodOptional<z.ZodObject<{
168
+ contact: z.ZodString;
169
+ }, z.core.$strict>>;
170
+ onBehalfOf: z.ZodOptional<z.ZodObject<{
171
+ taskId: z.ZodString;
172
+ scope: z.ZodOptional<z.ZodArray<z.ZodString>>;
173
+ maxDepth: z.ZodOptional<z.ZodNumber>;
174
+ }, z.core.$strict>>;
175
+ }, z.core.$strict>;
176
+ readonly result: z.ZodObject<{
177
+ results: z.ZodArray<z.ZodObject<{
178
+ to: z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodString]>, z.ZodString]>;
179
+ envelopeId: z.ZodString;
180
+ messageId: z.ZodString;
181
+ taskId: z.ZodOptional<z.ZodString>;
182
+ contextId: z.ZodString;
183
+ stage: z.ZodEnum<{
184
+ accepted: "accepted";
185
+ relayed: "relayed";
186
+ delivered: "delivered";
187
+ held: "held";
188
+ handed_to_agent: "handed_to_agent";
189
+ read: "read";
190
+ replied: "replied";
191
+ rejected: "rejected";
192
+ expired: "expired";
193
+ }>;
194
+ code: z.ZodOptional<z.ZodEnum<{
195
+ expired: "expired";
196
+ invalid_request: "invalid_request";
197
+ not_member: "not_member";
198
+ bad_signature: "bad_signature";
199
+ unknown_session: "unknown_session";
200
+ ambiguous_address: "ambiguous_address";
201
+ no_recipients: "no_recipients";
202
+ unknown_address: "unknown_address";
203
+ refused: "refused";
204
+ declined: "declined";
205
+ request_required: "request_required";
206
+ rate_limited: "rate_limited";
207
+ loop_guard: "loop_guard";
208
+ too_large: "too_large";
209
+ secret_refused: "secret_refused";
210
+ duplicate: "duplicate";
211
+ relay_unavailable: "relay_unavailable";
212
+ not_found: "not_found";
213
+ invalid_state: "invalid_state";
214
+ forbidden: "forbidden";
215
+ guarded_turn: "guarded_turn";
216
+ roster_conflict: "roster_conflict";
217
+ invite_invalid: "invite_invalid";
218
+ no_identity: "no_identity";
219
+ binding_invalid: "binding_invalid";
220
+ jelly_unavailable: "jelly_unavailable";
221
+ log_conflict: "log_conflict";
222
+ device_limit: "device_limit";
223
+ admission_required: "admission_required";
224
+ admission_invalid: "admission_invalid";
225
+ directory_inconsistent: "directory_inconsistent";
226
+ unknown_device: "unknown_device";
227
+ directory_unavailable: "directory_unavailable";
228
+ login_unsupported: "login_unsupported";
229
+ login_denied: "login_denied";
230
+ grant_required: "grant_required";
231
+ grant_invalid: "grant_invalid";
232
+ ticket_required: "ticket_required";
233
+ ticket_invalid: "ticket_invalid";
234
+ daemon_unavailable: "daemon_unavailable";
235
+ daemon_mismatch: "daemon_mismatch";
236
+ internal: "internal";
237
+ }>>;
238
+ expect: z.ZodOptional<z.ZodEnum<{
239
+ kept: "kept";
240
+ next_turn: "next_turn";
241
+ wake: "wake";
242
+ next_prompt: "next_prompt";
243
+ on_read: "on_read";
244
+ offline: "offline";
245
+ }>>;
246
+ }, z.core.$strip>>;
247
+ }, z.core.$strip>;
248
+ };
249
+ /**
250
+ * Agent tier. One item of the session `key` by id: something it received (`received`: returns the
251
+ * full message, marks it read and sends a read receipt, as `inbox.read` did in 0.1), or something
252
+ * it sent to an agent (`sent`: how far it got, as `message.status` did). `not_found` otherwise.
253
+ */
254
+ readonly "item.read": {
255
+ readonly params: z.ZodObject<{
256
+ key: z.ZodString;
257
+ id: z.ZodString;
258
+ }, z.core.$strict>;
259
+ readonly result: z.ZodDiscriminatedUnion<[z.ZodObject<{
260
+ kind: z.ZodLiteral<"received">;
261
+ item: z.ZodObject<{
262
+ id: z.ZodString;
263
+ key: z.ZodString;
264
+ from: z.ZodObject<{
265
+ address: z.ZodString;
266
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
267
+ agent: z.ZodOptional<z.ZodString>;
268
+ device: z.ZodString;
269
+ label: z.ZodString;
270
+ }, z.core.$strip>;
271
+ kind: z.ZodEnum<{
272
+ message: "message";
273
+ task: "task";
274
+ }>;
275
+ messageId: z.ZodString;
276
+ taskId: z.ZodOptional<z.ZodString>;
277
+ contextId: z.ZodOptional<z.ZodString>;
278
+ replyTo: z.ZodOptional<z.ZodString>;
279
+ receivedAt: z.ZodNumber;
280
+ stage: z.ZodEnum<{
281
+ delivered: "delivered";
282
+ handed_to_agent: "handed_to_agent";
283
+ read: "read";
284
+ }>;
285
+ bytes: z.ZodNumber;
286
+ preview: z.ZodString;
287
+ wake: z.ZodBoolean;
288
+ chain: z.ZodOptional<z.ZodObject<{
289
+ addresses: z.ZodArray<z.ZodString>;
290
+ depth: z.ZodNumber;
291
+ maxDepth: z.ZodNumber;
292
+ scope: z.ZodOptional<z.ZodArray<z.ZodString>>;
293
+ exp: z.ZodNumber;
294
+ }, z.core.$strip>>;
295
+ consent: z.ZodOptional<z.ZodEnum<{
296
+ self: "self";
297
+ guarded: "guarded";
298
+ trusted: "trusted";
299
+ }>>;
300
+ }, z.core.$strip>;
301
+ message: z.ZodObject<{
302
+ messageId: z.ZodString;
303
+ contextId: z.ZodOptional<z.ZodString>;
304
+ taskId: z.ZodOptional<z.ZodString>;
305
+ role: z.ZodEnum<{
306
+ ROLE_USER: "ROLE_USER";
307
+ ROLE_AGENT: "ROLE_AGENT";
308
+ }>;
309
+ parts: z.ZodArray<z.ZodObject<{
310
+ text: z.ZodOptional<z.ZodString>;
311
+ raw: z.ZodOptional<z.ZodString>;
312
+ url: z.ZodOptional<z.ZodString>;
313
+ data: z.ZodOptional<z.ZodUnknown>;
314
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
315
+ filename: z.ZodOptional<z.ZodString>;
316
+ mediaType: z.ZodOptional<z.ZodString>;
317
+ }, z.core.$strip>>;
318
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
319
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
320
+ referenceTaskIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
321
+ }, z.core.$strip>;
322
+ }, z.core.$strip>, z.ZodObject<{
323
+ kind: z.ZodLiteral<"sent">;
324
+ envelopeId: z.ZodString;
325
+ to: z.ZodUnion<readonly [z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodString]>, z.ZodString]>;
326
+ stage: z.ZodEnum<{
327
+ accepted: "accepted";
328
+ relayed: "relayed";
329
+ delivered: "delivered";
330
+ held: "held";
331
+ handed_to_agent: "handed_to_agent";
332
+ read: "read";
333
+ replied: "replied";
334
+ rejected: "rejected";
335
+ expired: "expired";
336
+ }>;
337
+ history: z.ZodArray<z.ZodObject<{
338
+ stage: z.ZodEnum<{
339
+ accepted: "accepted";
340
+ relayed: "relayed";
341
+ delivered: "delivered";
342
+ held: "held";
343
+ handed_to_agent: "handed_to_agent";
344
+ read: "read";
345
+ replied: "replied";
346
+ rejected: "rejected";
347
+ expired: "expired";
348
+ }>;
349
+ at: z.ZodNumber;
350
+ code: z.ZodOptional<z.ZodEnum<{
351
+ expired: "expired";
352
+ invalid_request: "invalid_request";
353
+ not_member: "not_member";
354
+ bad_signature: "bad_signature";
355
+ unknown_session: "unknown_session";
356
+ ambiguous_address: "ambiguous_address";
357
+ no_recipients: "no_recipients";
358
+ unknown_address: "unknown_address";
359
+ refused: "refused";
360
+ declined: "declined";
361
+ request_required: "request_required";
362
+ rate_limited: "rate_limited";
363
+ loop_guard: "loop_guard";
364
+ too_large: "too_large";
365
+ secret_refused: "secret_refused";
366
+ duplicate: "duplicate";
367
+ relay_unavailable: "relay_unavailable";
368
+ not_found: "not_found";
369
+ invalid_state: "invalid_state";
370
+ forbidden: "forbidden";
371
+ guarded_turn: "guarded_turn";
372
+ roster_conflict: "roster_conflict";
373
+ invite_invalid: "invite_invalid";
374
+ no_identity: "no_identity";
375
+ binding_invalid: "binding_invalid";
376
+ jelly_unavailable: "jelly_unavailable";
377
+ log_conflict: "log_conflict";
378
+ device_limit: "device_limit";
379
+ admission_required: "admission_required";
380
+ admission_invalid: "admission_invalid";
381
+ directory_inconsistent: "directory_inconsistent";
382
+ unknown_device: "unknown_device";
383
+ directory_unavailable: "directory_unavailable";
384
+ login_unsupported: "login_unsupported";
385
+ login_denied: "login_denied";
386
+ grant_required: "grant_required";
387
+ grant_invalid: "grant_invalid";
388
+ ticket_required: "ticket_required";
389
+ ticket_invalid: "ticket_invalid";
390
+ daemon_unavailable: "daemon_unavailable";
391
+ daemon_mismatch: "daemon_mismatch";
392
+ internal: "internal";
393
+ }>>;
394
+ note: z.ZodOptional<z.ZodString>;
395
+ }, z.core.$strip>>;
396
+ }, z.core.$strip>], "kind">;
397
+ };
398
+ /**
399
+ * Agent and human tiers. A page of one conversation, oldest first. With no cursor, the latest
400
+ * `limit` (default 30 with an agent, 50 in a DM or a channel); with `before`, the latest `limit`
401
+ * before that place; with `after`, the earliest `limit` after it. `more`: entries remain past the
402
+ * page in the direction read. Changes no stage and sends no receipt.
403
+ * - `dm:` and `channel:` give `lines`; `thread` narrows to a thread's first line and its replies;
404
+ * the cursor is a line's `seq`.
405
+ * - `agent:<person>/<agent>` needs the session `key` and gives `entries`: mail either way and tasks
406
+ * either way between that session and the agent; the cursor is an entry's `{at, id}`.
407
+ */
408
+ readonly "conv.read": {
409
+ readonly params: z.ZodObject<{
410
+ key: z.ZodOptional<z.ZodString>;
411
+ conversation: z.ZodString;
412
+ thread: z.ZodOptional<z.ZodString>;
413
+ before: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
414
+ at: z.ZodNumber;
415
+ id: z.ZodString;
416
+ }, z.core.$strict>]>>;
417
+ after: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
418
+ at: z.ZodNumber;
419
+ id: z.ZodString;
420
+ }, z.core.$strict>]>>;
421
+ limit: z.ZodOptional<z.ZodNumber>;
422
+ }, z.core.$strict>;
423
+ readonly result: z.ZodDiscriminatedUnion<[z.ZodObject<{
424
+ kind: z.ZodLiteral<"lines">;
425
+ lines: z.ZodArray<z.ZodObject<{
426
+ id: z.ZodString;
427
+ seq: z.ZodNumber;
428
+ at: z.ZodNumber;
429
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
430
+ agent: z.ZodOptional<z.ZodString>;
431
+ direction: z.ZodEnum<{
432
+ out: "out";
433
+ in: "in";
434
+ }>;
435
+ body: z.ZodString;
436
+ thread: z.ZodOptional<z.ZodString>;
437
+ state: z.ZodOptional<z.ZodEnum<{
438
+ delivered: "delivered";
439
+ held: "held";
440
+ refused: "refused";
441
+ sent: "sent";
442
+ }>>;
443
+ refused: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>>;
444
+ notice: z.ZodOptional<z.ZodLiteral<true>>;
445
+ }, z.core.$strip>>;
446
+ more: z.ZodBoolean;
447
+ }, z.core.$strip>, z.ZodObject<{
448
+ kind: z.ZodLiteral<"agent">;
449
+ entries: z.ZodArray<z.ZodObject<{
450
+ id: z.ZodString;
451
+ kind: z.ZodEnum<{
452
+ task: "task";
453
+ mail: "mail";
454
+ }>;
455
+ direction: z.ZodEnum<{
456
+ out: "out";
457
+ in: "in";
458
+ }>;
459
+ peer: z.ZodString;
460
+ at: z.ZodNumber;
461
+ text: z.ZodOptional<z.ZodString>;
462
+ taskId: z.ZodOptional<z.ZodString>;
463
+ stage: z.ZodOptional<z.ZodEnum<{
464
+ accepted: "accepted";
465
+ relayed: "relayed";
466
+ delivered: "delivered";
467
+ held: "held";
468
+ handed_to_agent: "handed_to_agent";
469
+ read: "read";
470
+ replied: "replied";
471
+ rejected: "rejected";
472
+ expired: "expired";
473
+ }>>;
474
+ role: z.ZodOptional<z.ZodEnum<{
475
+ requester: "requester";
476
+ executor: "executor";
477
+ }>>;
478
+ state: z.ZodOptional<z.ZodEnum<{
479
+ TASK_STATE_SUBMITTED: "TASK_STATE_SUBMITTED";
480
+ TASK_STATE_WORKING: "TASK_STATE_WORKING";
481
+ TASK_STATE_COMPLETED: "TASK_STATE_COMPLETED";
482
+ TASK_STATE_FAILED: "TASK_STATE_FAILED";
483
+ TASK_STATE_CANCELED: "TASK_STATE_CANCELED";
484
+ TASK_STATE_INPUT_REQUIRED: "TASK_STATE_INPUT_REQUIRED";
485
+ TASK_STATE_REJECTED: "TASK_STATE_REJECTED";
486
+ TASK_STATE_AUTH_REQUIRED: "TASK_STATE_AUTH_REQUIRED";
487
+ }>>;
488
+ }, z.core.$strip>>;
489
+ more: z.ZodBoolean;
490
+ }, z.core.$strip>], "kind">;
491
+ };
492
+ /** Agent tier. Full-text search over the DM and channel lines `conv.read` can read, newest first. */
493
+ readonly search: {
494
+ readonly params: z.ZodObject<{
495
+ query: z.ZodString;
496
+ conversation: z.ZodOptional<z.ZodString>;
497
+ limit: z.ZodOptional<z.ZodNumber>;
498
+ }, z.core.$strict>;
499
+ readonly result: z.ZodObject<{
500
+ hits: z.ZodArray<z.ZodObject<{
501
+ id: z.ZodString;
502
+ seq: z.ZodNumber;
503
+ at: z.ZodNumber;
504
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
505
+ agent: z.ZodOptional<z.ZodString>;
506
+ direction: z.ZodEnum<{
507
+ out: "out";
508
+ in: "in";
509
+ }>;
510
+ body: z.ZodString;
511
+ thread: z.ZodOptional<z.ZodString>;
512
+ state: z.ZodOptional<z.ZodEnum<{
513
+ delivered: "delivered";
514
+ held: "held";
515
+ refused: "refused";
516
+ sent: "sent";
517
+ }>>;
518
+ refused: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodString]>>>;
519
+ notice: z.ZodOptional<z.ZodLiteral<true>>;
520
+ conversation: z.ZodString;
521
+ }, z.core.$strip>>;
522
+ }, z.core.$strip>;
523
+ };
524
+ /**
525
+ * Human tier. The channels this person is in and the DMs with lines, newest first, at most `limit`
526
+ * (default 100), each with this device's read state.
527
+ */
528
+ readonly "conv.list": {
529
+ readonly params: z.ZodObject<{
530
+ limit: z.ZodOptional<z.ZodNumber>;
531
+ }, z.core.$strict>;
532
+ readonly result: z.ZodObject<{
533
+ conversations: z.ZodArray<z.ZodObject<{
534
+ conversation: z.ZodString;
535
+ kind: z.ZodEnum<{
536
+ channel: "channel";
537
+ dm: "dm";
538
+ }>;
539
+ lastAt: z.ZodOptional<z.ZodNumber>;
540
+ name: z.ZodOptional<z.ZodString>;
541
+ lastSeq: z.ZodOptional<z.ZodNumber>;
542
+ readUpTo: z.ZodNumber;
543
+ unread: z.ZodNumber;
544
+ }, z.core.$strip>>;
545
+ }, z.core.$strip>;
546
+ };
547
+ /**
548
+ * Human tier. Marks a DM or a channel read on this device up to `upTo` (a line's `seq`): the cursor
549
+ * only moves forward, and never past the newest seq here. Returns the cursor and what is still unread.
550
+ */
551
+ readonly "conv.markRead": {
552
+ readonly params: z.ZodObject<{
553
+ conversation: z.ZodString;
554
+ upTo: z.ZodNumber;
555
+ }, z.core.$strict>;
556
+ readonly result: z.ZodObject<{
557
+ readUpTo: z.ZodNumber;
558
+ unread: z.ZodNumber;
559
+ }, z.core.$strip>;
560
+ };
561
+ /**
562
+ * Human tier. `conv` events go only to connections that call this (spec §6.8). With `since` (the
563
+ * `seq` of the last event the client handled), the daemon first replays one event per line changed
564
+ * after it, oldest first, or sends none and answers `gap: true` when it cannot replay them all; the
565
+ * client then reloads with `conv.list` and `conv.read`. `seq` is the newest seq at the call.
566
+ */
567
+ readonly "conv.subscribe": {
568
+ readonly params: z.ZodObject<{
569
+ since: z.ZodOptional<z.ZodNumber>;
570
+ }, z.core.$strict>;
571
+ readonly result: z.ZodObject<{
572
+ seq: z.ZodNumber;
573
+ gap: z.ZodBoolean;
574
+ }, z.core.$strip>;
575
+ };
576
+ /**
577
+ * Human tier. A line from the person (no agent) to a DM or a channel this person is in. `thread` is
578
+ * the `id` of the thread's first line. `clientId` makes the call idempotent: a repeat with the same
579
+ * `clientId` and the same conversation, thread and text returns the first line's result and sends nothing.
580
+ */
581
+ readonly "person.send": {
582
+ readonly params: z.ZodObject<{
583
+ conversation: z.ZodString;
584
+ text: z.ZodString;
585
+ thread: z.ZodOptional<z.ZodString>;
586
+ clientId: z.ZodOptional<z.ZodString>;
587
+ }, z.core.$strict>;
588
+ readonly result: z.ZodObject<{
589
+ id: z.ZodString;
590
+ conversation: z.ZodString;
591
+ }, z.core.$strip>;
592
+ };
593
+ /** Human tier. The persons of the realm whose handle starts with `query` (all with none), at most `limit` (default 50). */
594
+ readonly "people.search": {
595
+ readonly params: z.ZodObject<{
596
+ query: z.ZodOptional<z.ZodString>;
597
+ limit: z.ZodOptional<z.ZodNumber>;
598
+ }, z.core.$strict>;
599
+ readonly result: z.ZodObject<{
600
+ people: z.ZodArray<z.ZodObject<{
601
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
602
+ name: z.ZodString;
603
+ handle: z.ZodString;
604
+ org: z.ZodEnum<{
605
+ other: "other";
606
+ none: "none";
607
+ same: "same";
608
+ }>;
609
+ vouched: z.ZodEnum<{
610
+ admin: "admin";
611
+ device: "device";
612
+ jelly: "jelly";
613
+ service: "service";
614
+ }>;
615
+ }, z.core.$strip>>;
616
+ }, z.core.$strip>;
617
+ };
618
+ /** Human tier. One person and their current devices, as verified. `not_found` for a person this realm does not know. */
619
+ readonly "people.get": {
620
+ readonly params: z.ZodObject<{
621
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
622
+ }, z.core.$strict>;
623
+ /** A device's `away`: its latest presence, still fresh, says no window of the person is visible on it (spec §6.5). */
624
+ readonly result: z.ZodObject<{
625
+ person: z.ZodUnion<readonly [z.ZodString, z.ZodString]>;
626
+ name: z.ZodString;
627
+ handle: z.ZodString;
628
+ org: z.ZodEnum<{
629
+ other: "other";
630
+ none: "none";
631
+ same: "same";
632
+ }>;
633
+ vouched: z.ZodEnum<{
634
+ admin: "admin";
635
+ device: "device";
636
+ jelly: "jelly";
637
+ service: "service";
638
+ }>;
639
+ devices: z.ZodArray<z.ZodObject<{
640
+ device: z.ZodString;
641
+ label: z.ZodString;
642
+ self: z.ZodBoolean;
643
+ away: z.ZodOptional<z.ZodLiteral<true>>;
644
+ }, z.core.$strip>>;
645
+ deviceChanges: z.ZodOptional<z.ZodArray<z.ZodObject<{
646
+ change: z.ZodEnum<{
647
+ removed: "removed";
648
+ replaced: "replaced";
649
+ added: "added";
650
+ vouched: "vouched";
651
+ }>;
652
+ device: z.ZodString;
653
+ label: z.ZodString;
654
+ kind: z.ZodOptional<z.ZodEnum<{
655
+ "jelly-host": "jelly-host";
656
+ laptop: "laptop";
657
+ server: "server";
658
+ other: "other";
659
+ }>>;
660
+ vouch: z.ZodEnum<{
661
+ admin: "admin";
662
+ device: "device";
663
+ jelly: "jelly";
664
+ }>;
665
+ via: z.ZodOptional<z.ZodEnum<{
666
+ host: "host";
667
+ browser: "browser";
668
+ }>>;
669
+ approver: z.ZodOptional<z.ZodString>;
670
+ at: z.ZodNumber;
671
+ }, z.core.$strip>>>;
672
+ }, z.core.$strip>;
673
+ };
674
+ };