@vercel/board 0.16.0 → 0.18.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 (130) hide show
  1. package/README.md +27 -27
  2. package/dist/{a2-C41hD8SF.mjs → a2-ChRLRupa.mjs} +969 -25
  3. package/dist/access.d.mts +1 -1
  4. package/dist/access.mjs +3 -3
  5. package/dist/{actors-DjMeZpnU.mjs → actors-BOamkEuz.mjs} +3 -73
  6. package/dist/attempts-CLG840Oj.mjs +20 -0
  7. package/dist/{auth-COzc09sn.mjs → auth-Drg9FiC2.mjs} +225 -2
  8. package/dist/backend-B-SJ7p6p.d.mts +680 -0
  9. package/dist/backend-a2/contract.d.mts +873 -2
  10. package/dist/backend-a2/contract.mjs +2 -2
  11. package/dist/backend-a2/scheduler-local.d.mts +1 -1
  12. package/dist/backend-a2/scheduler-local.mjs +1 -1
  13. package/dist/backend-a2/scheduler-qstash.d.mts +78 -1
  14. package/dist/backend-a2/scheduler-qstash.mjs +521 -1
  15. package/dist/backend-a2/scheduler-vercel.d.mts +37 -1
  16. package/dist/backend-a2/scheduler-vercel.mjs +203 -1
  17. package/dist/backend-a2/store-memory.d.mts +2 -2
  18. package/dist/backend-a2/store-memory.mjs +3 -3
  19. package/dist/backend-a2/store-postgres.d.mts +1 -1
  20. package/dist/backend-a2/store-postgres.mjs +2850 -2
  21. package/dist/backend-a2/store-redis-http.d.mts +1 -1
  22. package/dist/backend-a2/store-redis-http.mjs +490 -2
  23. package/dist/backend-a2/store-redis.d.mts +10 -2
  24. package/dist/backend-a2/store-redis.mjs +51 -2
  25. package/dist/backend-a2/store-sqlite.d.mts +1 -1
  26. package/dist/backend-a2/store-sqlite.mjs +3 -3
  27. package/dist/backend-a2.d.mts +2706 -3
  28. package/dist/backend-a2.mjs +1 -1
  29. package/dist/{backend-http-Bid7RIpC.d.mts → backend-http-7cNb8nJI.d.mts} +10 -3
  30. package/dist/{backend-http-0roEmjl0.mjs → backend-http-CMlL3yq3.mjs} +2 -2
  31. package/dist/{backend-http-BVRno-ca.mjs → backend-http-Ddzd5kTS.mjs} +32 -3
  32. package/dist/backend-http.d.mts +1 -1
  33. package/dist/backend-http.mjs +1 -1
  34. package/dist/backend-http.node.d.mts +1 -1
  35. package/dist/backend-http.node.mjs +1 -1
  36. package/dist/{chat-provider-XCnQlxq6.d.mts → chat-provider-DNJQyajS.d.mts} +16 -4
  37. package/dist/{chat-provider-jFSeyNmB.mjs → chat-provider-YHy-WbrB.mjs} +15 -9
  38. package/dist/cli.mjs +30 -10
  39. package/dist/{client-DGDPaN7U.mjs → client-BA-J7usH.mjs} +10 -2
  40. package/dist/{conformance-DRR23YNy.mjs → conformance-CT5EeHeC.mjs} +5 -2
  41. package/dist/conformance.d.mts +1 -1
  42. package/dist/conformance.mjs +1 -1
  43. package/dist/{engine-Bir5s8ts.mjs → engine-D0oBUBEK.mjs} +249 -163
  44. package/dist/events-CewD4kw7.mjs +75 -0
  45. package/dist/{exports-Dvc1o52I.mjs → exports-CgjfMrQ-.mjs} +35 -32
  46. package/dist/exports-ZsgjzEnM.d.mts +4 -0
  47. package/dist/external-BV_cUncs.mjs +151 -0
  48. package/dist/folds-CRYY14kc.d.mts +534 -0
  49. package/dist/{reducers-mUPFuFJV.mjs → folds-Dyjput8M.mjs} +6 -73
  50. package/dist/ids-C6AYo1bu.mjs +31 -0
  51. package/dist/index.d.mts +4 -4
  52. package/dist/{index.default-Bkg77Pxn.mjs → index.default-C5Cpz3sa.mjs} +1 -1
  53. package/dist/index.mjs +5 -5
  54. package/dist/index.node.d.mts +4 -4
  55. package/dist/index.node.mjs +3 -3
  56. package/dist/inspect/app.js +31 -31
  57. package/dist/inspect/engine.js +5 -5
  58. package/dist/internal-CvsrprnU-CRY89I-b.mjs +203 -0
  59. package/dist/{local-Cr_dSjvs.mjs → local-DhkrAqPP.mjs} +1 -1
  60. package/dist/mentions-CB6ShY4R.mjs +72 -0
  61. package/dist/{targets-yM5JBUgr.mjs → middleware-CqaCwucP.mjs} +1 -33
  62. package/dist/platform-B4TnJtWu-CwcTyKg2.mjs +32 -0
  63. package/dist/{project-CFiArraX.mjs → project-DMDST9kl.mjs} +1 -1
  64. package/dist/{provider-BGjz-mDa.d.mts → provider-B0b9Qxw4.d.mts} +170 -40
  65. package/dist/provider-B3DpYSDq.mjs +220 -0
  66. package/dist/redis-tables-DN9PfIDi.mjs +3897 -0
  67. package/dist/reducer-CYPHsSmd-BQIfozGi.d.mts +170 -0
  68. package/dist/reducer-CjmvZSAb-D_OSISmj.mjs +74 -0
  69. package/dist/{contract-CuJmlrhw.mjs → reducers-BFmIXilu.mjs} +260 -287
  70. package/dist/retryable-lazy-DZWmHpii-Bye-W8q7.mjs +19 -0
  71. package/dist/scheduler-task-X1SToDjP-BVoWuInI.mjs +69 -0
  72. package/dist/{serve-BsOOc-6_.mjs → serve-BGYw0uNL.mjs} +5 -5
  73. package/dist/{server-jwPY7_wi.mjs → server-DPxBSogx.mjs} +4 -4
  74. package/dist/server-DtFrWxi3-Boa6gdWO.mjs +3602 -0
  75. package/dist/server-qgez0Xny-D5mLfqFQ.d.mts +385 -0
  76. package/dist/{serving-BNbzc96L.mjs → serving-CNkgUPW1.mjs} +1 -1
  77. package/dist/session-clear-wHd5GCpZ-BnKSxReK.mjs +51 -0
  78. package/dist/{sql-DbiEnqM0.mjs → sql-U9WTxrwJ.mjs} +2 -2
  79. package/dist/{sqlite-db-Cbj03vmp.mjs → sqlite-db-Ds4majtT.mjs} +1 -1
  80. package/dist/store-D0MhBvg6-4Z2L0Kqd.d.mts +530 -0
  81. package/dist/store-N8PXxDAS-BWBgzBHp.mjs +5 -0
  82. package/dist/store-codec-DwrWlgQx-CYxGW0aD.mjs +61 -0
  83. package/dist/store-memory-Bas9Uq5C.mjs +872 -0
  84. package/dist/store-memory-ZLiZbH3R.mjs +2 -0
  85. package/dist/store-polling-BZt2Rf3D-BiEM6_HB.mjs +148 -0
  86. package/dist/store-presence-polling-JuAy2Ck2-CYpuK75X.mjs +109 -0
  87. package/dist/store-sqlite-BmwL3pUR.mjs +2 -0
  88. package/dist/store-sqlite-CxxPCcCT.mjs +1053 -0
  89. package/dist/stream-buffer-DrTyiIuo-BKy-vI14.mjs +53 -0
  90. package/dist/sync-github.d.mts +24 -17
  91. package/dist/sync-github.mjs +89 -22
  92. package/dist/sync-kapso.d.mts +15 -13
  93. package/dist/sync-kapso.mjs +17 -14
  94. package/dist/sync-linear.d.mts +219 -0
  95. package/dist/sync-linear.mjs +311 -0
  96. package/dist/sync-slack.d.mts +12 -17
  97. package/dist/sync-slack.mjs +54 -42
  98. package/dist/sync.chat.d.mts +1 -1
  99. package/dist/sync.chat.mjs +1 -1
  100. package/dist/sync.d.mts +3 -3
  101. package/dist/sync.mjs +5 -4
  102. package/dist/targets-C-wdR5wP.mjs +33 -0
  103. package/dist/{tokens-DKLn5P9B.mjs → tokens-DhuzKzAl.mjs} +1 -1
  104. package/dist/{types-BHCjTZdB.d.mts → types-8yq2VnKI.d.mts} +2 -2
  105. package/dist/{users-Dls7_ANV.mjs → users-yryHKFMo.mjs} +2 -2
  106. package/dist/{watch-spec-W0c7ypHJ.mjs → watchers-hash-RLtnSF-t.mjs} +233 -28
  107. package/docs/01-board/01-mounting.md +1 -1
  108. package/docs/02-sync/01-overview.md +72 -48
  109. package/docs/02-sync/02-functions.md +398 -0
  110. package/docs/02-sync/03-slack.md +30 -25
  111. package/docs/02-sync/04-github.md +62 -26
  112. package/docs/02-sync/05-whatsapp.md +23 -19
  113. package/docs/02-sync/06-providers.md +60 -27
  114. package/docs/02-sync/07-linear.md +129 -0
  115. package/docs/03-guides/04-triage.md +1 -1
  116. package/docs/04-reference/01-cli.md +26 -6
  117. package/docs/04-reference/02-board.md +18 -5
  118. package/docs/04-reference/03-http.md +5 -2
  119. package/docs/04-reference/05-conformance.md +1 -1
  120. package/docs/index.md +5 -10
  121. package/package.json +31 -6
  122. package/dist/a2-D24cvwpN.d.mts +0 -3359
  123. package/dist/access-CJU2-vaa.mjs +0 -226
  124. package/dist/attempts-Bxp9KgPf.mjs +0 -919
  125. package/dist/exports-DLiE7fLY.d.mts +0 -4
  126. package/dist/provider-CuewcDNZ.mjs +0 -205
  127. package/dist/redis-tables-B35vv4CZ.mjs +0 -842
  128. package/dist/reducers-B_vUGQRp.d.mts +0 -1172
  129. package/dist/watchers-hash-CLjsa6od.mjs +0 -225
  130. package/docs/02-sync/02-callbacks.md +0 -265
@@ -1,4 +1,2707 @@
1
- import { n as A2Options, r as a2, t as A2Backend } from "./a2-D24cvwpN.mjs";
2
- import { t as BoardStore } from "./types-BHCjTZdB.mjs";
1
+ import { i as Attachment } from "./schemas-CWxs3ECJ.mjs";
2
+ import { t as Actor } from "./folds-CRYY14kc.mjs";
3
+ import { l as Reducer, r as ContractEvent } from "./reducer-CYPHsSmd-BQIfozGi.mjs";
4
+ import { a as SessionAppend, c as SessionConsumeOptions, d as SessionSchedule, f as StateOptions, l as SessionConsumeResult, n as A2Server, o as SessionClearOptions, p as SessionCleared, r as Consumer, s as SessionClearResult, t as A2Scheduler, u as SessionDeadLetters } from "./server-qgez0Xny-D5mLfqFQ.mjs";
5
+ import { $ as Discovery, Mt as RegistrationView, Qt as SyncCopiesView, Rt as ScheduleView, Tt as PersonView, Wt as SourceRead, Xt as SyncCodeView, Z as ChannelView, _t as MatchView, bt as MessageView, ct as InboxEntry, dn as ThreadView, fn as ThreadsPage, ht as LinkedAccount, ln as SyncedView, lt as InboxItem, ot as IdentityView, sn as SyncThreadView, tn as SyncFindView, tt as EventsPage, vn as UploadTicket, xt as MessagesPage, yt as Me } from "./provider-B0b9Qxw4.mjs";
6
+ import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-B-SJ7p6p.mjs";
3
7
  import { n as fsBlob, r as memoryBlob, t as BlobStore } from "./blob-C0J3wbGv.mjs";
4
- export { type A2Backend, type A2Options, type BlobStore, type BoardStore, a2, fsBlob, memoryBlob };
8
+ import { t as BoardStore } from "./types-8yq2VnKI.mjs";
9
+ import { z } from "zod";
10
+ //#region src/server/transport.d.ts
11
+ /**
12
+ * How a board POSTs to a URL a caller gave it: a wake-up to a board on `http()`. That URL
13
+ * comes from a caller, so by default it's `https` to a public address only, checked as it
14
+ * connects: no loopback, private, or link-local address, however its name resolves, and no
15
+ * redirects. Tests pass their own.
16
+ */
17
+ type Post = (url: string, init: {
18
+ headers: Record<string, string>;
19
+ body: string;
20
+ signal: AbortSignal;
21
+ }) => Promise<Response>;
22
+ //#endregion
23
+ //#region src/server/a2.d.ts
24
+ /**
25
+ * `a2()`'s options: the board in this deployment, on A2's log, and what runs it. Who may use it,
26
+ * and what its writes go through, are board()'s: `board({ authenticate, access, middleware })`.
27
+ */
28
+ type A2Options = {
29
+ /**
30
+ * Where the board keeps its log and tables: `postgres()`, `redis()`, `redisHttp()`, `sqlite()`, or
31
+ * `memory()` from `@vercel/board/backend-a2/store-*`. Omitted: SQLite at `.a2/dev.db` in the working
32
+ * directory, everywhere, which suits development and a single long-running server. Serverless
33
+ * functions can't write there: pass a store, and the board's requests say so until you do.
34
+ */
35
+ store?: BoardStore;
36
+ /**
37
+ * What gives the board a clock: `vercelQueues()` or `qstash()` from `@vercel/board/backend-a2/scheduler-*`,
38
+ * or `localScheduler()` from `@vercel/board/backend-a2/scheduler-local` in a long-running process. Mount
39
+ * the backend's `scheduler` as `POST` in its own route. Without one, the consumers (the tables,
40
+ * watchers, sync) run in the request that writes, a failure is tried again on the next write, and
41
+ * scheduling answers 501 `no_scheduler`.
42
+ */
43
+ scheduler?: A2Scheduler;
44
+ /**
45
+ * Where attachments live: `vercelBlob()` from `@vercel/board/backend-a2/blob-vercel`, or `fsBlob()` and
46
+ * `memoryBlob()` from `@vercel/board/backend-a2`. Without one, the board keeps no files: uploads, and
47
+ * posts that carry them, answer 501 `no_files`, and sync links a platform's files where they are.
48
+ */
49
+ blob?: BlobStore;
50
+ /** For tests: how the board POSTs wake-ups to boards on `http()`. Defaults to https to public addresses only. */
51
+ transport?: {
52
+ post?: Post;
53
+ };
54
+ };
55
+ /**
56
+ * The board in this deployment, on A2's log: its store (SQLite at `.a2/dev.db` by default), and
57
+ * optionally a scheduler and somewhere for files. It's the backend itself: pass it to
58
+ * `board({ backend })`, and mount its `scheduler` in a route of its own. It trusts the callers
59
+ * board() verified; what it does outside requests, it asks board()'s policy about and writes
60
+ * through board(). Nothing is built or connected until board() binds it, and the default store
61
+ * opens on the first call.
62
+ */
63
+ export declare function a2(options?: A2Options): {
64
+ discovery: (caller: Caller, input: {
65
+ [x: string]: never;
66
+ }, signal: AbortSignal) => Promise<Discovery>;
67
+ me: (caller: Caller, input: {
68
+ [x: string]: never;
69
+ }, signal: AbortSignal) => Promise<Me>;
70
+ channels: (caller: Caller, input: {
71
+ [x: string]: never;
72
+ }, signal: AbortSignal) => Promise<{
73
+ channels: ChannelView[];
74
+ cursor: string;
75
+ }>;
76
+ actors: (caller: Caller, input: {
77
+ [x: string]: never;
78
+ }, signal: AbortSignal) => Promise<{
79
+ actors: (Actor & {
80
+ person?: PersonView;
81
+ })[];
82
+ cursor: string;
83
+ }>;
84
+ identity: (caller: Caller, input: {
85
+ [x: string]: never;
86
+ }, signal: AbortSignal) => Promise<IdentityView>;
87
+ messages: (caller: Caller, input: {
88
+ channel?: string | undefined;
89
+ re?: string | undefined;
90
+ by?: string | undefined;
91
+ mentions?: string | undefined;
92
+ label?: (readonly [string, null] | readonly [string, string[]])[] | undefined;
93
+ from?: string | undefined;
94
+ text?: string | undefined;
95
+ after?: string | undefined;
96
+ before?: string | undefined;
97
+ limit?: number | undefined;
98
+ }, signal: AbortSignal) => Promise<MessagesPage>;
99
+ threads: (caller: Caller, input: {
100
+ channel?: string | undefined;
101
+ re?: string | undefined;
102
+ by?: string | undefined;
103
+ mentions?: string | undefined;
104
+ label?: (readonly [string, null] | readonly [string, string[]])[] | undefined;
105
+ from?: string | undefined;
106
+ text?: string | undefined;
107
+ after?: string | undefined;
108
+ limit?: number | undefined;
109
+ }, signal: AbortSignal) => Promise<ThreadsPage>;
110
+ message: (caller: Caller, input: {
111
+ id: string;
112
+ }, signal: AbortSignal) => Promise<ThreadView>;
113
+ post: (caller: Caller, input: {
114
+ channel?: string | undefined;
115
+ re?: string | undefined;
116
+ text: string;
117
+ labels?: Record<string, string> | undefined;
118
+ noSync?: boolean | undefined;
119
+ sync?: (string | {
120
+ target: string;
121
+ kind: "channel" | "thread";
122
+ })[] | undefined;
123
+ id?: string | undefined;
124
+ attachments?: string[] | undefined;
125
+ }, signal: AbortSignal) => Promise<{
126
+ message: MessageView;
127
+ unknownMentions?: string[];
128
+ }>;
129
+ posted: (caller: Caller, input: {
130
+ id: string;
131
+ }, signal: AbortSignal) => Promise<{
132
+ message: MessageView;
133
+ }>;
134
+ edit: (caller: Caller, input: {
135
+ id: string;
136
+ } & {
137
+ text: string;
138
+ }, signal: AbortSignal) => Promise<{
139
+ ok: true;
140
+ unknownMentions?: string[];
141
+ }>;
142
+ delete: (caller: Caller, input: {
143
+ id: string;
144
+ }, signal: AbortSignal) => Promise<{
145
+ ok: true;
146
+ }>;
147
+ react: (caller: Caller, input: {
148
+ id: string;
149
+ } & {
150
+ emoji: string;
151
+ remove?: boolean | undefined;
152
+ }, signal: AbortSignal) => Promise<{
153
+ ok: true;
154
+ }>;
155
+ label: (caller: Caller, input: {
156
+ id: string;
157
+ } & {
158
+ set?: Record<string, string> | undefined;
159
+ unset?: string[] | undefined;
160
+ }, signal: AbortSignal) => Promise<{
161
+ ok: true;
162
+ }>;
163
+ schedule: (caller: Caller, input: {
164
+ channel?: string | undefined;
165
+ re?: string | undefined;
166
+ text: string;
167
+ labels?: Record<string, string> | undefined;
168
+ noSync?: boolean | undefined;
169
+ attachments?: string[] | undefined;
170
+ in?: string | undefined;
171
+ at?: string | undefined;
172
+ every?: string | undefined;
173
+ until?: string | undefined;
174
+ for?: string | undefined;
175
+ times?: number | undefined;
176
+ }, signal: AbortSignal) => Promise<{
177
+ schedule: ScheduleView;
178
+ unknownMentions?: string[];
179
+ }>;
180
+ schedules: (caller: Caller, input: {
181
+ re?: string | undefined;
182
+ channel?: string | undefined;
183
+ by?: string | undefined;
184
+ all?: boolean | undefined;
185
+ }, signal: AbortSignal) => Promise<{
186
+ schedules: ScheduleView[];
187
+ }>;
188
+ cancelSchedule: (caller: Caller, input: {
189
+ id: string;
190
+ }, signal: AbortSignal) => Promise<{
191
+ schedule: ScheduleView;
192
+ canceled: boolean;
193
+ }>;
194
+ upload: (caller: Caller, input: {
195
+ data: Uint8Array;
196
+ name: string | null;
197
+ type: string | null;
198
+ }, signal: AbortSignal) => Promise<{
199
+ attachment: Attachment;
200
+ }>;
201
+ attachment: (caller: Caller, input: {
202
+ id: string;
203
+ }, signal: AbortSignal) => Promise<{
204
+ attachment: Attachment;
205
+ data: Uint8Array | ReadableStream<Uint8Array>;
206
+ }>;
207
+ uploadStart: (caller: Caller, input: {
208
+ name?: string | null | undefined;
209
+ type?: string | null | undefined;
210
+ size: number;
211
+ }, signal: AbortSignal) => Promise<UploadTicket>;
212
+ uploadFinish: (caller: Caller, input: {
213
+ id: string;
214
+ }, signal: AbortSignal) => Promise<{
215
+ attachment: Attachment;
216
+ }>;
217
+ watchers: (caller: Caller, input: {
218
+ [x: string]: never;
219
+ }, signal: AbortSignal) => Promise<{
220
+ watchers: RegistrationView[];
221
+ }>;
222
+ register: (caller: Caller, input: {
223
+ url?: string | null | undefined;
224
+ watch: Record<string, {
225
+ tail: string;
226
+ when: "enters" | "matches";
227
+ }>;
228
+ sync?: {
229
+ key: string;
230
+ platform: string;
231
+ signIn: boolean;
232
+ }[] | undefined;
233
+ }, signal: AbortSignal) => Promise<RegistrationView>;
234
+ matches: (caller: Caller, input: {
235
+ limit?: number | undefined;
236
+ wait?: number | undefined;
237
+ }, signal: AbortSignal) => Promise<{
238
+ matches: MatchView[];
239
+ }>;
240
+ ack: (caller: Caller, input: {
241
+ id: string;
242
+ } & {
243
+ lease: string;
244
+ error?: string | undefined;
245
+ skip?: boolean | undefined;
246
+ }, signal: AbortSignal) => Promise<{
247
+ ok: true;
248
+ }>;
249
+ events: (caller: Caller, input: {
250
+ channel?: string | undefined;
251
+ re?: string | undefined;
252
+ by?: string | undefined;
253
+ mentions?: string | undefined;
254
+ label?: (readonly [string, null] | readonly [string, string[]])[] | undefined;
255
+ from?: string | undefined;
256
+ text?: string | undefined;
257
+ after?: string | undefined;
258
+ wait?: number | undefined;
259
+ all?: boolean | undefined;
260
+ }, signal: AbortSignal) => Promise<EventsPage>;
261
+ typing: (caller: Caller, input: {
262
+ id: string;
263
+ } & {
264
+ status?: string | undefined;
265
+ }, signal: AbortSignal) => Promise<{
266
+ targets: string[];
267
+ }>;
268
+ readSource: (caller: Caller, input: {
269
+ key: string;
270
+ } & {
271
+ target: string;
272
+ limit?: number | undefined;
273
+ }, signal: AbortSignal) => Promise<SourceRead>;
274
+ synced: (caller: Caller, input: {
275
+ id: string;
276
+ }, signal: AbortSignal) => Promise<SyncedView>;
277
+ linked: (caller: Caller, input: {
278
+ url: string;
279
+ }, signal: AbortSignal) => Promise<ThreadView>;
280
+ syncImport: (caller: Caller, input: {
281
+ author: {
282
+ id: string;
283
+ handle: string;
284
+ name: string;
285
+ isBot: boolean;
286
+ avatar: string | null;
287
+ };
288
+ from: string | null;
289
+ op: "post";
290
+ origin: {
291
+ channel?: string | undefined;
292
+ thread: string;
293
+ subthread: string | null;
294
+ message: string;
295
+ context: string | null;
296
+ } | null;
297
+ source?: {
298
+ key: string;
299
+ channel: string;
300
+ thread: string;
301
+ } | undefined;
302
+ channel?: string | undefined;
303
+ re?: string | undefined;
304
+ text: string;
305
+ labels?: Record<string, string> | undefined;
306
+ noSync?: boolean | undefined;
307
+ attachments?: string[] | undefined;
308
+ links?: {
309
+ url: string;
310
+ snapshot: {
311
+ author: string;
312
+ text: string;
313
+ createdAt: string | null;
314
+ files: {
315
+ name: string;
316
+ url: string | null;
317
+ }[];
318
+ } | null;
319
+ unavailable: string | null;
320
+ message: string | null;
321
+ }[] | undefined;
322
+ id?: string | undefined;
323
+ } | {
324
+ author: {
325
+ id: string;
326
+ handle: string;
327
+ name: string;
328
+ isBot: boolean;
329
+ avatar: string | null;
330
+ };
331
+ from: string | null;
332
+ origin?: {
333
+ thread: string;
334
+ message?: string | undefined;
335
+ } | undefined;
336
+ message?: string | undefined;
337
+ op: "edit";
338
+ text: string;
339
+ source?: {
340
+ key: string;
341
+ channel: string;
342
+ thread: string;
343
+ } | undefined;
344
+ } | {
345
+ author: {
346
+ id: string;
347
+ handle: string;
348
+ name: string;
349
+ isBot: boolean;
350
+ avatar: string | null;
351
+ };
352
+ from: string | null;
353
+ origin?: {
354
+ thread: string;
355
+ message?: string | undefined;
356
+ } | undefined;
357
+ message?: string | undefined;
358
+ op: "delete";
359
+ } | {
360
+ author: {
361
+ id: string;
362
+ handle: string;
363
+ name: string;
364
+ isBot: boolean;
365
+ avatar: string | null;
366
+ };
367
+ from: string | null;
368
+ origin?: {
369
+ thread: string;
370
+ message?: string | undefined;
371
+ } | undefined;
372
+ message?: string | undefined;
373
+ op: "react";
374
+ emoji: string;
375
+ remove?: boolean | undefined;
376
+ } | {
377
+ author: {
378
+ id: string;
379
+ handle: string;
380
+ name: string;
381
+ isBot: boolean;
382
+ avatar: string | null;
383
+ };
384
+ from: string | null;
385
+ origin?: {
386
+ thread: string;
387
+ message?: string | undefined;
388
+ } | undefined;
389
+ message?: string | undefined;
390
+ op: "labels";
391
+ set?: Record<string, string> | undefined;
392
+ unset?: string[] | undefined;
393
+ } | {
394
+ author: {
395
+ id: string;
396
+ handle: string;
397
+ name: string;
398
+ isBot: boolean;
399
+ avatar: string | null;
400
+ };
401
+ from: string | null;
402
+ origin?: {
403
+ thread: string;
404
+ message?: string | undefined;
405
+ } | undefined;
406
+ message?: string | undefined;
407
+ op: "links";
408
+ links: {
409
+ url: string;
410
+ snapshot: {
411
+ author: string;
412
+ text: string;
413
+ createdAt: string | null;
414
+ files: {
415
+ name: string;
416
+ url: string | null;
417
+ }[];
418
+ } | null;
419
+ unavailable: string | null;
420
+ message: string | null;
421
+ }[];
422
+ } | {
423
+ op: "seen";
424
+ author: {
425
+ id: string;
426
+ handle: string;
427
+ name: string;
428
+ isBot: boolean;
429
+ avatar: string | null;
430
+ };
431
+ }, signal: AbortSignal) => Promise<{
432
+ message: string | null;
433
+ dropped?: string[];
434
+ }>;
435
+ syncReceipt: (caller: Caller, input: {
436
+ kind: "message";
437
+ message: string;
438
+ target: string;
439
+ external: {
440
+ thread: string;
441
+ message: string;
442
+ asUser?: true | undefined;
443
+ };
444
+ files?: string[] | null | undefined;
445
+ } | {
446
+ kind: "files";
447
+ message: string;
448
+ target: string;
449
+ files: string[] | null;
450
+ } | {
451
+ kind: "failed";
452
+ message: string;
453
+ target: string;
454
+ error: string;
455
+ } | {
456
+ kind: "thread";
457
+ message: string;
458
+ target: string;
459
+ targetKind: "channel" | "thread";
460
+ cause: "config" | "request";
461
+ }, signal: AbortSignal) => Promise<{
462
+ ok: true;
463
+ attached?: boolean;
464
+ }>;
465
+ syncThread: (caller: Caller, input: {
466
+ thread: string;
467
+ }, signal: AbortSignal) => Promise<SyncThreadView>;
468
+ syncFind: (caller: Caller, input: {
469
+ code?: string | undefined;
470
+ post?: string | undefined;
471
+ thread?: string | undefined;
472
+ message?: string | undefined;
473
+ account?: string | undefined;
474
+ person?: string | undefined;
475
+ }, signal: AbortSignal) => Promise<SyncFindView>;
476
+ syncCopies: (caller: Caller, input: {
477
+ message: string[];
478
+ }, signal: AbortSignal) => Promise<SyncCopiesView>;
479
+ syncRoots: (caller: Caller, input: {
480
+ by: string;
481
+ since: number;
482
+ }, signal: AbortSignal) => Promise<{
483
+ roots: MessageView[];
484
+ }>;
485
+ inboxPush: (caller: Caller, input: {
486
+ key: string;
487
+ } & {
488
+ events: {
489
+ id: string;
490
+ event: {
491
+ channel: string;
492
+ thread: string;
493
+ subthread: string | null;
494
+ kind: "message";
495
+ message: string;
496
+ isRoot: boolean;
497
+ text: string;
498
+ context: string | null;
499
+ author: {
500
+ id: string;
501
+ handle: string;
502
+ name: string;
503
+ avatar: string | null;
504
+ isBot: boolean;
505
+ };
506
+ files?: {
507
+ type: "audio" | "file" | "image" | "video";
508
+ name?: string | undefined;
509
+ mimeType?: string | undefined;
510
+ size?: number | undefined;
511
+ url?: string | undefined;
512
+ fetchMetadata?: Record<string, string> | undefined;
513
+ }[] | undefined;
514
+ links?: {
515
+ url: string;
516
+ thread: string;
517
+ message: string;
518
+ snapshot: {
519
+ author: string;
520
+ text: string;
521
+ createdAt: string | null;
522
+ files: {
523
+ name: string;
524
+ url: string | null;
525
+ }[];
526
+ } | null;
527
+ }[] | undefined;
528
+ } | {
529
+ channel: string;
530
+ thread: string;
531
+ subthread: string | null;
532
+ kind: "edited";
533
+ message: string;
534
+ text: string;
535
+ author: {
536
+ id: string;
537
+ handle: string;
538
+ name: string;
539
+ avatar: string | null;
540
+ isBot: boolean;
541
+ };
542
+ links?: {
543
+ url: string;
544
+ thread: string;
545
+ message: string;
546
+ snapshot: {
547
+ author: string;
548
+ text: string;
549
+ createdAt: string | null;
550
+ files: {
551
+ name: string;
552
+ url: string | null;
553
+ }[];
554
+ } | null;
555
+ }[] | undefined;
556
+ linksOnly?: boolean | undefined;
557
+ } | {
558
+ channel: string;
559
+ thread: string;
560
+ subthread: string | null;
561
+ kind: "deleted";
562
+ message: string;
563
+ } | {
564
+ channel: string;
565
+ thread: string;
566
+ subthread: string | null;
567
+ kind: "reaction";
568
+ message: string;
569
+ emoji: string;
570
+ added: boolean;
571
+ author: {
572
+ id: string;
573
+ handle: string;
574
+ name: string;
575
+ avatar: string | null;
576
+ isBot: boolean;
577
+ };
578
+ } | {
579
+ channel: string;
580
+ thread: string;
581
+ kind: "lifecycle";
582
+ type: string;
583
+ title: string;
584
+ url: string | null;
585
+ labels: Record<string, string>;
586
+ unset: string[];
587
+ owns?: string[] | undefined;
588
+ reply: string | null;
589
+ createRoot: boolean;
590
+ retitled?: boolean | undefined;
591
+ author: {
592
+ id: string;
593
+ handle: string;
594
+ name: string;
595
+ avatar: string | null;
596
+ isBot: boolean;
597
+ };
598
+ };
599
+ raw: unknown;
600
+ }[];
601
+ }, signal: AbortSignal) => Promise<{
602
+ ok: true;
603
+ }>;
604
+ inboxNext: (caller: Caller, input: {
605
+ key: string;
606
+ } & {
607
+ limit?: number | undefined;
608
+ }, signal: AbortSignal) => Promise<{
609
+ items: InboxItem[];
610
+ }>;
611
+ inboxAck: (caller: Caller, input: {
612
+ key: string;
613
+ } & {
614
+ id: string;
615
+ } & {
616
+ lease: string;
617
+ error?: string | undefined;
618
+ }, signal: AbortSignal) => Promise<{
619
+ ok: true;
620
+ }>;
621
+ inbox: (caller: Caller, input: {
622
+ key: string;
623
+ } & {
624
+ channel?: string | undefined;
625
+ limit?: number | undefined;
626
+ }, signal: AbortSignal) => Promise<{
627
+ events: InboxEntry[];
628
+ }>;
629
+ syncCode: (caller: Caller, input: {
630
+ sync: string;
631
+ }, signal: AbortSignal) => Promise<SyncCodeView>;
632
+ syncAccount: (caller: Caller, input: {
633
+ sync: string;
634
+ account: {
635
+ id: string;
636
+ handle: string;
637
+ name: string;
638
+ isBot: boolean;
639
+ avatar: string | null;
640
+ };
641
+ code: string;
642
+ message?: string | undefined;
643
+ method?: "code" | "consent" | undefined;
644
+ }, signal: AbortSignal) => Promise<{
645
+ person: string;
646
+ link: LinkedAccount;
647
+ }>;
648
+ syncUnlink: (caller: Caller, input: {
649
+ account: string;
650
+ }, signal: AbortSignal) => Promise<{
651
+ ok: true;
652
+ }>;
653
+ routes: BackendRoute[];
654
+ keeps: boolean;
655
+ bind(given: BoardBinding): void;
656
+ /** The scheduler's callback: `export { scheduler as POST }` from a route of its own. A board without a scheduler answers 404. */
657
+ scheduler: (request: Request) => Promise<Response>;
658
+ servers: (A2Server<{
659
+ 'message.posted': z.ZodObject<{
660
+ channel: z.ZodString;
661
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
662
+ re: z.ZodNullable<z.ZodNumber>;
663
+ replyTo: z.ZodNullable<z.ZodNumber>;
664
+ thread: z.ZodString;
665
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
666
+ noSync: z.ZodBoolean;
667
+ mentions: z.ZodArray<z.ZodString>;
668
+ by: z.ZodObject<{
669
+ actor: z.ZodString;
670
+ principal: z.ZodString;
671
+ profile: z.ZodNullable<z.ZodString>;
672
+ session: z.ZodNullable<z.ZodString>;
673
+ }, z.core.$strip>;
674
+ origin: z.ZodNullable<z.ZodObject<{
675
+ channel: z.ZodOptional<z.ZodString>;
676
+ thread: z.ZodString;
677
+ subthread: z.ZodNullable<z.ZodString>;
678
+ message: z.ZodString;
679
+ context: z.ZodNullable<z.ZodString>;
680
+ }, z.core.$strip>>;
681
+ from: z.ZodNullable<z.ZodString>;
682
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
683
+ id: z.ZodString;
684
+ name: z.ZodString;
685
+ type: z.ZodString;
686
+ size: z.ZodNumber;
687
+ }, z.core.$strip>>>;
688
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
689
+ url: z.ZodString;
690
+ message: z.ZodNullable<z.ZodNumber>;
691
+ snapshot: z.ZodNullable<z.ZodObject<{
692
+ author: z.ZodString;
693
+ text: z.ZodString;
694
+ createdAt: z.ZodNullable<z.ZodString>;
695
+ files: z.ZodArray<z.ZodObject<{
696
+ name: z.ZodString;
697
+ url: z.ZodNullable<z.ZodString>;
698
+ }, z.core.$strip>>;
699
+ }, z.core.$strip>>;
700
+ unavailable: z.ZodNullable<z.ZodString>;
701
+ }, z.core.$strip>>>;
702
+ schedule: z.ZodOptional<z.ZodObject<{
703
+ id: z.ZodNumber;
704
+ n: z.ZodNumber;
705
+ }, z.core.$strip>>;
706
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
707
+ importedBy: z.ZodOptional<z.ZodString>;
708
+ }, z.core.$strip>;
709
+ 'message.linked': z.ZodObject<{
710
+ id: z.ZodNumber;
711
+ thread: z.ZodString;
712
+ links: z.ZodArray<z.ZodObject<{
713
+ url: z.ZodString;
714
+ message: z.ZodNullable<z.ZodNumber>;
715
+ snapshot: z.ZodNullable<z.ZodObject<{
716
+ author: z.ZodString;
717
+ text: z.ZodString;
718
+ createdAt: z.ZodNullable<z.ZodString>;
719
+ files: z.ZodArray<z.ZodObject<{
720
+ name: z.ZodString;
721
+ url: z.ZodNullable<z.ZodString>;
722
+ }, z.core.$strip>>;
723
+ }, z.core.$strip>>;
724
+ unavailable: z.ZodNullable<z.ZodString>;
725
+ }, z.core.$strip>>;
726
+ by: z.ZodObject<{
727
+ actor: z.ZodString;
728
+ principal: z.ZodString;
729
+ profile: z.ZodNullable<z.ZodString>;
730
+ session: z.ZodNullable<z.ZodString>;
731
+ }, z.core.$strip>;
732
+ from: z.ZodNullable<z.ZodString>;
733
+ }, z.core.$strip>;
734
+ 'message.edited': z.ZodObject<{
735
+ id: z.ZodNumber;
736
+ thread: z.ZodString;
737
+ text: z.ZodString;
738
+ mentions: z.ZodArray<z.ZodString>;
739
+ by: z.ZodObject<{
740
+ actor: z.ZodString;
741
+ principal: z.ZodString;
742
+ profile: z.ZodNullable<z.ZodString>;
743
+ session: z.ZodNullable<z.ZodString>;
744
+ }, z.core.$strip>;
745
+ from: z.ZodNullable<z.ZodString>;
746
+ }, z.core.$strip>;
747
+ 'message.deleted': z.ZodObject<{
748
+ id: z.ZodNumber;
749
+ thread: z.ZodString;
750
+ by: z.ZodObject<{
751
+ actor: z.ZodString;
752
+ principal: z.ZodString;
753
+ profile: z.ZodNullable<z.ZodString>;
754
+ session: z.ZodNullable<z.ZodString>;
755
+ }, z.core.$strip>;
756
+ from: z.ZodNullable<z.ZodString>;
757
+ }, z.core.$strip>;
758
+ 'reaction.added': z.ZodObject<{
759
+ id: z.ZodNumber;
760
+ thread: z.ZodString;
761
+ emoji: z.ZodString;
762
+ by: z.ZodObject<{
763
+ actor: z.ZodString;
764
+ principal: z.ZodString;
765
+ profile: z.ZodNullable<z.ZodString>;
766
+ session: z.ZodNullable<z.ZodString>;
767
+ }, z.core.$strip>;
768
+ from: z.ZodNullable<z.ZodString>;
769
+ }, z.core.$strip>;
770
+ 'reaction.removed': z.ZodObject<{
771
+ id: z.ZodNumber;
772
+ thread: z.ZodString;
773
+ emoji: z.ZodString;
774
+ by: z.ZodObject<{
775
+ actor: z.ZodString;
776
+ principal: z.ZodString;
777
+ profile: z.ZodNullable<z.ZodString>;
778
+ session: z.ZodNullable<z.ZodString>;
779
+ }, z.core.$strip>;
780
+ from: z.ZodNullable<z.ZodString>;
781
+ }, z.core.$strip>;
782
+ 'labels.changed': z.ZodObject<{
783
+ id: z.ZodNumber;
784
+ thread: z.ZodString;
785
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
786
+ unset: z.ZodArray<z.ZodString>;
787
+ by: z.ZodObject<{
788
+ actor: z.ZodString;
789
+ principal: z.ZodString;
790
+ profile: z.ZodNullable<z.ZodString>;
791
+ session: z.ZodNullable<z.ZodString>;
792
+ }, z.core.$strip>;
793
+ }, z.core.$strip>;
794
+ 'thread.synced': z.ZodObject<{
795
+ thread: z.ZodString;
796
+ target: z.ZodString;
797
+ cause: z.ZodEnum<{
798
+ config: "config";
799
+ request: "request";
800
+ }>;
801
+ kind: z.ZodOptional<z.ZodEnum<{
802
+ channel: "channel";
803
+ thread: "thread";
804
+ }>>;
805
+ by: z.ZodObject<{
806
+ actor: z.ZodString;
807
+ principal: z.ZodString;
808
+ profile: z.ZodNullable<z.ZodString>;
809
+ session: z.ZodNullable<z.ZodString>;
810
+ }, z.core.$strip>;
811
+ }, z.core.$strip>;
812
+ 'message.synced': z.ZodObject<{
813
+ id: z.ZodNumber;
814
+ thread: z.ZodString;
815
+ target: z.ZodString;
816
+ external: z.ZodObject<{
817
+ thread: z.ZodString;
818
+ message: z.ZodString;
819
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
820
+ }, z.core.$strip>;
821
+ syncedBy: z.ZodOptional<z.ZodString>;
822
+ }, z.core.$strip>;
823
+ 'message.files_synced': z.ZodObject<{
824
+ id: z.ZodNumber;
825
+ thread: z.ZodString;
826
+ target: z.ZodString;
827
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
828
+ syncedBy: z.ZodOptional<z.ZodString>;
829
+ }, z.core.$strip>;
830
+ 'message.sync_failed': z.ZodObject<{
831
+ id: z.ZodNumber;
832
+ thread: z.ZodString;
833
+ target: z.ZodString;
834
+ error: z.ZodString;
835
+ }, z.core.$strip>;
836
+ 'actor.seen': z.ZodObject<{
837
+ actor: z.ZodString;
838
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
839
+ agent: "agent";
840
+ deployment: "deployment";
841
+ external: "external";
842
+ person: "person";
843
+ workflow: "workflow";
844
+ }>, z.ZodLiteral<"profile">]>;
845
+ handle: z.ZodString;
846
+ name: z.ZodString;
847
+ avatar: z.ZodNullable<z.ZodString>;
848
+ host: z.ZodOptional<z.ZodLiteral<true>>;
849
+ }, z.core.$strip>;
850
+ 'actor.linked': z.ZodObject<{
851
+ actor: z.ZodString;
852
+ to: z.ZodString;
853
+ method: z.ZodEnum<{
854
+ code: "code";
855
+ consent: "consent";
856
+ }>;
857
+ by: z.ZodObject<{
858
+ actor: z.ZodString;
859
+ principal: z.ZodString;
860
+ profile: z.ZodNullable<z.ZodString>;
861
+ session: z.ZodNullable<z.ZodString>;
862
+ }, z.core.$strip>;
863
+ }, z.core.$strip>;
864
+ 'actor.unlinked': z.ZodObject<{
865
+ actor: z.ZodString;
866
+ by: z.ZodObject<{
867
+ actor: z.ZodString;
868
+ principal: z.ZodString;
869
+ profile: z.ZodNullable<z.ZodString>;
870
+ session: z.ZodNullable<z.ZodString>;
871
+ }, z.core.$strip>;
872
+ }, z.core.$strip>;
873
+ }, Record<never, never>, undefined> | A2Server<{
874
+ 'external.received': z.ZodObject<{
875
+ sync: z.ZodString;
876
+ event: z.ZodDiscriminatedUnion<[z.ZodObject<{
877
+ channel: z.ZodString;
878
+ thread: z.ZodString;
879
+ subthread: z.ZodNullable<z.ZodString>;
880
+ kind: z.ZodLiteral<"message">;
881
+ message: z.ZodString;
882
+ isRoot: z.ZodBoolean;
883
+ text: z.ZodString;
884
+ context: z.ZodNullable<z.ZodString>;
885
+ author: z.ZodObject<{
886
+ id: z.ZodString;
887
+ handle: z.ZodString;
888
+ name: z.ZodString;
889
+ avatar: z.ZodNullable<z.ZodString>;
890
+ isBot: z.ZodBoolean;
891
+ }, z.core.$strip>;
892
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
893
+ type: z.ZodEnum<{
894
+ audio: "audio";
895
+ file: "file";
896
+ image: "image";
897
+ video: "video";
898
+ }>;
899
+ name: z.ZodOptional<z.ZodString>;
900
+ mimeType: z.ZodOptional<z.ZodString>;
901
+ size: z.ZodOptional<z.ZodNumber>;
902
+ url: z.ZodOptional<z.ZodString>;
903
+ fetchMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
904
+ }, z.core.$strip>>>;
905
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
906
+ url: z.ZodString;
907
+ thread: z.ZodString;
908
+ message: z.ZodString;
909
+ snapshot: z.ZodNullable<z.ZodObject<{
910
+ author: z.ZodString;
911
+ text: z.ZodString;
912
+ createdAt: z.ZodNullable<z.ZodString>;
913
+ files: z.ZodArray<z.ZodObject<{
914
+ name: z.ZodString;
915
+ url: z.ZodNullable<z.ZodString>;
916
+ }, z.core.$strip>>;
917
+ }, z.core.$strip>>;
918
+ }, z.core.$strip>>>;
919
+ }, z.core.$strip>, z.ZodObject<{
920
+ channel: z.ZodString;
921
+ thread: z.ZodString;
922
+ subthread: z.ZodNullable<z.ZodString>;
923
+ kind: z.ZodLiteral<"edited">;
924
+ message: z.ZodString;
925
+ text: z.ZodString;
926
+ author: z.ZodObject<{
927
+ id: z.ZodString;
928
+ handle: z.ZodString;
929
+ name: z.ZodString;
930
+ avatar: z.ZodNullable<z.ZodString>;
931
+ isBot: z.ZodBoolean;
932
+ }, z.core.$strip>;
933
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
934
+ url: z.ZodString;
935
+ thread: z.ZodString;
936
+ message: z.ZodString;
937
+ snapshot: z.ZodNullable<z.ZodObject<{
938
+ author: z.ZodString;
939
+ text: z.ZodString;
940
+ createdAt: z.ZodNullable<z.ZodString>;
941
+ files: z.ZodArray<z.ZodObject<{
942
+ name: z.ZodString;
943
+ url: z.ZodNullable<z.ZodString>;
944
+ }, z.core.$strip>>;
945
+ }, z.core.$strip>>;
946
+ }, z.core.$strip>>>;
947
+ linksOnly: z.ZodOptional<z.ZodBoolean>;
948
+ }, z.core.$strip>, z.ZodObject<{
949
+ channel: z.ZodString;
950
+ thread: z.ZodString;
951
+ subthread: z.ZodNullable<z.ZodString>;
952
+ kind: z.ZodLiteral<"deleted">;
953
+ message: z.ZodString;
954
+ }, z.core.$strip>, z.ZodObject<{
955
+ channel: z.ZodString;
956
+ thread: z.ZodString;
957
+ subthread: z.ZodNullable<z.ZodString>;
958
+ kind: z.ZodLiteral<"reaction">;
959
+ message: z.ZodString;
960
+ emoji: z.ZodString;
961
+ added: z.ZodBoolean;
962
+ author: z.ZodObject<{
963
+ id: z.ZodString;
964
+ handle: z.ZodString;
965
+ name: z.ZodString;
966
+ avatar: z.ZodNullable<z.ZodString>;
967
+ isBot: z.ZodBoolean;
968
+ }, z.core.$strip>;
969
+ }, z.core.$strip>, z.ZodObject<{
970
+ channel: z.ZodString;
971
+ thread: z.ZodString;
972
+ kind: z.ZodLiteral<"lifecycle">;
973
+ type: z.ZodString;
974
+ title: z.ZodString;
975
+ url: z.ZodNullable<z.ZodString>;
976
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
977
+ unset: z.ZodArray<z.ZodString>;
978
+ owns: z.ZodOptional<z.ZodArray<z.ZodString>>;
979
+ reply: z.ZodNullable<z.ZodString>;
980
+ createRoot: z.ZodBoolean;
981
+ retitled: z.ZodOptional<z.ZodBoolean>;
982
+ author: z.ZodObject<{
983
+ id: z.ZodString;
984
+ handle: z.ZodString;
985
+ name: z.ZodString;
986
+ avatar: z.ZodNullable<z.ZodString>;
987
+ isBot: z.ZodBoolean;
988
+ }, z.core.$strip>;
989
+ }, z.core.$strip>], "kind">;
990
+ raw: z.ZodUnknown;
991
+ }, z.core.$strip>;
992
+ 'inbox.opened': z.ZodObject<{
993
+ channel: z.ZodString;
994
+ }, z.core.$strip>;
995
+ }, Record<never, never>, undefined> | A2Server<{
996
+ 'watch.matched': z.ZodObject<{
997
+ thread: z.ZodString;
998
+ event: z.ZodUnknown;
999
+ watcher: z.ZodOptional<z.ZodString>;
1000
+ sync: z.ZodOptional<z.ZodLiteral<true>>;
1001
+ inbox: z.ZodOptional<z.ZodString>;
1002
+ }, z.core.$strip>;
1003
+ 'watch.failed': z.ZodObject<{
1004
+ matched: z.ZodString;
1005
+ thread: z.ZodString;
1006
+ error: z.ZodString;
1007
+ }, z.core.$strip>;
1008
+ 'watch.leased': z.ZodObject<{
1009
+ matched: z.ZodString;
1010
+ lease: z.ZodString;
1011
+ until: z.ZodNumber;
1012
+ }, z.core.$strip>;
1013
+ 'watch.acked': z.ZodObject<{
1014
+ matched: z.ZodString;
1015
+ lease: z.ZodString;
1016
+ error: z.ZodOptional<z.ZodString>;
1017
+ retryAt: z.ZodOptional<z.ZodNumber>;
1018
+ }, z.core.$strip>;
1019
+ 'watch.expired': z.ZodObject<{
1020
+ matched: z.ZodString;
1021
+ lease: z.ZodString;
1022
+ }, z.core.$strip>;
1023
+ 'watch.retry': z.ZodObject<{
1024
+ matched: z.ZodString;
1025
+ }, z.core.$strip>;
1026
+ 'watch.skipped': z.ZodObject<{
1027
+ matched: z.ZodString;
1028
+ reason: z.ZodString;
1029
+ }, z.core.$strip>;
1030
+ 'watch.armed': z.ZodObject<{
1031
+ at: z.ZodNumber;
1032
+ }, z.core.$strip>;
1033
+ 'watch.due': z.ZodObject<{
1034
+ matched: z.ZodOptional<z.ZodString>;
1035
+ retry: z.ZodOptional<z.ZodBoolean>;
1036
+ sweep: z.ZodOptional<z.ZodNumber>;
1037
+ }, z.core.$strip>;
1038
+ 'watch.unreachable': z.ZodObject<{
1039
+ failures: z.ZodNumber;
1040
+ until: z.ZodNumber;
1041
+ why: z.ZodString;
1042
+ }, z.core.$strip>;
1043
+ 'watch.reachable': z.ZodObject<{
1044
+ by: z.ZodEnum<{
1045
+ pull: "pull";
1046
+ registration: "registration";
1047
+ wake: "wake";
1048
+ }>;
1049
+ }, z.core.$strip>;
1050
+ }, Record<never, never>, undefined> | A2Server<{
1051
+ 'watchers.registered': z.ZodObject<{
1052
+ owner: z.ZodString;
1053
+ principal: z.ZodObject<{
1054
+ id: z.ZodString;
1055
+ kind: z.ZodEnum<{
1056
+ deployment: "deployment";
1057
+ external: "external";
1058
+ person: "person";
1059
+ workflow: "workflow";
1060
+ }>;
1061
+ handle: z.ZodString;
1062
+ facts: z.ZodOptional<z.ZodObject<{
1063
+ issuer: z.ZodEnum<{
1064
+ github: "github";
1065
+ host: "host";
1066
+ oidc: "oidc";
1067
+ vercel: "vercel";
1068
+ }>;
1069
+ iss: z.ZodString;
1070
+ claims: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1071
+ team: z.ZodOptional<z.ZodString>;
1072
+ }, z.core.$strip>>;
1073
+ scope: z.ZodOptional<z.ZodString>;
1074
+ }, z.core.$strip>;
1075
+ url: z.ZodNullable<z.ZodString>;
1076
+ watch: z.ZodRecord<z.ZodString, z.ZodObject<{
1077
+ tail: z.ZodString;
1078
+ when: z.ZodEnum<{
1079
+ enters: "enters";
1080
+ matches: "matches";
1081
+ }>;
1082
+ }, z.core.$strip>>;
1083
+ sync: z.ZodOptional<z.ZodArray<z.ZodObject<{
1084
+ key: z.ZodString;
1085
+ platform: z.ZodString;
1086
+ signIn: z.ZodBoolean;
1087
+ }, z.core.$strip>>>;
1088
+ hash: z.ZodString;
1089
+ }, z.core.$strip>;
1090
+ }, Record<never, never>, undefined> | A2Server<{
1091
+ 'schedule.created': z.ZodObject<{
1092
+ channel: z.ZodString;
1093
+ re: z.ZodNullable<z.ZodNumber>;
1094
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
1095
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
1096
+ noSync: z.ZodBoolean;
1097
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1098
+ id: z.ZodString;
1099
+ name: z.ZodString;
1100
+ type: z.ZodString;
1101
+ size: z.ZodNumber;
1102
+ }, z.core.$strip>>>;
1103
+ first: z.ZodNumber;
1104
+ every: z.ZodNullable<z.ZodNumber>;
1105
+ until: z.ZodNullable<z.ZodNumber>;
1106
+ times: z.ZodNullable<z.ZodNumber>;
1107
+ as: z.ZodObject<{
1108
+ author: z.ZodObject<{
1109
+ actor: z.ZodString;
1110
+ principal: z.ZodString;
1111
+ profile: z.ZodNullable<z.ZodString>;
1112
+ session: z.ZodNullable<z.ZodString>;
1113
+ }, z.core.$strip>;
1114
+ principal: z.ZodObject<{
1115
+ id: z.ZodString;
1116
+ kind: z.ZodEnum<{
1117
+ deployment: "deployment";
1118
+ external: "external";
1119
+ person: "person";
1120
+ workflow: "workflow";
1121
+ }>;
1122
+ handle: z.ZodString;
1123
+ facts: z.ZodOptional<z.ZodObject<{
1124
+ issuer: z.ZodEnum<{
1125
+ github: "github";
1126
+ host: "host";
1127
+ oidc: "oidc";
1128
+ vercel: "vercel";
1129
+ }>;
1130
+ iss: z.ZodString;
1131
+ claims: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1132
+ team: z.ZodOptional<z.ZodString>;
1133
+ }, z.core.$strip>>;
1134
+ scope: z.ZodOptional<z.ZodString>;
1135
+ }, z.core.$strip>;
1136
+ actor: z.ZodObject<{
1137
+ id: z.ZodString;
1138
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
1139
+ agent: "agent";
1140
+ deployment: "deployment";
1141
+ external: "external";
1142
+ person: "person";
1143
+ workflow: "workflow";
1144
+ }>, z.ZodLiteral<"profile">]>;
1145
+ handle: z.ZodString;
1146
+ name: z.ZodString;
1147
+ avatar: z.ZodNullable<z.ZodString>;
1148
+ }, z.core.$strip>;
1149
+ }, z.core.$strip>;
1150
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
1151
+ }, z.core.$strip>;
1152
+ 'schedule.canceled': z.ZodObject<{
1153
+ id: z.ZodNumber;
1154
+ by: z.ZodObject<{
1155
+ actor: z.ZodString;
1156
+ principal: z.ZodString;
1157
+ profile: z.ZodNullable<z.ZodString>;
1158
+ session: z.ZodNullable<z.ZodString>;
1159
+ }, z.core.$strip>;
1160
+ reason: z.ZodEnum<{
1161
+ canceled: "canceled";
1162
+ dropped: "dropped";
1163
+ revoked: "revoked";
1164
+ thread_deleted: "thread_deleted";
1165
+ }>;
1166
+ }, z.core.$strip>;
1167
+ 'schedule.due': z.ZodObject<{
1168
+ id: z.ZodNumber;
1169
+ n: z.ZodNumber;
1170
+ at: z.ZodNumber;
1171
+ }, z.core.$strip>;
1172
+ 'schedule.fired': z.ZodObject<{
1173
+ id: z.ZodNumber;
1174
+ n: z.ZodNumber;
1175
+ message: z.ZodNumber;
1176
+ next: z.ZodNullable<z.ZodNumber>;
1177
+ }, z.core.$strip>;
1178
+ }, Record<never, never>, undefined>)[];
1179
+ session: {
1180
+ readonly id: string;
1181
+ append: SessionAppend<{
1182
+ 'message.posted': z.ZodObject<{
1183
+ channel: z.ZodString;
1184
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
1185
+ re: z.ZodNullable<z.ZodNumber>;
1186
+ replyTo: z.ZodNullable<z.ZodNumber>;
1187
+ thread: z.ZodString;
1188
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
1189
+ noSync: z.ZodBoolean;
1190
+ mentions: z.ZodArray<z.ZodString>;
1191
+ by: z.ZodObject<{
1192
+ actor: z.ZodString;
1193
+ principal: z.ZodString;
1194
+ profile: z.ZodNullable<z.ZodString>;
1195
+ session: z.ZodNullable<z.ZodString>;
1196
+ }, z.core.$strip>;
1197
+ origin: z.ZodNullable<z.ZodObject<{
1198
+ channel: z.ZodOptional<z.ZodString>;
1199
+ thread: z.ZodString;
1200
+ subthread: z.ZodNullable<z.ZodString>;
1201
+ message: z.ZodString;
1202
+ context: z.ZodNullable<z.ZodString>;
1203
+ }, z.core.$strip>>;
1204
+ from: z.ZodNullable<z.ZodString>;
1205
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1206
+ id: z.ZodString;
1207
+ name: z.ZodString;
1208
+ type: z.ZodString;
1209
+ size: z.ZodNumber;
1210
+ }, z.core.$strip>>>;
1211
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
1212
+ url: z.ZodString;
1213
+ message: z.ZodNullable<z.ZodNumber>;
1214
+ snapshot: z.ZodNullable<z.ZodObject<{
1215
+ author: z.ZodString;
1216
+ text: z.ZodString;
1217
+ createdAt: z.ZodNullable<z.ZodString>;
1218
+ files: z.ZodArray<z.ZodObject<{
1219
+ name: z.ZodString;
1220
+ url: z.ZodNullable<z.ZodString>;
1221
+ }, z.core.$strip>>;
1222
+ }, z.core.$strip>>;
1223
+ unavailable: z.ZodNullable<z.ZodString>;
1224
+ }, z.core.$strip>>>;
1225
+ schedule: z.ZodOptional<z.ZodObject<{
1226
+ id: z.ZodNumber;
1227
+ n: z.ZodNumber;
1228
+ }, z.core.$strip>>;
1229
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
1230
+ importedBy: z.ZodOptional<z.ZodString>;
1231
+ }, z.core.$strip>;
1232
+ 'message.linked': z.ZodObject<{
1233
+ id: z.ZodNumber;
1234
+ thread: z.ZodString;
1235
+ links: z.ZodArray<z.ZodObject<{
1236
+ url: z.ZodString;
1237
+ message: z.ZodNullable<z.ZodNumber>;
1238
+ snapshot: z.ZodNullable<z.ZodObject<{
1239
+ author: z.ZodString;
1240
+ text: z.ZodString;
1241
+ createdAt: z.ZodNullable<z.ZodString>;
1242
+ files: z.ZodArray<z.ZodObject<{
1243
+ name: z.ZodString;
1244
+ url: z.ZodNullable<z.ZodString>;
1245
+ }, z.core.$strip>>;
1246
+ }, z.core.$strip>>;
1247
+ unavailable: z.ZodNullable<z.ZodString>;
1248
+ }, z.core.$strip>>;
1249
+ by: z.ZodObject<{
1250
+ actor: z.ZodString;
1251
+ principal: z.ZodString;
1252
+ profile: z.ZodNullable<z.ZodString>;
1253
+ session: z.ZodNullable<z.ZodString>;
1254
+ }, z.core.$strip>;
1255
+ from: z.ZodNullable<z.ZodString>;
1256
+ }, z.core.$strip>;
1257
+ 'message.edited': z.ZodObject<{
1258
+ id: z.ZodNumber;
1259
+ thread: z.ZodString;
1260
+ text: z.ZodString;
1261
+ mentions: z.ZodArray<z.ZodString>;
1262
+ by: z.ZodObject<{
1263
+ actor: z.ZodString;
1264
+ principal: z.ZodString;
1265
+ profile: z.ZodNullable<z.ZodString>;
1266
+ session: z.ZodNullable<z.ZodString>;
1267
+ }, z.core.$strip>;
1268
+ from: z.ZodNullable<z.ZodString>;
1269
+ }, z.core.$strip>;
1270
+ 'message.deleted': z.ZodObject<{
1271
+ id: z.ZodNumber;
1272
+ thread: z.ZodString;
1273
+ by: z.ZodObject<{
1274
+ actor: z.ZodString;
1275
+ principal: z.ZodString;
1276
+ profile: z.ZodNullable<z.ZodString>;
1277
+ session: z.ZodNullable<z.ZodString>;
1278
+ }, z.core.$strip>;
1279
+ from: z.ZodNullable<z.ZodString>;
1280
+ }, z.core.$strip>;
1281
+ 'reaction.added': z.ZodObject<{
1282
+ id: z.ZodNumber;
1283
+ thread: z.ZodString;
1284
+ emoji: z.ZodString;
1285
+ by: z.ZodObject<{
1286
+ actor: z.ZodString;
1287
+ principal: z.ZodString;
1288
+ profile: z.ZodNullable<z.ZodString>;
1289
+ session: z.ZodNullable<z.ZodString>;
1290
+ }, z.core.$strip>;
1291
+ from: z.ZodNullable<z.ZodString>;
1292
+ }, z.core.$strip>;
1293
+ 'reaction.removed': z.ZodObject<{
1294
+ id: z.ZodNumber;
1295
+ thread: z.ZodString;
1296
+ emoji: z.ZodString;
1297
+ by: z.ZodObject<{
1298
+ actor: z.ZodString;
1299
+ principal: z.ZodString;
1300
+ profile: z.ZodNullable<z.ZodString>;
1301
+ session: z.ZodNullable<z.ZodString>;
1302
+ }, z.core.$strip>;
1303
+ from: z.ZodNullable<z.ZodString>;
1304
+ }, z.core.$strip>;
1305
+ 'labels.changed': z.ZodObject<{
1306
+ id: z.ZodNumber;
1307
+ thread: z.ZodString;
1308
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
1309
+ unset: z.ZodArray<z.ZodString>;
1310
+ by: z.ZodObject<{
1311
+ actor: z.ZodString;
1312
+ principal: z.ZodString;
1313
+ profile: z.ZodNullable<z.ZodString>;
1314
+ session: z.ZodNullable<z.ZodString>;
1315
+ }, z.core.$strip>;
1316
+ }, z.core.$strip>;
1317
+ 'thread.synced': z.ZodObject<{
1318
+ thread: z.ZodString;
1319
+ target: z.ZodString;
1320
+ cause: z.ZodEnum<{
1321
+ config: "config";
1322
+ request: "request";
1323
+ }>;
1324
+ kind: z.ZodOptional<z.ZodEnum<{
1325
+ channel: "channel";
1326
+ thread: "thread";
1327
+ }>>;
1328
+ by: z.ZodObject<{
1329
+ actor: z.ZodString;
1330
+ principal: z.ZodString;
1331
+ profile: z.ZodNullable<z.ZodString>;
1332
+ session: z.ZodNullable<z.ZodString>;
1333
+ }, z.core.$strip>;
1334
+ }, z.core.$strip>;
1335
+ 'message.synced': z.ZodObject<{
1336
+ id: z.ZodNumber;
1337
+ thread: z.ZodString;
1338
+ target: z.ZodString;
1339
+ external: z.ZodObject<{
1340
+ thread: z.ZodString;
1341
+ message: z.ZodString;
1342
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
1343
+ }, z.core.$strip>;
1344
+ syncedBy: z.ZodOptional<z.ZodString>;
1345
+ }, z.core.$strip>;
1346
+ 'message.files_synced': z.ZodObject<{
1347
+ id: z.ZodNumber;
1348
+ thread: z.ZodString;
1349
+ target: z.ZodString;
1350
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
1351
+ syncedBy: z.ZodOptional<z.ZodString>;
1352
+ }, z.core.$strip>;
1353
+ 'message.sync_failed': z.ZodObject<{
1354
+ id: z.ZodNumber;
1355
+ thread: z.ZodString;
1356
+ target: z.ZodString;
1357
+ error: z.ZodString;
1358
+ }, z.core.$strip>;
1359
+ 'actor.seen': z.ZodObject<{
1360
+ actor: z.ZodString;
1361
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
1362
+ agent: "agent";
1363
+ deployment: "deployment";
1364
+ external: "external";
1365
+ person: "person";
1366
+ workflow: "workflow";
1367
+ }>, z.ZodLiteral<"profile">]>;
1368
+ handle: z.ZodString;
1369
+ name: z.ZodString;
1370
+ avatar: z.ZodNullable<z.ZodString>;
1371
+ host: z.ZodOptional<z.ZodLiteral<true>>;
1372
+ }, z.core.$strip>;
1373
+ 'actor.linked': z.ZodObject<{
1374
+ actor: z.ZodString;
1375
+ to: z.ZodString;
1376
+ method: z.ZodEnum<{
1377
+ code: "code";
1378
+ consent: "consent";
1379
+ }>;
1380
+ by: z.ZodObject<{
1381
+ actor: z.ZodString;
1382
+ principal: z.ZodString;
1383
+ profile: z.ZodNullable<z.ZodString>;
1384
+ session: z.ZodNullable<z.ZodString>;
1385
+ }, z.core.$strip>;
1386
+ }, z.core.$strip>;
1387
+ 'actor.unlinked': z.ZodObject<{
1388
+ actor: z.ZodString;
1389
+ by: z.ZodObject<{
1390
+ actor: z.ZodString;
1391
+ principal: z.ZodString;
1392
+ profile: z.ZodNullable<z.ZodString>;
1393
+ session: z.ZodNullable<z.ZodString>;
1394
+ }, z.core.$strip>;
1395
+ }, z.core.$strip>;
1396
+ }>;
1397
+ schedule: SessionSchedule<{
1398
+ 'message.posted': z.ZodObject<{
1399
+ channel: z.ZodString;
1400
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
1401
+ re: z.ZodNullable<z.ZodNumber>;
1402
+ replyTo: z.ZodNullable<z.ZodNumber>;
1403
+ thread: z.ZodString;
1404
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
1405
+ noSync: z.ZodBoolean;
1406
+ mentions: z.ZodArray<z.ZodString>;
1407
+ by: z.ZodObject<{
1408
+ actor: z.ZodString;
1409
+ principal: z.ZodString;
1410
+ profile: z.ZodNullable<z.ZodString>;
1411
+ session: z.ZodNullable<z.ZodString>;
1412
+ }, z.core.$strip>;
1413
+ origin: z.ZodNullable<z.ZodObject<{
1414
+ channel: z.ZodOptional<z.ZodString>;
1415
+ thread: z.ZodString;
1416
+ subthread: z.ZodNullable<z.ZodString>;
1417
+ message: z.ZodString;
1418
+ context: z.ZodNullable<z.ZodString>;
1419
+ }, z.core.$strip>>;
1420
+ from: z.ZodNullable<z.ZodString>;
1421
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1422
+ id: z.ZodString;
1423
+ name: z.ZodString;
1424
+ type: z.ZodString;
1425
+ size: z.ZodNumber;
1426
+ }, z.core.$strip>>>;
1427
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
1428
+ url: z.ZodString;
1429
+ message: z.ZodNullable<z.ZodNumber>;
1430
+ snapshot: z.ZodNullable<z.ZodObject<{
1431
+ author: z.ZodString;
1432
+ text: z.ZodString;
1433
+ createdAt: z.ZodNullable<z.ZodString>;
1434
+ files: z.ZodArray<z.ZodObject<{
1435
+ name: z.ZodString;
1436
+ url: z.ZodNullable<z.ZodString>;
1437
+ }, z.core.$strip>>;
1438
+ }, z.core.$strip>>;
1439
+ unavailable: z.ZodNullable<z.ZodString>;
1440
+ }, z.core.$strip>>>;
1441
+ schedule: z.ZodOptional<z.ZodObject<{
1442
+ id: z.ZodNumber;
1443
+ n: z.ZodNumber;
1444
+ }, z.core.$strip>>;
1445
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
1446
+ importedBy: z.ZodOptional<z.ZodString>;
1447
+ }, z.core.$strip>;
1448
+ 'message.linked': z.ZodObject<{
1449
+ id: z.ZodNumber;
1450
+ thread: z.ZodString;
1451
+ links: z.ZodArray<z.ZodObject<{
1452
+ url: z.ZodString;
1453
+ message: z.ZodNullable<z.ZodNumber>;
1454
+ snapshot: z.ZodNullable<z.ZodObject<{
1455
+ author: z.ZodString;
1456
+ text: z.ZodString;
1457
+ createdAt: z.ZodNullable<z.ZodString>;
1458
+ files: z.ZodArray<z.ZodObject<{
1459
+ name: z.ZodString;
1460
+ url: z.ZodNullable<z.ZodString>;
1461
+ }, z.core.$strip>>;
1462
+ }, z.core.$strip>>;
1463
+ unavailable: z.ZodNullable<z.ZodString>;
1464
+ }, z.core.$strip>>;
1465
+ by: z.ZodObject<{
1466
+ actor: z.ZodString;
1467
+ principal: z.ZodString;
1468
+ profile: z.ZodNullable<z.ZodString>;
1469
+ session: z.ZodNullable<z.ZodString>;
1470
+ }, z.core.$strip>;
1471
+ from: z.ZodNullable<z.ZodString>;
1472
+ }, z.core.$strip>;
1473
+ 'message.edited': z.ZodObject<{
1474
+ id: z.ZodNumber;
1475
+ thread: z.ZodString;
1476
+ text: z.ZodString;
1477
+ mentions: z.ZodArray<z.ZodString>;
1478
+ by: z.ZodObject<{
1479
+ actor: z.ZodString;
1480
+ principal: z.ZodString;
1481
+ profile: z.ZodNullable<z.ZodString>;
1482
+ session: z.ZodNullable<z.ZodString>;
1483
+ }, z.core.$strip>;
1484
+ from: z.ZodNullable<z.ZodString>;
1485
+ }, z.core.$strip>;
1486
+ 'message.deleted': z.ZodObject<{
1487
+ id: z.ZodNumber;
1488
+ thread: z.ZodString;
1489
+ by: z.ZodObject<{
1490
+ actor: z.ZodString;
1491
+ principal: z.ZodString;
1492
+ profile: z.ZodNullable<z.ZodString>;
1493
+ session: z.ZodNullable<z.ZodString>;
1494
+ }, z.core.$strip>;
1495
+ from: z.ZodNullable<z.ZodString>;
1496
+ }, z.core.$strip>;
1497
+ 'reaction.added': z.ZodObject<{
1498
+ id: z.ZodNumber;
1499
+ thread: z.ZodString;
1500
+ emoji: z.ZodString;
1501
+ by: z.ZodObject<{
1502
+ actor: z.ZodString;
1503
+ principal: z.ZodString;
1504
+ profile: z.ZodNullable<z.ZodString>;
1505
+ session: z.ZodNullable<z.ZodString>;
1506
+ }, z.core.$strip>;
1507
+ from: z.ZodNullable<z.ZodString>;
1508
+ }, z.core.$strip>;
1509
+ 'reaction.removed': z.ZodObject<{
1510
+ id: z.ZodNumber;
1511
+ thread: z.ZodString;
1512
+ emoji: z.ZodString;
1513
+ by: z.ZodObject<{
1514
+ actor: z.ZodString;
1515
+ principal: z.ZodString;
1516
+ profile: z.ZodNullable<z.ZodString>;
1517
+ session: z.ZodNullable<z.ZodString>;
1518
+ }, z.core.$strip>;
1519
+ from: z.ZodNullable<z.ZodString>;
1520
+ }, z.core.$strip>;
1521
+ 'labels.changed': z.ZodObject<{
1522
+ id: z.ZodNumber;
1523
+ thread: z.ZodString;
1524
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
1525
+ unset: z.ZodArray<z.ZodString>;
1526
+ by: z.ZodObject<{
1527
+ actor: z.ZodString;
1528
+ principal: z.ZodString;
1529
+ profile: z.ZodNullable<z.ZodString>;
1530
+ session: z.ZodNullable<z.ZodString>;
1531
+ }, z.core.$strip>;
1532
+ }, z.core.$strip>;
1533
+ 'thread.synced': z.ZodObject<{
1534
+ thread: z.ZodString;
1535
+ target: z.ZodString;
1536
+ cause: z.ZodEnum<{
1537
+ config: "config";
1538
+ request: "request";
1539
+ }>;
1540
+ kind: z.ZodOptional<z.ZodEnum<{
1541
+ channel: "channel";
1542
+ thread: "thread";
1543
+ }>>;
1544
+ by: z.ZodObject<{
1545
+ actor: z.ZodString;
1546
+ principal: z.ZodString;
1547
+ profile: z.ZodNullable<z.ZodString>;
1548
+ session: z.ZodNullable<z.ZodString>;
1549
+ }, z.core.$strip>;
1550
+ }, z.core.$strip>;
1551
+ 'message.synced': z.ZodObject<{
1552
+ id: z.ZodNumber;
1553
+ thread: z.ZodString;
1554
+ target: z.ZodString;
1555
+ external: z.ZodObject<{
1556
+ thread: z.ZodString;
1557
+ message: z.ZodString;
1558
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
1559
+ }, z.core.$strip>;
1560
+ syncedBy: z.ZodOptional<z.ZodString>;
1561
+ }, z.core.$strip>;
1562
+ 'message.files_synced': z.ZodObject<{
1563
+ id: z.ZodNumber;
1564
+ thread: z.ZodString;
1565
+ target: z.ZodString;
1566
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
1567
+ syncedBy: z.ZodOptional<z.ZodString>;
1568
+ }, z.core.$strip>;
1569
+ 'message.sync_failed': z.ZodObject<{
1570
+ id: z.ZodNumber;
1571
+ thread: z.ZodString;
1572
+ target: z.ZodString;
1573
+ error: z.ZodString;
1574
+ }, z.core.$strip>;
1575
+ 'actor.seen': z.ZodObject<{
1576
+ actor: z.ZodString;
1577
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
1578
+ agent: "agent";
1579
+ deployment: "deployment";
1580
+ external: "external";
1581
+ person: "person";
1582
+ workflow: "workflow";
1583
+ }>, z.ZodLiteral<"profile">]>;
1584
+ handle: z.ZodString;
1585
+ name: z.ZodString;
1586
+ avatar: z.ZodNullable<z.ZodString>;
1587
+ host: z.ZodOptional<z.ZodLiteral<true>>;
1588
+ }, z.core.$strip>;
1589
+ 'actor.linked': z.ZodObject<{
1590
+ actor: z.ZodString;
1591
+ to: z.ZodString;
1592
+ method: z.ZodEnum<{
1593
+ code: "code";
1594
+ consent: "consent";
1595
+ }>;
1596
+ by: z.ZodObject<{
1597
+ actor: z.ZodString;
1598
+ principal: z.ZodString;
1599
+ profile: z.ZodNullable<z.ZodString>;
1600
+ session: z.ZodNullable<z.ZodString>;
1601
+ }, z.core.$strip>;
1602
+ }, z.core.$strip>;
1603
+ 'actor.unlinked': z.ZodObject<{
1604
+ actor: z.ZodString;
1605
+ by: z.ZodObject<{
1606
+ actor: z.ZodString;
1607
+ principal: z.ZodString;
1608
+ profile: z.ZodNullable<z.ZodString>;
1609
+ session: z.ZodNullable<z.ZodString>;
1610
+ }, z.core.$strip>;
1611
+ }, z.core.$strip>;
1612
+ }>;
1613
+ clear(options?: SessionClearOptions): Promise<SessionClearResult>;
1614
+ history(options?: {
1615
+ gte?: number;
1616
+ lte?: number;
1617
+ }): Promise<ContractEvent<{
1618
+ 'message.posted': z.ZodObject<{
1619
+ channel: z.ZodString;
1620
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
1621
+ re: z.ZodNullable<z.ZodNumber>;
1622
+ replyTo: z.ZodNullable<z.ZodNumber>;
1623
+ thread: z.ZodString;
1624
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
1625
+ noSync: z.ZodBoolean;
1626
+ mentions: z.ZodArray<z.ZodString>;
1627
+ by: z.ZodObject<{
1628
+ actor: z.ZodString;
1629
+ principal: z.ZodString;
1630
+ profile: z.ZodNullable<z.ZodString>;
1631
+ session: z.ZodNullable<z.ZodString>;
1632
+ }, z.core.$strip>;
1633
+ origin: z.ZodNullable<z.ZodObject<{
1634
+ channel: z.ZodOptional<z.ZodString>;
1635
+ thread: z.ZodString;
1636
+ subthread: z.ZodNullable<z.ZodString>;
1637
+ message: z.ZodString;
1638
+ context: z.ZodNullable<z.ZodString>;
1639
+ }, z.core.$strip>>;
1640
+ from: z.ZodNullable<z.ZodString>;
1641
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1642
+ id: z.ZodString;
1643
+ name: z.ZodString;
1644
+ type: z.ZodString;
1645
+ size: z.ZodNumber;
1646
+ }, z.core.$strip>>>;
1647
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
1648
+ url: z.ZodString;
1649
+ message: z.ZodNullable<z.ZodNumber>;
1650
+ snapshot: z.ZodNullable<z.ZodObject<{
1651
+ author: z.ZodString;
1652
+ text: z.ZodString;
1653
+ createdAt: z.ZodNullable<z.ZodString>;
1654
+ files: z.ZodArray<z.ZodObject<{
1655
+ name: z.ZodString;
1656
+ url: z.ZodNullable<z.ZodString>;
1657
+ }, z.core.$strip>>;
1658
+ }, z.core.$strip>>;
1659
+ unavailable: z.ZodNullable<z.ZodString>;
1660
+ }, z.core.$strip>>>;
1661
+ schedule: z.ZodOptional<z.ZodObject<{
1662
+ id: z.ZodNumber;
1663
+ n: z.ZodNumber;
1664
+ }, z.core.$strip>>;
1665
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
1666
+ importedBy: z.ZodOptional<z.ZodString>;
1667
+ }, z.core.$strip>;
1668
+ 'message.linked': z.ZodObject<{
1669
+ id: z.ZodNumber;
1670
+ thread: z.ZodString;
1671
+ links: z.ZodArray<z.ZodObject<{
1672
+ url: z.ZodString;
1673
+ message: z.ZodNullable<z.ZodNumber>;
1674
+ snapshot: z.ZodNullable<z.ZodObject<{
1675
+ author: z.ZodString;
1676
+ text: z.ZodString;
1677
+ createdAt: z.ZodNullable<z.ZodString>;
1678
+ files: z.ZodArray<z.ZodObject<{
1679
+ name: z.ZodString;
1680
+ url: z.ZodNullable<z.ZodString>;
1681
+ }, z.core.$strip>>;
1682
+ }, z.core.$strip>>;
1683
+ unavailable: z.ZodNullable<z.ZodString>;
1684
+ }, z.core.$strip>>;
1685
+ by: z.ZodObject<{
1686
+ actor: z.ZodString;
1687
+ principal: z.ZodString;
1688
+ profile: z.ZodNullable<z.ZodString>;
1689
+ session: z.ZodNullable<z.ZodString>;
1690
+ }, z.core.$strip>;
1691
+ from: z.ZodNullable<z.ZodString>;
1692
+ }, z.core.$strip>;
1693
+ 'message.edited': z.ZodObject<{
1694
+ id: z.ZodNumber;
1695
+ thread: z.ZodString;
1696
+ text: z.ZodString;
1697
+ mentions: z.ZodArray<z.ZodString>;
1698
+ by: z.ZodObject<{
1699
+ actor: z.ZodString;
1700
+ principal: z.ZodString;
1701
+ profile: z.ZodNullable<z.ZodString>;
1702
+ session: z.ZodNullable<z.ZodString>;
1703
+ }, z.core.$strip>;
1704
+ from: z.ZodNullable<z.ZodString>;
1705
+ }, z.core.$strip>;
1706
+ 'message.deleted': z.ZodObject<{
1707
+ id: z.ZodNumber;
1708
+ thread: z.ZodString;
1709
+ by: z.ZodObject<{
1710
+ actor: z.ZodString;
1711
+ principal: z.ZodString;
1712
+ profile: z.ZodNullable<z.ZodString>;
1713
+ session: z.ZodNullable<z.ZodString>;
1714
+ }, z.core.$strip>;
1715
+ from: z.ZodNullable<z.ZodString>;
1716
+ }, z.core.$strip>;
1717
+ 'reaction.added': z.ZodObject<{
1718
+ id: z.ZodNumber;
1719
+ thread: z.ZodString;
1720
+ emoji: z.ZodString;
1721
+ by: z.ZodObject<{
1722
+ actor: z.ZodString;
1723
+ principal: z.ZodString;
1724
+ profile: z.ZodNullable<z.ZodString>;
1725
+ session: z.ZodNullable<z.ZodString>;
1726
+ }, z.core.$strip>;
1727
+ from: z.ZodNullable<z.ZodString>;
1728
+ }, z.core.$strip>;
1729
+ 'reaction.removed': z.ZodObject<{
1730
+ id: z.ZodNumber;
1731
+ thread: z.ZodString;
1732
+ emoji: z.ZodString;
1733
+ by: z.ZodObject<{
1734
+ actor: z.ZodString;
1735
+ principal: z.ZodString;
1736
+ profile: z.ZodNullable<z.ZodString>;
1737
+ session: z.ZodNullable<z.ZodString>;
1738
+ }, z.core.$strip>;
1739
+ from: z.ZodNullable<z.ZodString>;
1740
+ }, z.core.$strip>;
1741
+ 'labels.changed': z.ZodObject<{
1742
+ id: z.ZodNumber;
1743
+ thread: z.ZodString;
1744
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
1745
+ unset: z.ZodArray<z.ZodString>;
1746
+ by: z.ZodObject<{
1747
+ actor: z.ZodString;
1748
+ principal: z.ZodString;
1749
+ profile: z.ZodNullable<z.ZodString>;
1750
+ session: z.ZodNullable<z.ZodString>;
1751
+ }, z.core.$strip>;
1752
+ }, z.core.$strip>;
1753
+ 'thread.synced': z.ZodObject<{
1754
+ thread: z.ZodString;
1755
+ target: z.ZodString;
1756
+ cause: z.ZodEnum<{
1757
+ config: "config";
1758
+ request: "request";
1759
+ }>;
1760
+ kind: z.ZodOptional<z.ZodEnum<{
1761
+ channel: "channel";
1762
+ thread: "thread";
1763
+ }>>;
1764
+ by: z.ZodObject<{
1765
+ actor: z.ZodString;
1766
+ principal: z.ZodString;
1767
+ profile: z.ZodNullable<z.ZodString>;
1768
+ session: z.ZodNullable<z.ZodString>;
1769
+ }, z.core.$strip>;
1770
+ }, z.core.$strip>;
1771
+ 'message.synced': z.ZodObject<{
1772
+ id: z.ZodNumber;
1773
+ thread: z.ZodString;
1774
+ target: z.ZodString;
1775
+ external: z.ZodObject<{
1776
+ thread: z.ZodString;
1777
+ message: z.ZodString;
1778
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
1779
+ }, z.core.$strip>;
1780
+ syncedBy: z.ZodOptional<z.ZodString>;
1781
+ }, z.core.$strip>;
1782
+ 'message.files_synced': z.ZodObject<{
1783
+ id: z.ZodNumber;
1784
+ thread: z.ZodString;
1785
+ target: z.ZodString;
1786
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
1787
+ syncedBy: z.ZodOptional<z.ZodString>;
1788
+ }, z.core.$strip>;
1789
+ 'message.sync_failed': z.ZodObject<{
1790
+ id: z.ZodNumber;
1791
+ thread: z.ZodString;
1792
+ target: z.ZodString;
1793
+ error: z.ZodString;
1794
+ }, z.core.$strip>;
1795
+ 'actor.seen': z.ZodObject<{
1796
+ actor: z.ZodString;
1797
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
1798
+ agent: "agent";
1799
+ deployment: "deployment";
1800
+ external: "external";
1801
+ person: "person";
1802
+ workflow: "workflow";
1803
+ }>, z.ZodLiteral<"profile">]>;
1804
+ handle: z.ZodString;
1805
+ name: z.ZodString;
1806
+ avatar: z.ZodNullable<z.ZodString>;
1807
+ host: z.ZodOptional<z.ZodLiteral<true>>;
1808
+ }, z.core.$strip>;
1809
+ 'actor.linked': z.ZodObject<{
1810
+ actor: z.ZodString;
1811
+ to: z.ZodString;
1812
+ method: z.ZodEnum<{
1813
+ code: "code";
1814
+ consent: "consent";
1815
+ }>;
1816
+ by: z.ZodObject<{
1817
+ actor: z.ZodString;
1818
+ principal: z.ZodString;
1819
+ profile: z.ZodNullable<z.ZodString>;
1820
+ session: z.ZodNullable<z.ZodString>;
1821
+ }, z.core.$strip>;
1822
+ }, z.core.$strip>;
1823
+ 'actor.unlinked': z.ZodObject<{
1824
+ actor: z.ZodString;
1825
+ by: z.ZodObject<{
1826
+ actor: z.ZodString;
1827
+ principal: z.ZodString;
1828
+ profile: z.ZodNullable<z.ZodString>;
1829
+ session: z.ZodNullable<z.ZodString>;
1830
+ }, z.core.$strip>;
1831
+ }, z.core.$strip>;
1832
+ }>[]>;
1833
+ consume(consumer: Consumer<{
1834
+ 'message.posted': z.ZodObject<{
1835
+ channel: z.ZodString;
1836
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
1837
+ re: z.ZodNullable<z.ZodNumber>;
1838
+ replyTo: z.ZodNullable<z.ZodNumber>;
1839
+ thread: z.ZodString;
1840
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
1841
+ noSync: z.ZodBoolean;
1842
+ mentions: z.ZodArray<z.ZodString>;
1843
+ by: z.ZodObject<{
1844
+ actor: z.ZodString;
1845
+ principal: z.ZodString;
1846
+ profile: z.ZodNullable<z.ZodString>;
1847
+ session: z.ZodNullable<z.ZodString>;
1848
+ }, z.core.$strip>;
1849
+ origin: z.ZodNullable<z.ZodObject<{
1850
+ channel: z.ZodOptional<z.ZodString>;
1851
+ thread: z.ZodString;
1852
+ subthread: z.ZodNullable<z.ZodString>;
1853
+ message: z.ZodString;
1854
+ context: z.ZodNullable<z.ZodString>;
1855
+ }, z.core.$strip>>;
1856
+ from: z.ZodNullable<z.ZodString>;
1857
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
1858
+ id: z.ZodString;
1859
+ name: z.ZodString;
1860
+ type: z.ZodString;
1861
+ size: z.ZodNumber;
1862
+ }, z.core.$strip>>>;
1863
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
1864
+ url: z.ZodString;
1865
+ message: z.ZodNullable<z.ZodNumber>;
1866
+ snapshot: z.ZodNullable<z.ZodObject<{
1867
+ author: z.ZodString;
1868
+ text: z.ZodString;
1869
+ createdAt: z.ZodNullable<z.ZodString>;
1870
+ files: z.ZodArray<z.ZodObject<{
1871
+ name: z.ZodString;
1872
+ url: z.ZodNullable<z.ZodString>;
1873
+ }, z.core.$strip>>;
1874
+ }, z.core.$strip>>;
1875
+ unavailable: z.ZodNullable<z.ZodString>;
1876
+ }, z.core.$strip>>>;
1877
+ schedule: z.ZodOptional<z.ZodObject<{
1878
+ id: z.ZodNumber;
1879
+ n: z.ZodNumber;
1880
+ }, z.core.$strip>>;
1881
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
1882
+ importedBy: z.ZodOptional<z.ZodString>;
1883
+ }, z.core.$strip>;
1884
+ 'message.linked': z.ZodObject<{
1885
+ id: z.ZodNumber;
1886
+ thread: z.ZodString;
1887
+ links: z.ZodArray<z.ZodObject<{
1888
+ url: z.ZodString;
1889
+ message: z.ZodNullable<z.ZodNumber>;
1890
+ snapshot: z.ZodNullable<z.ZodObject<{
1891
+ author: z.ZodString;
1892
+ text: z.ZodString;
1893
+ createdAt: z.ZodNullable<z.ZodString>;
1894
+ files: z.ZodArray<z.ZodObject<{
1895
+ name: z.ZodString;
1896
+ url: z.ZodNullable<z.ZodString>;
1897
+ }, z.core.$strip>>;
1898
+ }, z.core.$strip>>;
1899
+ unavailable: z.ZodNullable<z.ZodString>;
1900
+ }, z.core.$strip>>;
1901
+ by: z.ZodObject<{
1902
+ actor: z.ZodString;
1903
+ principal: z.ZodString;
1904
+ profile: z.ZodNullable<z.ZodString>;
1905
+ session: z.ZodNullable<z.ZodString>;
1906
+ }, z.core.$strip>;
1907
+ from: z.ZodNullable<z.ZodString>;
1908
+ }, z.core.$strip>;
1909
+ 'message.edited': z.ZodObject<{
1910
+ id: z.ZodNumber;
1911
+ thread: z.ZodString;
1912
+ text: z.ZodString;
1913
+ mentions: z.ZodArray<z.ZodString>;
1914
+ by: z.ZodObject<{
1915
+ actor: z.ZodString;
1916
+ principal: z.ZodString;
1917
+ profile: z.ZodNullable<z.ZodString>;
1918
+ session: z.ZodNullable<z.ZodString>;
1919
+ }, z.core.$strip>;
1920
+ from: z.ZodNullable<z.ZodString>;
1921
+ }, z.core.$strip>;
1922
+ 'message.deleted': z.ZodObject<{
1923
+ id: z.ZodNumber;
1924
+ thread: z.ZodString;
1925
+ by: z.ZodObject<{
1926
+ actor: z.ZodString;
1927
+ principal: z.ZodString;
1928
+ profile: z.ZodNullable<z.ZodString>;
1929
+ session: z.ZodNullable<z.ZodString>;
1930
+ }, z.core.$strip>;
1931
+ from: z.ZodNullable<z.ZodString>;
1932
+ }, z.core.$strip>;
1933
+ 'reaction.added': z.ZodObject<{
1934
+ id: z.ZodNumber;
1935
+ thread: z.ZodString;
1936
+ emoji: z.ZodString;
1937
+ by: z.ZodObject<{
1938
+ actor: z.ZodString;
1939
+ principal: z.ZodString;
1940
+ profile: z.ZodNullable<z.ZodString>;
1941
+ session: z.ZodNullable<z.ZodString>;
1942
+ }, z.core.$strip>;
1943
+ from: z.ZodNullable<z.ZodString>;
1944
+ }, z.core.$strip>;
1945
+ 'reaction.removed': z.ZodObject<{
1946
+ id: z.ZodNumber;
1947
+ thread: z.ZodString;
1948
+ emoji: z.ZodString;
1949
+ by: z.ZodObject<{
1950
+ actor: z.ZodString;
1951
+ principal: z.ZodString;
1952
+ profile: z.ZodNullable<z.ZodString>;
1953
+ session: z.ZodNullable<z.ZodString>;
1954
+ }, z.core.$strip>;
1955
+ from: z.ZodNullable<z.ZodString>;
1956
+ }, z.core.$strip>;
1957
+ 'labels.changed': z.ZodObject<{
1958
+ id: z.ZodNumber;
1959
+ thread: z.ZodString;
1960
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
1961
+ unset: z.ZodArray<z.ZodString>;
1962
+ by: z.ZodObject<{
1963
+ actor: z.ZodString;
1964
+ principal: z.ZodString;
1965
+ profile: z.ZodNullable<z.ZodString>;
1966
+ session: z.ZodNullable<z.ZodString>;
1967
+ }, z.core.$strip>;
1968
+ }, z.core.$strip>;
1969
+ 'thread.synced': z.ZodObject<{
1970
+ thread: z.ZodString;
1971
+ target: z.ZodString;
1972
+ cause: z.ZodEnum<{
1973
+ config: "config";
1974
+ request: "request";
1975
+ }>;
1976
+ kind: z.ZodOptional<z.ZodEnum<{
1977
+ channel: "channel";
1978
+ thread: "thread";
1979
+ }>>;
1980
+ by: z.ZodObject<{
1981
+ actor: z.ZodString;
1982
+ principal: z.ZodString;
1983
+ profile: z.ZodNullable<z.ZodString>;
1984
+ session: z.ZodNullable<z.ZodString>;
1985
+ }, z.core.$strip>;
1986
+ }, z.core.$strip>;
1987
+ 'message.synced': z.ZodObject<{
1988
+ id: z.ZodNumber;
1989
+ thread: z.ZodString;
1990
+ target: z.ZodString;
1991
+ external: z.ZodObject<{
1992
+ thread: z.ZodString;
1993
+ message: z.ZodString;
1994
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
1995
+ }, z.core.$strip>;
1996
+ syncedBy: z.ZodOptional<z.ZodString>;
1997
+ }, z.core.$strip>;
1998
+ 'message.files_synced': z.ZodObject<{
1999
+ id: z.ZodNumber;
2000
+ thread: z.ZodString;
2001
+ target: z.ZodString;
2002
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
2003
+ syncedBy: z.ZodOptional<z.ZodString>;
2004
+ }, z.core.$strip>;
2005
+ 'message.sync_failed': z.ZodObject<{
2006
+ id: z.ZodNumber;
2007
+ thread: z.ZodString;
2008
+ target: z.ZodString;
2009
+ error: z.ZodString;
2010
+ }, z.core.$strip>;
2011
+ 'actor.seen': z.ZodObject<{
2012
+ actor: z.ZodString;
2013
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
2014
+ agent: "agent";
2015
+ deployment: "deployment";
2016
+ external: "external";
2017
+ person: "person";
2018
+ workflow: "workflow";
2019
+ }>, z.ZodLiteral<"profile">]>;
2020
+ handle: z.ZodString;
2021
+ name: z.ZodString;
2022
+ avatar: z.ZodNullable<z.ZodString>;
2023
+ host: z.ZodOptional<z.ZodLiteral<true>>;
2024
+ }, z.core.$strip>;
2025
+ 'actor.linked': z.ZodObject<{
2026
+ actor: z.ZodString;
2027
+ to: z.ZodString;
2028
+ method: z.ZodEnum<{
2029
+ code: "code";
2030
+ consent: "consent";
2031
+ }>;
2032
+ by: z.ZodObject<{
2033
+ actor: z.ZodString;
2034
+ principal: z.ZodString;
2035
+ profile: z.ZodNullable<z.ZodString>;
2036
+ session: z.ZodNullable<z.ZodString>;
2037
+ }, z.core.$strip>;
2038
+ }, z.core.$strip>;
2039
+ 'actor.unlinked': z.ZodObject<{
2040
+ actor: z.ZodString;
2041
+ by: z.ZodObject<{
2042
+ actor: z.ZodString;
2043
+ principal: z.ZodString;
2044
+ profile: z.ZodNullable<z.ZodString>;
2045
+ session: z.ZodNullable<z.ZodString>;
2046
+ }, z.core.$strip>;
2047
+ }, z.core.$strip>;
2048
+ }>, options?: SessionConsumeOptions): Promise<SessionConsumeResult>;
2049
+ state: <T>(reducer: Reducer<{
2050
+ 'message.posted': z.ZodObject<{
2051
+ channel: z.ZodString;
2052
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
2053
+ re: z.ZodNullable<z.ZodNumber>;
2054
+ replyTo: z.ZodNullable<z.ZodNumber>;
2055
+ thread: z.ZodString;
2056
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
2057
+ noSync: z.ZodBoolean;
2058
+ mentions: z.ZodArray<z.ZodString>;
2059
+ by: z.ZodObject<{
2060
+ actor: z.ZodString;
2061
+ principal: z.ZodString;
2062
+ profile: z.ZodNullable<z.ZodString>;
2063
+ session: z.ZodNullable<z.ZodString>;
2064
+ }, z.core.$strip>;
2065
+ origin: z.ZodNullable<z.ZodObject<{
2066
+ channel: z.ZodOptional<z.ZodString>;
2067
+ thread: z.ZodString;
2068
+ subthread: z.ZodNullable<z.ZodString>;
2069
+ message: z.ZodString;
2070
+ context: z.ZodNullable<z.ZodString>;
2071
+ }, z.core.$strip>>;
2072
+ from: z.ZodNullable<z.ZodString>;
2073
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
2074
+ id: z.ZodString;
2075
+ name: z.ZodString;
2076
+ type: z.ZodString;
2077
+ size: z.ZodNumber;
2078
+ }, z.core.$strip>>>;
2079
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
2080
+ url: z.ZodString;
2081
+ message: z.ZodNullable<z.ZodNumber>;
2082
+ snapshot: z.ZodNullable<z.ZodObject<{
2083
+ author: z.ZodString;
2084
+ text: z.ZodString;
2085
+ createdAt: z.ZodNullable<z.ZodString>;
2086
+ files: z.ZodArray<z.ZodObject<{
2087
+ name: z.ZodString;
2088
+ url: z.ZodNullable<z.ZodString>;
2089
+ }, z.core.$strip>>;
2090
+ }, z.core.$strip>>;
2091
+ unavailable: z.ZodNullable<z.ZodString>;
2092
+ }, z.core.$strip>>>;
2093
+ schedule: z.ZodOptional<z.ZodObject<{
2094
+ id: z.ZodNumber;
2095
+ n: z.ZodNumber;
2096
+ }, z.core.$strip>>;
2097
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
2098
+ importedBy: z.ZodOptional<z.ZodString>;
2099
+ }, z.core.$strip>;
2100
+ 'message.linked': z.ZodObject<{
2101
+ id: z.ZodNumber;
2102
+ thread: z.ZodString;
2103
+ links: z.ZodArray<z.ZodObject<{
2104
+ url: z.ZodString;
2105
+ message: z.ZodNullable<z.ZodNumber>;
2106
+ snapshot: z.ZodNullable<z.ZodObject<{
2107
+ author: z.ZodString;
2108
+ text: z.ZodString;
2109
+ createdAt: z.ZodNullable<z.ZodString>;
2110
+ files: z.ZodArray<z.ZodObject<{
2111
+ name: z.ZodString;
2112
+ url: z.ZodNullable<z.ZodString>;
2113
+ }, z.core.$strip>>;
2114
+ }, z.core.$strip>>;
2115
+ unavailable: z.ZodNullable<z.ZodString>;
2116
+ }, z.core.$strip>>;
2117
+ by: z.ZodObject<{
2118
+ actor: z.ZodString;
2119
+ principal: z.ZodString;
2120
+ profile: z.ZodNullable<z.ZodString>;
2121
+ session: z.ZodNullable<z.ZodString>;
2122
+ }, z.core.$strip>;
2123
+ from: z.ZodNullable<z.ZodString>;
2124
+ }, z.core.$strip>;
2125
+ 'message.edited': z.ZodObject<{
2126
+ id: z.ZodNumber;
2127
+ thread: z.ZodString;
2128
+ text: z.ZodString;
2129
+ mentions: z.ZodArray<z.ZodString>;
2130
+ by: z.ZodObject<{
2131
+ actor: z.ZodString;
2132
+ principal: z.ZodString;
2133
+ profile: z.ZodNullable<z.ZodString>;
2134
+ session: z.ZodNullable<z.ZodString>;
2135
+ }, z.core.$strip>;
2136
+ from: z.ZodNullable<z.ZodString>;
2137
+ }, z.core.$strip>;
2138
+ 'message.deleted': z.ZodObject<{
2139
+ id: z.ZodNumber;
2140
+ thread: z.ZodString;
2141
+ by: z.ZodObject<{
2142
+ actor: z.ZodString;
2143
+ principal: z.ZodString;
2144
+ profile: z.ZodNullable<z.ZodString>;
2145
+ session: z.ZodNullable<z.ZodString>;
2146
+ }, z.core.$strip>;
2147
+ from: z.ZodNullable<z.ZodString>;
2148
+ }, z.core.$strip>;
2149
+ 'reaction.added': z.ZodObject<{
2150
+ id: z.ZodNumber;
2151
+ thread: z.ZodString;
2152
+ emoji: z.ZodString;
2153
+ by: z.ZodObject<{
2154
+ actor: z.ZodString;
2155
+ principal: z.ZodString;
2156
+ profile: z.ZodNullable<z.ZodString>;
2157
+ session: z.ZodNullable<z.ZodString>;
2158
+ }, z.core.$strip>;
2159
+ from: z.ZodNullable<z.ZodString>;
2160
+ }, z.core.$strip>;
2161
+ 'reaction.removed': z.ZodObject<{
2162
+ id: z.ZodNumber;
2163
+ thread: z.ZodString;
2164
+ emoji: z.ZodString;
2165
+ by: z.ZodObject<{
2166
+ actor: z.ZodString;
2167
+ principal: z.ZodString;
2168
+ profile: z.ZodNullable<z.ZodString>;
2169
+ session: z.ZodNullable<z.ZodString>;
2170
+ }, z.core.$strip>;
2171
+ from: z.ZodNullable<z.ZodString>;
2172
+ }, z.core.$strip>;
2173
+ 'labels.changed': z.ZodObject<{
2174
+ id: z.ZodNumber;
2175
+ thread: z.ZodString;
2176
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
2177
+ unset: z.ZodArray<z.ZodString>;
2178
+ by: z.ZodObject<{
2179
+ actor: z.ZodString;
2180
+ principal: z.ZodString;
2181
+ profile: z.ZodNullable<z.ZodString>;
2182
+ session: z.ZodNullable<z.ZodString>;
2183
+ }, z.core.$strip>;
2184
+ }, z.core.$strip>;
2185
+ 'thread.synced': z.ZodObject<{
2186
+ thread: z.ZodString;
2187
+ target: z.ZodString;
2188
+ cause: z.ZodEnum<{
2189
+ config: "config";
2190
+ request: "request";
2191
+ }>;
2192
+ kind: z.ZodOptional<z.ZodEnum<{
2193
+ channel: "channel";
2194
+ thread: "thread";
2195
+ }>>;
2196
+ by: z.ZodObject<{
2197
+ actor: z.ZodString;
2198
+ principal: z.ZodString;
2199
+ profile: z.ZodNullable<z.ZodString>;
2200
+ session: z.ZodNullable<z.ZodString>;
2201
+ }, z.core.$strip>;
2202
+ }, z.core.$strip>;
2203
+ 'message.synced': z.ZodObject<{
2204
+ id: z.ZodNumber;
2205
+ thread: z.ZodString;
2206
+ target: z.ZodString;
2207
+ external: z.ZodObject<{
2208
+ thread: z.ZodString;
2209
+ message: z.ZodString;
2210
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
2211
+ }, z.core.$strip>;
2212
+ syncedBy: z.ZodOptional<z.ZodString>;
2213
+ }, z.core.$strip>;
2214
+ 'message.files_synced': z.ZodObject<{
2215
+ id: z.ZodNumber;
2216
+ thread: z.ZodString;
2217
+ target: z.ZodString;
2218
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
2219
+ syncedBy: z.ZodOptional<z.ZodString>;
2220
+ }, z.core.$strip>;
2221
+ 'message.sync_failed': z.ZodObject<{
2222
+ id: z.ZodNumber;
2223
+ thread: z.ZodString;
2224
+ target: z.ZodString;
2225
+ error: z.ZodString;
2226
+ }, z.core.$strip>;
2227
+ 'actor.seen': z.ZodObject<{
2228
+ actor: z.ZodString;
2229
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
2230
+ agent: "agent";
2231
+ deployment: "deployment";
2232
+ external: "external";
2233
+ person: "person";
2234
+ workflow: "workflow";
2235
+ }>, z.ZodLiteral<"profile">]>;
2236
+ handle: z.ZodString;
2237
+ name: z.ZodString;
2238
+ avatar: z.ZodNullable<z.ZodString>;
2239
+ host: z.ZodOptional<z.ZodLiteral<true>>;
2240
+ }, z.core.$strip>;
2241
+ 'actor.linked': z.ZodObject<{
2242
+ actor: z.ZodString;
2243
+ to: z.ZodString;
2244
+ method: z.ZodEnum<{
2245
+ code: "code";
2246
+ consent: "consent";
2247
+ }>;
2248
+ by: z.ZodObject<{
2249
+ actor: z.ZodString;
2250
+ principal: z.ZodString;
2251
+ profile: z.ZodNullable<z.ZodString>;
2252
+ session: z.ZodNullable<z.ZodString>;
2253
+ }, z.core.$strip>;
2254
+ }, z.core.$strip>;
2255
+ 'actor.unlinked': z.ZodObject<{
2256
+ actor: z.ZodString;
2257
+ by: z.ZodObject<{
2258
+ actor: z.ZodString;
2259
+ principal: z.ZodString;
2260
+ profile: z.ZodNullable<z.ZodString>;
2261
+ session: z.ZodNullable<z.ZodString>;
2262
+ }, z.core.$strip>;
2263
+ }, z.core.$strip>;
2264
+ }, T, Record<never, never>>, options?: StateOptions) => Promise<{
2265
+ state: T;
2266
+ index: number;
2267
+ clearIndex?: number;
2268
+ }>;
2269
+ stream(opts?: {
2270
+ startAfter?: number;
2271
+ }): AsyncIterable<ContractEvent<{
2272
+ 'message.posted': z.ZodObject<{
2273
+ channel: z.ZodString;
2274
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
2275
+ re: z.ZodNullable<z.ZodNumber>;
2276
+ replyTo: z.ZodNullable<z.ZodNumber>;
2277
+ thread: z.ZodString;
2278
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
2279
+ noSync: z.ZodBoolean;
2280
+ mentions: z.ZodArray<z.ZodString>;
2281
+ by: z.ZodObject<{
2282
+ actor: z.ZodString;
2283
+ principal: z.ZodString;
2284
+ profile: z.ZodNullable<z.ZodString>;
2285
+ session: z.ZodNullable<z.ZodString>;
2286
+ }, z.core.$strip>;
2287
+ origin: z.ZodNullable<z.ZodObject<{
2288
+ channel: z.ZodOptional<z.ZodString>;
2289
+ thread: z.ZodString;
2290
+ subthread: z.ZodNullable<z.ZodString>;
2291
+ message: z.ZodString;
2292
+ context: z.ZodNullable<z.ZodString>;
2293
+ }, z.core.$strip>>;
2294
+ from: z.ZodNullable<z.ZodString>;
2295
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
2296
+ id: z.ZodString;
2297
+ name: z.ZodString;
2298
+ type: z.ZodString;
2299
+ size: z.ZodNumber;
2300
+ }, z.core.$strip>>>;
2301
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
2302
+ url: z.ZodString;
2303
+ message: z.ZodNullable<z.ZodNumber>;
2304
+ snapshot: z.ZodNullable<z.ZodObject<{
2305
+ author: z.ZodString;
2306
+ text: z.ZodString;
2307
+ createdAt: z.ZodNullable<z.ZodString>;
2308
+ files: z.ZodArray<z.ZodObject<{
2309
+ name: z.ZodString;
2310
+ url: z.ZodNullable<z.ZodString>;
2311
+ }, z.core.$strip>>;
2312
+ }, z.core.$strip>>;
2313
+ unavailable: z.ZodNullable<z.ZodString>;
2314
+ }, z.core.$strip>>>;
2315
+ schedule: z.ZodOptional<z.ZodObject<{
2316
+ id: z.ZodNumber;
2317
+ n: z.ZodNumber;
2318
+ }, z.core.$strip>>;
2319
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
2320
+ importedBy: z.ZodOptional<z.ZodString>;
2321
+ }, z.core.$strip>;
2322
+ 'message.linked': z.ZodObject<{
2323
+ id: z.ZodNumber;
2324
+ thread: z.ZodString;
2325
+ links: z.ZodArray<z.ZodObject<{
2326
+ url: z.ZodString;
2327
+ message: z.ZodNullable<z.ZodNumber>;
2328
+ snapshot: z.ZodNullable<z.ZodObject<{
2329
+ author: z.ZodString;
2330
+ text: z.ZodString;
2331
+ createdAt: z.ZodNullable<z.ZodString>;
2332
+ files: z.ZodArray<z.ZodObject<{
2333
+ name: z.ZodString;
2334
+ url: z.ZodNullable<z.ZodString>;
2335
+ }, z.core.$strip>>;
2336
+ }, z.core.$strip>>;
2337
+ unavailable: z.ZodNullable<z.ZodString>;
2338
+ }, z.core.$strip>>;
2339
+ by: z.ZodObject<{
2340
+ actor: z.ZodString;
2341
+ principal: z.ZodString;
2342
+ profile: z.ZodNullable<z.ZodString>;
2343
+ session: z.ZodNullable<z.ZodString>;
2344
+ }, z.core.$strip>;
2345
+ from: z.ZodNullable<z.ZodString>;
2346
+ }, z.core.$strip>;
2347
+ 'message.edited': z.ZodObject<{
2348
+ id: z.ZodNumber;
2349
+ thread: z.ZodString;
2350
+ text: z.ZodString;
2351
+ mentions: z.ZodArray<z.ZodString>;
2352
+ by: z.ZodObject<{
2353
+ actor: z.ZodString;
2354
+ principal: z.ZodString;
2355
+ profile: z.ZodNullable<z.ZodString>;
2356
+ session: z.ZodNullable<z.ZodString>;
2357
+ }, z.core.$strip>;
2358
+ from: z.ZodNullable<z.ZodString>;
2359
+ }, z.core.$strip>;
2360
+ 'message.deleted': z.ZodObject<{
2361
+ id: z.ZodNumber;
2362
+ thread: z.ZodString;
2363
+ by: z.ZodObject<{
2364
+ actor: z.ZodString;
2365
+ principal: z.ZodString;
2366
+ profile: z.ZodNullable<z.ZodString>;
2367
+ session: z.ZodNullable<z.ZodString>;
2368
+ }, z.core.$strip>;
2369
+ from: z.ZodNullable<z.ZodString>;
2370
+ }, z.core.$strip>;
2371
+ 'reaction.added': z.ZodObject<{
2372
+ id: z.ZodNumber;
2373
+ thread: z.ZodString;
2374
+ emoji: z.ZodString;
2375
+ by: z.ZodObject<{
2376
+ actor: z.ZodString;
2377
+ principal: z.ZodString;
2378
+ profile: z.ZodNullable<z.ZodString>;
2379
+ session: z.ZodNullable<z.ZodString>;
2380
+ }, z.core.$strip>;
2381
+ from: z.ZodNullable<z.ZodString>;
2382
+ }, z.core.$strip>;
2383
+ 'reaction.removed': z.ZodObject<{
2384
+ id: z.ZodNumber;
2385
+ thread: z.ZodString;
2386
+ emoji: z.ZodString;
2387
+ by: z.ZodObject<{
2388
+ actor: z.ZodString;
2389
+ principal: z.ZodString;
2390
+ profile: z.ZodNullable<z.ZodString>;
2391
+ session: z.ZodNullable<z.ZodString>;
2392
+ }, z.core.$strip>;
2393
+ from: z.ZodNullable<z.ZodString>;
2394
+ }, z.core.$strip>;
2395
+ 'labels.changed': z.ZodObject<{
2396
+ id: z.ZodNumber;
2397
+ thread: z.ZodString;
2398
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
2399
+ unset: z.ZodArray<z.ZodString>;
2400
+ by: z.ZodObject<{
2401
+ actor: z.ZodString;
2402
+ principal: z.ZodString;
2403
+ profile: z.ZodNullable<z.ZodString>;
2404
+ session: z.ZodNullable<z.ZodString>;
2405
+ }, z.core.$strip>;
2406
+ }, z.core.$strip>;
2407
+ 'thread.synced': z.ZodObject<{
2408
+ thread: z.ZodString;
2409
+ target: z.ZodString;
2410
+ cause: z.ZodEnum<{
2411
+ config: "config";
2412
+ request: "request";
2413
+ }>;
2414
+ kind: z.ZodOptional<z.ZodEnum<{
2415
+ channel: "channel";
2416
+ thread: "thread";
2417
+ }>>;
2418
+ by: z.ZodObject<{
2419
+ actor: z.ZodString;
2420
+ principal: z.ZodString;
2421
+ profile: z.ZodNullable<z.ZodString>;
2422
+ session: z.ZodNullable<z.ZodString>;
2423
+ }, z.core.$strip>;
2424
+ }, z.core.$strip>;
2425
+ 'message.synced': z.ZodObject<{
2426
+ id: z.ZodNumber;
2427
+ thread: z.ZodString;
2428
+ target: z.ZodString;
2429
+ external: z.ZodObject<{
2430
+ thread: z.ZodString;
2431
+ message: z.ZodString;
2432
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
2433
+ }, z.core.$strip>;
2434
+ syncedBy: z.ZodOptional<z.ZodString>;
2435
+ }, z.core.$strip>;
2436
+ 'message.files_synced': z.ZodObject<{
2437
+ id: z.ZodNumber;
2438
+ thread: z.ZodString;
2439
+ target: z.ZodString;
2440
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
2441
+ syncedBy: z.ZodOptional<z.ZodString>;
2442
+ }, z.core.$strip>;
2443
+ 'message.sync_failed': z.ZodObject<{
2444
+ id: z.ZodNumber;
2445
+ thread: z.ZodString;
2446
+ target: z.ZodString;
2447
+ error: z.ZodString;
2448
+ }, z.core.$strip>;
2449
+ 'actor.seen': z.ZodObject<{
2450
+ actor: z.ZodString;
2451
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
2452
+ agent: "agent";
2453
+ deployment: "deployment";
2454
+ external: "external";
2455
+ person: "person";
2456
+ workflow: "workflow";
2457
+ }>, z.ZodLiteral<"profile">]>;
2458
+ handle: z.ZodString;
2459
+ name: z.ZodString;
2460
+ avatar: z.ZodNullable<z.ZodString>;
2461
+ host: z.ZodOptional<z.ZodLiteral<true>>;
2462
+ }, z.core.$strip>;
2463
+ 'actor.linked': z.ZodObject<{
2464
+ actor: z.ZodString;
2465
+ to: z.ZodString;
2466
+ method: z.ZodEnum<{
2467
+ code: "code";
2468
+ consent: "consent";
2469
+ }>;
2470
+ by: z.ZodObject<{
2471
+ actor: z.ZodString;
2472
+ principal: z.ZodString;
2473
+ profile: z.ZodNullable<z.ZodString>;
2474
+ session: z.ZodNullable<z.ZodString>;
2475
+ }, z.core.$strip>;
2476
+ }, z.core.$strip>;
2477
+ 'actor.unlinked': z.ZodObject<{
2478
+ actor: z.ZodString;
2479
+ by: z.ZodObject<{
2480
+ actor: z.ZodString;
2481
+ principal: z.ZodString;
2482
+ profile: z.ZodNullable<z.ZodString>;
2483
+ session: z.ZodNullable<z.ZodString>;
2484
+ }, z.core.$strip>;
2485
+ }, z.core.$strip>;
2486
+ }> | SessionCleared>;
2487
+ } & SessionDeadLetters<{
2488
+ 'message.posted': z.ZodObject<{
2489
+ channel: z.ZodString;
2490
+ text: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"">]>;
2491
+ re: z.ZodNullable<z.ZodNumber>;
2492
+ replyTo: z.ZodNullable<z.ZodNumber>;
2493
+ thread: z.ZodString;
2494
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
2495
+ noSync: z.ZodBoolean;
2496
+ mentions: z.ZodArray<z.ZodString>;
2497
+ by: z.ZodObject<{
2498
+ actor: z.ZodString;
2499
+ principal: z.ZodString;
2500
+ profile: z.ZodNullable<z.ZodString>;
2501
+ session: z.ZodNullable<z.ZodString>;
2502
+ }, z.core.$strip>;
2503
+ origin: z.ZodNullable<z.ZodObject<{
2504
+ channel: z.ZodOptional<z.ZodString>;
2505
+ thread: z.ZodString;
2506
+ subthread: z.ZodNullable<z.ZodString>;
2507
+ message: z.ZodString;
2508
+ context: z.ZodNullable<z.ZodString>;
2509
+ }, z.core.$strip>>;
2510
+ from: z.ZodNullable<z.ZodString>;
2511
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
2512
+ id: z.ZodString;
2513
+ name: z.ZodString;
2514
+ type: z.ZodString;
2515
+ size: z.ZodNumber;
2516
+ }, z.core.$strip>>>;
2517
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
2518
+ url: z.ZodString;
2519
+ message: z.ZodNullable<z.ZodNumber>;
2520
+ snapshot: z.ZodNullable<z.ZodObject<{
2521
+ author: z.ZodString;
2522
+ text: z.ZodString;
2523
+ createdAt: z.ZodNullable<z.ZodString>;
2524
+ files: z.ZodArray<z.ZodObject<{
2525
+ name: z.ZodString;
2526
+ url: z.ZodNullable<z.ZodString>;
2527
+ }, z.core.$strip>>;
2528
+ }, z.core.$strip>>;
2529
+ unavailable: z.ZodNullable<z.ZodString>;
2530
+ }, z.core.$strip>>>;
2531
+ schedule: z.ZodOptional<z.ZodObject<{
2532
+ id: z.ZodNumber;
2533
+ n: z.ZodNumber;
2534
+ }, z.core.$strip>>;
2535
+ blind: z.ZodOptional<z.ZodLiteral<true>>;
2536
+ importedBy: z.ZodOptional<z.ZodString>;
2537
+ }, z.core.$strip>;
2538
+ 'message.linked': z.ZodObject<{
2539
+ id: z.ZodNumber;
2540
+ thread: z.ZodString;
2541
+ links: z.ZodArray<z.ZodObject<{
2542
+ url: z.ZodString;
2543
+ message: z.ZodNullable<z.ZodNumber>;
2544
+ snapshot: z.ZodNullable<z.ZodObject<{
2545
+ author: z.ZodString;
2546
+ text: z.ZodString;
2547
+ createdAt: z.ZodNullable<z.ZodString>;
2548
+ files: z.ZodArray<z.ZodObject<{
2549
+ name: z.ZodString;
2550
+ url: z.ZodNullable<z.ZodString>;
2551
+ }, z.core.$strip>>;
2552
+ }, z.core.$strip>>;
2553
+ unavailable: z.ZodNullable<z.ZodString>;
2554
+ }, z.core.$strip>>;
2555
+ by: z.ZodObject<{
2556
+ actor: z.ZodString;
2557
+ principal: z.ZodString;
2558
+ profile: z.ZodNullable<z.ZodString>;
2559
+ session: z.ZodNullable<z.ZodString>;
2560
+ }, z.core.$strip>;
2561
+ from: z.ZodNullable<z.ZodString>;
2562
+ }, z.core.$strip>;
2563
+ 'message.edited': z.ZodObject<{
2564
+ id: z.ZodNumber;
2565
+ thread: z.ZodString;
2566
+ text: z.ZodString;
2567
+ mentions: z.ZodArray<z.ZodString>;
2568
+ by: z.ZodObject<{
2569
+ actor: z.ZodString;
2570
+ principal: z.ZodString;
2571
+ profile: z.ZodNullable<z.ZodString>;
2572
+ session: z.ZodNullable<z.ZodString>;
2573
+ }, z.core.$strip>;
2574
+ from: z.ZodNullable<z.ZodString>;
2575
+ }, z.core.$strip>;
2576
+ 'message.deleted': z.ZodObject<{
2577
+ id: z.ZodNumber;
2578
+ thread: z.ZodString;
2579
+ by: z.ZodObject<{
2580
+ actor: z.ZodString;
2581
+ principal: z.ZodString;
2582
+ profile: z.ZodNullable<z.ZodString>;
2583
+ session: z.ZodNullable<z.ZodString>;
2584
+ }, z.core.$strip>;
2585
+ from: z.ZodNullable<z.ZodString>;
2586
+ }, z.core.$strip>;
2587
+ 'reaction.added': z.ZodObject<{
2588
+ id: z.ZodNumber;
2589
+ thread: z.ZodString;
2590
+ emoji: z.ZodString;
2591
+ by: z.ZodObject<{
2592
+ actor: z.ZodString;
2593
+ principal: z.ZodString;
2594
+ profile: z.ZodNullable<z.ZodString>;
2595
+ session: z.ZodNullable<z.ZodString>;
2596
+ }, z.core.$strip>;
2597
+ from: z.ZodNullable<z.ZodString>;
2598
+ }, z.core.$strip>;
2599
+ 'reaction.removed': z.ZodObject<{
2600
+ id: z.ZodNumber;
2601
+ thread: z.ZodString;
2602
+ emoji: z.ZodString;
2603
+ by: z.ZodObject<{
2604
+ actor: z.ZodString;
2605
+ principal: z.ZodString;
2606
+ profile: z.ZodNullable<z.ZodString>;
2607
+ session: z.ZodNullable<z.ZodString>;
2608
+ }, z.core.$strip>;
2609
+ from: z.ZodNullable<z.ZodString>;
2610
+ }, z.core.$strip>;
2611
+ 'labels.changed': z.ZodObject<{
2612
+ id: z.ZodNumber;
2613
+ thread: z.ZodString;
2614
+ set: z.ZodRecord<z.ZodString, z.ZodString>;
2615
+ unset: z.ZodArray<z.ZodString>;
2616
+ by: z.ZodObject<{
2617
+ actor: z.ZodString;
2618
+ principal: z.ZodString;
2619
+ profile: z.ZodNullable<z.ZodString>;
2620
+ session: z.ZodNullable<z.ZodString>;
2621
+ }, z.core.$strip>;
2622
+ }, z.core.$strip>;
2623
+ 'thread.synced': z.ZodObject<{
2624
+ thread: z.ZodString;
2625
+ target: z.ZodString;
2626
+ cause: z.ZodEnum<{
2627
+ config: "config";
2628
+ request: "request";
2629
+ }>;
2630
+ kind: z.ZodOptional<z.ZodEnum<{
2631
+ channel: "channel";
2632
+ thread: "thread";
2633
+ }>>;
2634
+ by: z.ZodObject<{
2635
+ actor: z.ZodString;
2636
+ principal: z.ZodString;
2637
+ profile: z.ZodNullable<z.ZodString>;
2638
+ session: z.ZodNullable<z.ZodString>;
2639
+ }, z.core.$strip>;
2640
+ }, z.core.$strip>;
2641
+ 'message.synced': z.ZodObject<{
2642
+ id: z.ZodNumber;
2643
+ thread: z.ZodString;
2644
+ target: z.ZodString;
2645
+ external: z.ZodObject<{
2646
+ thread: z.ZodString;
2647
+ message: z.ZodString;
2648
+ asUser: z.ZodOptional<z.ZodLiteral<true>>;
2649
+ }, z.core.$strip>;
2650
+ syncedBy: z.ZodOptional<z.ZodString>;
2651
+ }, z.core.$strip>;
2652
+ 'message.files_synced': z.ZodObject<{
2653
+ id: z.ZodNumber;
2654
+ thread: z.ZodString;
2655
+ target: z.ZodString;
2656
+ files: z.ZodNullable<z.ZodArray<z.ZodString>>;
2657
+ syncedBy: z.ZodOptional<z.ZodString>;
2658
+ }, z.core.$strip>;
2659
+ 'message.sync_failed': z.ZodObject<{
2660
+ id: z.ZodNumber;
2661
+ thread: z.ZodString;
2662
+ target: z.ZodString;
2663
+ error: z.ZodString;
2664
+ }, z.core.$strip>;
2665
+ 'actor.seen': z.ZodObject<{
2666
+ actor: z.ZodString;
2667
+ kind: z.ZodUnion<readonly [z.ZodEnum<{
2668
+ agent: "agent";
2669
+ deployment: "deployment";
2670
+ external: "external";
2671
+ person: "person";
2672
+ workflow: "workflow";
2673
+ }>, z.ZodLiteral<"profile">]>;
2674
+ handle: z.ZodString;
2675
+ name: z.ZodString;
2676
+ avatar: z.ZodNullable<z.ZodString>;
2677
+ host: z.ZodOptional<z.ZodLiteral<true>>;
2678
+ }, z.core.$strip>;
2679
+ 'actor.linked': z.ZodObject<{
2680
+ actor: z.ZodString;
2681
+ to: z.ZodString;
2682
+ method: z.ZodEnum<{
2683
+ code: "code";
2684
+ consent: "consent";
2685
+ }>;
2686
+ by: z.ZodObject<{
2687
+ actor: z.ZodString;
2688
+ principal: z.ZodString;
2689
+ profile: z.ZodNullable<z.ZodString>;
2690
+ session: z.ZodNullable<z.ZodString>;
2691
+ }, z.core.$strip>;
2692
+ }, z.core.$strip>;
2693
+ 'actor.unlinked': z.ZodObject<{
2694
+ actor: z.ZodString;
2695
+ by: z.ZodObject<{
2696
+ actor: z.ZodString;
2697
+ principal: z.ZodString;
2698
+ profile: z.ZodNullable<z.ZodString>;
2699
+ session: z.ZodNullable<z.ZodString>;
2700
+ }, z.core.$strip>;
2701
+ }, z.core.$strip>;
2702
+ }>;
2703
+ store: BoardStore;
2704
+ };
2705
+ type A2Backend = ReturnType<typeof a2>;
2706
+ //#endregion
2707
+ export { type A2Backend, type A2Options, type BlobStore, type BoardStore, fsBlob, memoryBlob };