@vercel/board 0.29.0 → 0.31.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.
- package/README.md +8 -17
- package/dist/{a2-HUbQJ0RD.mjs → a2-DngWY2Eb.mjs} +741 -415
- package/dist/access-CY5xVMIK.mjs +242 -0
- package/dist/{access-CV96SYgr.d.mts → access-DPcrKIH_.d.mts} +6 -1
- package/dist/access.d.mts +4 -4
- package/dist/access.mjs +5 -4
- package/dist/{actors-DcJhFbwJ.mjs → actors-Bm-ojWWT.mjs} +2 -2
- package/dist/{auth-JO22iIwr.mjs → auth-CyO2aw5n.mjs} +126 -236
- package/dist/{auth-CU56Q2Xh.d.mts → auth-DLYSt_-A.d.mts} +32 -4
- package/dist/{backend-CPC_vyOo.d.mts → backend-Bob-5CM7.d.mts} +93 -42
- package/dist/backend-a2/blob-vercel.d.mts +1 -1
- package/dist/backend-a2/contract.d.mts +38 -98
- package/dist/backend-a2/contract.mjs +1 -1
- package/dist/backend-a2/scheduler-local.d.mts +1 -1
- package/dist/backend-a2/scheduler-local.mjs +1 -1
- package/dist/backend-a2/scheduler-qstash.d.mts +3 -3
- package/dist/backend-a2/scheduler-qstash.mjs +8 -8
- package/dist/backend-a2/scheduler-vercel.d.mts +3 -3
- package/dist/backend-a2/scheduler-vercel.mjs +6 -6
- package/dist/backend-a2/store-memory.d.mts +2 -2
- package/dist/backend-a2/store-memory.mjs +3 -3
- package/dist/backend-a2/store-postgres.d.mts +1 -1
- package/dist/backend-a2/store-postgres.mjs +34 -15
- package/dist/backend-a2/store-redis-http.d.mts +1 -1
- package/dist/backend-a2/store-redis-http.mjs +6 -6
- package/dist/backend-a2/store-redis.d.mts +2 -2
- package/dist/backend-a2/store-redis.mjs +5 -5
- package/dist/backend-a2/store-sqlite.d.mts +1 -1
- package/dist/backend-a2/store-sqlite.mjs +3 -3
- package/dist/backend-a2.d.mts +143 -242
- package/dist/backend-a2.mjs +2 -2
- package/dist/{backend-http-CqfKhrnn.d.mts → backend-http-BRrRbjRx.d.mts} +59 -45
- package/dist/{backend-http-CzIJMm58.mjs → backend-http-CvUKOn-m.mjs} +11 -10
- package/dist/{backend-http-Bmp0IgD3.mjs → backend-http-D8mUzuKQ.mjs} +2 -2
- package/dist/backend-http.d.mts +1 -1
- package/dist/backend-http.mjs +1 -1
- package/dist/backend-http.node.d.mts +1 -1
- package/dist/backend-http.node.mjs +1 -1
- package/dist/{backend-vercel-DQc_TaHp.mjs → backend-vercel-Ba8JDtqW.mjs} +3 -3
- package/dist/{backend-vercel-4tvcPKqX.d.mts → backend-vercel-BaSEUdwg.d.mts} +62 -47
- package/dist/{backend-vercel-BNauAs7w.mjs → backend-vercel-CmY9yZ9m.mjs} +279 -42
- package/dist/backend-vercel.d.mts +1 -1
- package/dist/backend-vercel.mjs +1 -1
- package/dist/backend-vercel.node.d.mts +1 -1
- package/dist/backend-vercel.node.mjs +1 -1
- package/dist/{blob-DmiQjrYy.d.mts → blob-Bx8QPWEd.d.mts} +2 -2
- package/dist/{blob-DdbpJqN1.mjs → blob-WbB2DJKn.mjs} +30 -11
- package/dist/{chat-provider-BWHbChcQ.d.mts → chat-provider-BChYrrA7.d.mts} +32 -28
- package/dist/{chat-provider-COtsU5jB.mjs → chat-provider-DkFp2hrh.mjs} +105 -60
- package/dist/cli-commands.d.mts +1 -1
- package/dist/cli-commands.mjs +1 -1
- package/dist/cli-embedded.d.mts +2 -2
- package/dist/cli-embedded.mjs +1 -1
- package/dist/cli.mjs +4 -4
- package/dist/{client-BqAjk0Q4.d.mts → client-COfYrgfV.d.mts} +240 -227
- package/dist/{commands-D6gvrOh3.d.mts → commands-DK4W3HCJ.d.mts} +47 -10
- package/dist/{commands-C3R1AWgm.mjs → commands-L1JSGz2Z.mjs} +212 -54
- package/dist/conformance-DK43HiHf.mjs +1000 -0
- package/dist/conformance.d.mts +8 -2
- package/dist/conformance.mjs +1 -1
- package/dist/{engine-DQxXk7dX.mjs → engine-DurYIRt8.mjs} +29 -210
- package/dist/{errors-DDktVeUa.d.mts → errors-2vGs49Db.d.mts} +1 -1
- package/dist/{client-D0Px7KzF.mjs → errors-CJXhhzvT.mjs} +132 -27
- package/dist/{provider-BaVmi4Hi.mjs → events-lujPA3gQ.mjs} +80 -17
- package/dist/{exports-BG-0Wyn-.mjs → exports-CWIdN0Ub.mjs} +195 -103
- package/dist/exports-FBOQWT7O.d.mts +5 -0
- package/dist/{folds-BDMSxBUf.mjs → folds-Cu9Q9zyQ.mjs} +3 -22
- package/dist/{folds-ZkHM4M-v.d.mts → folds-DLUzfibJ.d.mts} +15 -40
- package/dist/{index-D3VvNfh_.d.mts → index-Ho-ayyQL.d.mts} +2 -2
- package/dist/index.d.mts +7 -7
- package/dist/{index.default-rB8sJ9RX.mjs → index.default-BUcwDaAe.mjs} +1 -1
- package/dist/index.mjs +5 -6
- package/dist/index.node.d.mts +7 -7
- package/dist/index.node.mjs +3 -4
- package/dist/inspect/app.js +62 -61
- package/dist/inspect/engine.js +3 -3
- package/dist/{internal-CvsrprnU-CRY89I-b.mjs → internal-CvsrprnU-zZMpDiRY.mjs} +1 -1
- package/dist/{local-DhkrAqPP.mjs → local-C76Fy5ad.mjs} +1 -1
- package/dist/{main-CVBqe3VO.mjs → main-Dz-8komG.mjs} +251 -127
- package/dist/{middleware-CXjEeef4.mjs → middleware-BavYSDUa.mjs} +1 -1
- package/dist/{node-Zd_C-gxP.mjs → node-BgeGcwX0.mjs} +7 -3
- package/dist/{platform-B4TnJtWu-CwcTyKg2.mjs → platform-B4TnJtWu-Do3agKr5.mjs} +1 -1
- package/dist/{project-CBXlLftU.mjs → project-CQ4VUibA.mjs} +1 -1
- package/dist/{provider-DmSTp9lI.d.mts → provider-gynDUoyW.d.mts} +13 -43
- package/dist/{redis-tables-BJQVUspu.mjs → redis-tables-DHf85ixI.mjs} +40 -42
- package/dist/{reducer-CjmvZSAb-D_OSISmj.mjs → reducer-Bswr11ar-P324o9vn.mjs} +2 -2
- package/dist/{reducer-CYPHsSmd-BQIfozGi.d.mts → reducer-CYPHsSmd-BXjGiptm.d.mts} +1 -1
- package/dist/{reducers-DJzVpXwM.mjs → reducers-DcENwtwZ.mjs} +74 -77
- package/dist/{retryable-lazy-DZWmHpii-Bye-W8q7.mjs → retryable-lazy-DZWmHpii-DpTc5PIP.mjs} +1 -1
- package/dist/{scheduler-task-X1SToDjP-BVoWuInI.mjs → scheduler-task-X1SToDjP-D2Il2rln.mjs} +1 -1
- package/dist/{serve-G9RuaDSr.mjs → serve-CTmow-YH.mjs} +7 -7
- package/dist/{server-qgez0Xny-D5mLfqFQ.d.mts → server-B9gu0qi1-DI1WvcVK.d.mts} +10 -4
- package/dist/{server-BixV_byP.mjs → server-DG8D6VV0.mjs} +4 -4
- package/dist/{server-DtFrWxi3-Boa6gdWO.mjs → server-DX7mM6nm-D7N_7bug.mjs} +32 -23
- package/dist/{serving-B75Y4BF-.mjs → serving-DBFRo6U_.mjs} +1 -1
- package/dist/{session-clear-wHd5GCpZ-BnKSxReK.mjs → session-clear-XJYpmUpg-2q8l_FJR.mjs} +14 -2
- package/dist/{sql-D4Z_efJX.mjs → sql-CT5xVuGr.mjs} +2 -8
- package/dist/{sqlite-db-Bz2JkfCU.mjs → sqlite-db-0WeSOEZN.mjs} +1 -1
- package/dist/{store-D0MhBvg6-4Z2L0Kqd.d.mts → store-DEzcHZOA-B-5vhxef.d.mts} +12 -2
- package/dist/store-N8PXxDAS-DWWgv-Vz.mjs +5 -0
- package/dist/{store-codec-DwrWlgQx-CYxGW0aD.mjs → store-codec-pAG2oPgQ-SqDXlPBR.mjs} +4 -4
- package/dist/store-memory-4IBl0Ztu.mjs +2 -0
- package/dist/{store-memory-Bas9Uq5C.mjs → store-memory-B0PkVSuQ.mjs} +14 -7
- package/dist/{store-polling-BZt2Rf3D-BiEM6_HB.mjs → store-polling-BZt2Rf3D-Div-bJ_D.mjs} +2 -2
- package/dist/{store-presence-polling-JuAy2Ck2-CYpuK75X.mjs → store-presence-polling-JuAy2Ck2-Dh-g_KYM.mjs} +3 -3
- package/dist/{store-sqlite-CxxPCcCT.mjs → store-sqlite-D85t3tE7.mjs} +14 -7
- package/dist/store-sqlite-iBTYYKBj.mjs +2 -0
- package/dist/{stream-buffer-DrTyiIuo-BKy-vI14.mjs → stream-buffer-DrTyiIuo-Be10yOBR.mjs} +2 -2
- package/dist/{sync-kapso.d.mts → sync-chat-sdk.d.mts} +33 -37
- package/dist/sync-chat-sdk.mjs +44 -0
- package/dist/sync-github.d.mts +5 -18
- package/dist/sync-github.mjs +4 -70
- package/dist/sync-linear.d.mts +3 -3
- package/dist/sync-linear.mjs +6 -5
- package/dist/sync-slack.d.mts +7 -7
- package/dist/sync-slack.mjs +33 -54
- package/dist/sync.d.mts +3 -3
- package/dist/sync.mjs +2 -4
- package/dist/{tokens-CC3izSNr.mjs → tokens-Dnyd_y1n.mjs} +15 -6
- package/dist/{types-No0WdhE5.d.mts → types-CmrFjpml.d.mts} +2 -4
- package/dist/{watchers-hash-BDhLVkV5.mjs → watchers-hash-BjwlnGD9.mjs} +124 -115
- package/docs/01-board/01-mounting.md +2 -2
- package/docs/01-board/03-identity.md +5 -6
- package/docs/01-board/04-messages.md +96 -2
- package/docs/01-board/05-reading.md +2 -1
- package/docs/01-board/06-watchers.md +8 -6
- package/docs/01-board/08-middleware.md +6 -3
- package/docs/01-board/09-access.md +145 -14
- package/docs/02-sync/01-overview.md +19 -26
- package/docs/02-sync/02-functions.md +8 -9
- package/docs/02-sync/03-slack.md +5 -5
- package/docs/02-sync/04-github.md +2 -2
- package/docs/02-sync/06-providers.md +91 -62
- package/docs/03-guides/01-coding-agents.md +1 -1
- package/docs/03-guides/03-ci.md +7 -4
- package/docs/04-reference/01-cli.md +109 -51
- package/docs/04-reference/02-board.md +76 -28
- package/docs/04-reference/03-http.md +76 -38
- package/docs/04-reference/04-log.md +8 -11
- package/docs/04-reference/05-conformance.md +47 -7
- package/docs/index.md +2 -2
- package/package.json +7 -10
- package/sql/postgres/board.sql +1 -1
- package/sql/postgres/schema.sql +1 -1
- package/dist/conformance-DlnfuzEB.mjs +0 -556
- package/dist/errors-CusN4x2l.mjs +0 -88
- package/dist/events-qf5XG5VQ.mjs +0 -75
- package/dist/exports-mhAYiU4i.d.mts +0 -5
- package/dist/store-N8PXxDAS-BWBgzBHp.mjs +0 -5
- package/dist/store-memory-ZLiZbH3R.mjs +0 -2
- package/dist/store-sqlite-BmwL3pUR.mjs +0 -2
- package/dist/sync-kapso.mjs +0 -89
- package/dist/sync.chat.d.mts +0 -2
- package/dist/sync.chat.mjs +0 -2
- package/dist/users-yryHKFMo.mjs +0 -42
- package/docs/02-sync/05-whatsapp.md +0 -152
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Actor, x as Attachment } from "./folds-
|
|
2
|
-
import {
|
|
3
|
-
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-
|
|
1
|
+
import { t as Actor, x as Attachment } from "./folds-DLUzfibJ.mjs";
|
|
2
|
+
import { At as ThreadsPage, B as MatchView, C as EventsPage, Dt as SyncedView, Et as SyncThreadView, Ft as TokenView, H as Me, M as InboxItem, U as MessageView, W as MessagesPage, dt as SourceJoin, j as InboxEntry, k as GrantView, kt as ThreadView, mt as SourceRead, o as ProfileOption, st as ScheduleView, tt as RegistrationView, v as ChannelView, vt as SyncCopiesView, x as Discovery, xt as SyncFindView, zt as UploadTicket } from "./client-COfYrgfV.mjs";
|
|
3
|
+
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-Bob-5CM7.mjs";
|
|
4
4
|
//#region src/server/backend-http.d.ts
|
|
5
5
|
type HttpOptions = {
|
|
6
6
|
/**
|
|
@@ -46,17 +46,18 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
46
46
|
channels: ChannelView[];
|
|
47
47
|
cursor: string;
|
|
48
48
|
}>;
|
|
49
|
+
createChannel: (caller: Caller, input: {
|
|
50
|
+
path: string;
|
|
51
|
+
}, signal: AbortSignal) => Promise<{
|
|
52
|
+
channel: ChannelView;
|
|
53
|
+
created: boolean;
|
|
54
|
+
}>;
|
|
49
55
|
actors: (caller: Caller, input: {
|
|
50
56
|
[x: string]: never;
|
|
51
57
|
}, signal: AbortSignal) => Promise<{
|
|
52
|
-
actors:
|
|
53
|
-
person?: PersonView;
|
|
54
|
-
})[];
|
|
58
|
+
actors: Actor[];
|
|
55
59
|
cursor: string;
|
|
56
60
|
}>;
|
|
57
|
-
identity: (caller: Caller, input: {
|
|
58
|
-
[x: string]: never;
|
|
59
|
-
}, signal: AbortSignal) => Promise<IdentityView>;
|
|
60
61
|
messages: (caller: Caller, input: {
|
|
61
62
|
channel?: string | undefined;
|
|
62
63
|
re?: string | undefined;
|
|
@@ -95,6 +96,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
95
96
|
})[] | undefined;
|
|
96
97
|
id?: string | undefined;
|
|
97
98
|
attachments?: string[] | undefined;
|
|
99
|
+
after?: string | undefined;
|
|
98
100
|
}, signal: AbortSignal) => Promise<{
|
|
99
101
|
message: MessageView;
|
|
100
102
|
unknownMentions?: string[];
|
|
@@ -108,12 +110,15 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
108
110
|
id: string;
|
|
109
111
|
} & {
|
|
110
112
|
text: string;
|
|
113
|
+
revision?: number | undefined;
|
|
111
114
|
}, signal: AbortSignal) => Promise<{
|
|
112
115
|
ok: true;
|
|
113
116
|
unknownMentions?: string[];
|
|
114
117
|
}>;
|
|
115
118
|
delete: (caller: Caller, input: {
|
|
116
119
|
id: string;
|
|
120
|
+
} & {
|
|
121
|
+
revision?: number | undefined;
|
|
117
122
|
}, signal: AbortSignal) => Promise<{
|
|
118
123
|
ok: true;
|
|
119
124
|
}>;
|
|
@@ -130,6 +135,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
130
135
|
} & {
|
|
131
136
|
set?: Record<string, string> | undefined;
|
|
132
137
|
unset?: string[] | undefined;
|
|
138
|
+
if?: Record<string, string | null> | undefined;
|
|
133
139
|
}, signal: AbortSignal) => Promise<{
|
|
134
140
|
ok: true;
|
|
135
141
|
}>;
|
|
@@ -164,6 +170,45 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
164
170
|
schedule: ScheduleView;
|
|
165
171
|
canceled: boolean;
|
|
166
172
|
}>;
|
|
173
|
+
grants: (caller: Caller, input: {
|
|
174
|
+
[x: string]: never;
|
|
175
|
+
}, signal: AbortSignal) => Promise<{
|
|
176
|
+
grants: GrantView[];
|
|
177
|
+
}>;
|
|
178
|
+
createGrant: (caller: Caller, input: {
|
|
179
|
+
issuer: string;
|
|
180
|
+
claims: Record<string, string | string[]>;
|
|
181
|
+
can?: "all" | string[] | Record<string, "all" | string[]> | undefined;
|
|
182
|
+
}, signal: AbortSignal) => Promise<{
|
|
183
|
+
grant: GrantView;
|
|
184
|
+
created: boolean;
|
|
185
|
+
}>;
|
|
186
|
+
revokeGrant: (caller: Caller, input: {
|
|
187
|
+
id: string;
|
|
188
|
+
}, signal: AbortSignal) => Promise<{
|
|
189
|
+
revoked: boolean;
|
|
190
|
+
}>;
|
|
191
|
+
tokens: (caller: Caller, input: {
|
|
192
|
+
[x: string]: never;
|
|
193
|
+
}, signal: AbortSignal) => Promise<{
|
|
194
|
+
tokens: TokenView[];
|
|
195
|
+
}>;
|
|
196
|
+
createToken: (caller: Caller, input: {
|
|
197
|
+
name: string;
|
|
198
|
+
can?: "all" | string[] | Record<string, "all" | string[]> | undefined;
|
|
199
|
+
profile?: string | undefined;
|
|
200
|
+
avatar?: string | undefined;
|
|
201
|
+
session?: string | undefined;
|
|
202
|
+
expires?: string | undefined;
|
|
203
|
+
}, signal: AbortSignal) => Promise<{
|
|
204
|
+
token: TokenView;
|
|
205
|
+
secret: string;
|
|
206
|
+
}>;
|
|
207
|
+
revokeToken: (caller: Caller, input: {
|
|
208
|
+
id: string;
|
|
209
|
+
}, signal: AbortSignal) => Promise<{
|
|
210
|
+
revoked: boolean;
|
|
211
|
+
}>;
|
|
167
212
|
upload: (caller: Caller, input: {
|
|
168
213
|
data: Uint8Array;
|
|
169
214
|
name: string | null;
|
|
@@ -181,6 +226,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
181
226
|
name?: string | null | undefined;
|
|
182
227
|
type?: string | null | undefined;
|
|
183
228
|
size: number;
|
|
229
|
+
sha256?: string | undefined;
|
|
184
230
|
}, signal: AbortSignal) => Promise<UploadTicket>;
|
|
185
231
|
uploadFinish: (caller: Caller, input: {
|
|
186
232
|
id: string;
|
|
@@ -200,7 +246,6 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
200
246
|
sync?: {
|
|
201
247
|
key: string;
|
|
202
248
|
platform: string;
|
|
203
|
-
signIn: boolean;
|
|
204
249
|
}[] | undefined;
|
|
205
250
|
url?: string | null | undefined;
|
|
206
251
|
path?: null | undefined;
|
|
@@ -213,7 +258,6 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
213
258
|
sync?: {
|
|
214
259
|
key: string;
|
|
215
260
|
platform: string;
|
|
216
|
-
signIn: boolean;
|
|
217
261
|
}[] | undefined;
|
|
218
262
|
url?: null | undefined;
|
|
219
263
|
path: string;
|
|
@@ -314,6 +358,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
314
358
|
message: string | null;
|
|
315
359
|
}[] | undefined;
|
|
316
360
|
id?: string | undefined;
|
|
361
|
+
after?: string | undefined;
|
|
317
362
|
} | {
|
|
318
363
|
author: {
|
|
319
364
|
id: string;
|
|
@@ -335,6 +380,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
335
380
|
channel: string;
|
|
336
381
|
thread: string;
|
|
337
382
|
} | undefined;
|
|
383
|
+
revision?: number | undefined;
|
|
338
384
|
} | {
|
|
339
385
|
author: {
|
|
340
386
|
id: string;
|
|
@@ -350,6 +396,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
350
396
|
} | undefined;
|
|
351
397
|
message?: string | undefined;
|
|
352
398
|
op: "delete";
|
|
399
|
+
revision?: number | undefined;
|
|
353
400
|
} | {
|
|
354
401
|
author: {
|
|
355
402
|
id: string;
|
|
@@ -384,6 +431,7 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
384
431
|
op: "labels";
|
|
385
432
|
set?: Record<string, string> | undefined;
|
|
386
433
|
unset?: string[] | undefined;
|
|
434
|
+
if?: Record<string, string | null> | undefined;
|
|
387
435
|
} | {
|
|
388
436
|
author: {
|
|
389
437
|
id: string;
|
|
@@ -433,7 +481,6 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
433
481
|
external: {
|
|
434
482
|
thread: string;
|
|
435
483
|
message: string;
|
|
436
|
-
asUser?: true | undefined;
|
|
437
484
|
};
|
|
438
485
|
files?: string[] | null | undefined;
|
|
439
486
|
} | {
|
|
@@ -460,22 +507,13 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
460
507
|
thread: string;
|
|
461
508
|
}, signal: AbortSignal) => Promise<SyncThreadView>;
|
|
462
509
|
syncFind: (caller: Caller, input: {
|
|
463
|
-
code?: string | undefined;
|
|
464
510
|
post?: string | undefined;
|
|
465
511
|
thread?: string | undefined;
|
|
466
512
|
message?: string | undefined;
|
|
467
|
-
account?: string | undefined;
|
|
468
|
-
person?: string | undefined;
|
|
469
513
|
}, signal: AbortSignal) => Promise<SyncFindView>;
|
|
470
514
|
syncCopies: (caller: Caller, input: {
|
|
471
515
|
message: string[];
|
|
472
516
|
}, signal: AbortSignal) => Promise<SyncCopiesView>;
|
|
473
|
-
syncRoots: (caller: Caller, input: {
|
|
474
|
-
by: string;
|
|
475
|
-
since: number;
|
|
476
|
-
}, signal: AbortSignal) => Promise<{
|
|
477
|
-
roots: MessageView[];
|
|
478
|
-
}>;
|
|
479
517
|
inboxPush: (caller: Caller, input: {
|
|
480
518
|
key: string;
|
|
481
519
|
} & {
|
|
@@ -621,30 +659,6 @@ declare function createHttp(url: string | undefined, options: HttpOptions, envir
|
|
|
621
659
|
}, signal: AbortSignal) => Promise<{
|
|
622
660
|
events: InboxEntry[];
|
|
623
661
|
}>;
|
|
624
|
-
syncCode: (caller: Caller, input: {
|
|
625
|
-
sync: string;
|
|
626
|
-
}, signal: AbortSignal) => Promise<SyncCodeView>;
|
|
627
|
-
syncAccount: (caller: Caller, input: {
|
|
628
|
-
sync: string;
|
|
629
|
-
account: {
|
|
630
|
-
id: string;
|
|
631
|
-
handle: string;
|
|
632
|
-
name: string;
|
|
633
|
-
isBot: boolean;
|
|
634
|
-
avatar: string | null;
|
|
635
|
-
};
|
|
636
|
-
code: string;
|
|
637
|
-
message?: string | undefined;
|
|
638
|
-
method?: "code" | "consent" | undefined;
|
|
639
|
-
}, signal: AbortSignal) => Promise<{
|
|
640
|
-
person: string;
|
|
641
|
-
link: LinkedAccount;
|
|
642
|
-
}>;
|
|
643
|
-
syncUnlink: (caller: Caller, input: {
|
|
644
|
-
account: string;
|
|
645
|
-
}, signal: AbortSignal) => Promise<{
|
|
646
|
-
ok: true;
|
|
647
|
-
}>;
|
|
648
662
|
routes: BackendRoute[];
|
|
649
663
|
keeps: boolean;
|
|
650
664
|
bind(next: BoardBinding): void;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import "./files-SniSmeEr.mjs";
|
|
2
2
|
import "./schemas-DBmUO6pr.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { A as RegisterBody, W as routes, a as METHODS, n as compileWatcher, t as canonicalWatchers } from "./watchers-hash-BjwlnGD9.mjs";
|
|
4
|
+
import { a as forbidden, d as createBoardClient, o as json, t as HttpError, u as BoardError } from "./errors-CJXhhzvT.mjs";
|
|
5
5
|
import { a as keyId, n as DERIVED_ID, o as sha256, r as derivedId, t as waitUntil } from "./wait-until-Dw4XrIDQ.mjs";
|
|
6
|
-
import { a as forbidden, o as json, t as HttpError } from "./errors-CusN4x2l.mjs";
|
|
7
6
|
//#region src/server/registrant.ts
|
|
8
7
|
/** Registering again this soon after the same registration only repeats it. */
|
|
9
8
|
const REGISTER_EVERY_MS = 1e4;
|
|
@@ -187,12 +186,12 @@ const PROFILE = /^[A-Za-z][A-Za-z0-9-]{0,31}$/;
|
|
|
187
186
|
const PROFILE_RULE = "ids start with a letter and use up to 32 letters, numbers, and hyphens";
|
|
188
187
|
/**
|
|
189
188
|
* What a board's own callers can't do on the board it uses, where they act as its project: what's
|
|
190
|
-
* the project's own there (its registration, its sync, its links
|
|
189
|
+
* the project's own there (its registration, its sync, its links, who it trusts and the tokens it
|
|
190
|
+
* mints, which would act as the project), and what's anyone's own there by
|
|
191
191
|
* principal (editing, deleting, scheduling, and uploading, since a file is its uploader's to read
|
|
192
192
|
* and attach until a message carries it), which the board it uses can't tell them apart for.
|
|
193
193
|
*/
|
|
194
194
|
const PROJECTS_OWN = /* @__PURE__ */ new Set([
|
|
195
|
-
"identity",
|
|
196
195
|
"edit",
|
|
197
196
|
"delete",
|
|
198
197
|
"schedule",
|
|
@@ -204,19 +203,21 @@ const PROJECTS_OWN = /* @__PURE__ */ new Set([
|
|
|
204
203
|
"register",
|
|
205
204
|
"matches",
|
|
206
205
|
"ack",
|
|
206
|
+
"grants",
|
|
207
|
+
"createGrant",
|
|
208
|
+
"revokeGrant",
|
|
209
|
+
"tokens",
|
|
210
|
+
"createToken",
|
|
211
|
+
"revokeToken",
|
|
207
212
|
"syncImport",
|
|
208
213
|
"syncReceipt",
|
|
209
214
|
"syncThread",
|
|
210
215
|
"syncFind",
|
|
211
216
|
"syncCopies",
|
|
212
|
-
"syncRoots",
|
|
213
217
|
"inboxPush",
|
|
214
218
|
"inboxNext",
|
|
215
219
|
"inboxAck",
|
|
216
|
-
"inbox"
|
|
217
|
-
"syncCode",
|
|
218
|
-
"syncAccount",
|
|
219
|
-
"syncUnlink"
|
|
220
|
+
"inbox"
|
|
220
221
|
]);
|
|
221
222
|
/**
|
|
222
223
|
* A caller's handle as a profile on the board this one uses: `ada`, `ada-lovelace` for
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as createHttp } from "./backend-http-
|
|
2
|
-
import { i as environmentProfile, n as boardUrl, r as connect } from "./node-
|
|
1
|
+
import { r as createHttp } from "./backend-http-CvUKOn-m.mjs";
|
|
2
|
+
import { i as environmentProfile, n as boardUrl, r as connect } from "./node-BgeGcwX0.mjs";
|
|
3
3
|
//#region src/backend-http/index.ts
|
|
4
4
|
const environment = {
|
|
5
5
|
url: boardUrl,
|
package/dist/backend-http.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as HttpOptions, t as HttpBackend } from "./backend-http-
|
|
1
|
+
import { n as HttpOptions, t as HttpBackend } from "./backend-http-BRrRbjRx.mjs";
|
|
2
2
|
//#region src/backend-http/index.default.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* The board at `url`, which keeps the log. Outside Node there's no environment to find it or a
|
package/dist/backend-http.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as http } from "./index.default-
|
|
1
|
+
import { t as http } from "./index.default-BUcwDaAe.mjs";
|
|
2
2
|
export { http };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as HttpOptions, t as HttpBackend } from "./backend-http-
|
|
1
|
+
import { n as HttpOptions, t as HttpBackend } from "./backend-http-BRrRbjRx.mjs";
|
|
2
2
|
//#region src/backend-http/index.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* The board at `url`, which keeps the log: this board uses it as this deployment. Without a
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as http } from "./backend-http-
|
|
1
|
+
import { t as http } from "./backend-http-D8mUzuKQ.mjs";
|
|
2
2
|
export { http };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as HttpError } from "./errors-
|
|
2
|
-
import { c as loginHanded, d as vercelProjectFile, i as environmentProfile, t as asYou, u as vercelLogin } from "./node-
|
|
3
|
-
import { t as createVercel } from "./backend-vercel-
|
|
1
|
+
import { t as HttpError } from "./errors-CJXhhzvT.mjs";
|
|
2
|
+
import { c as loginHanded, d as vercelProjectFile, i as environmentProfile, t as asYou, u as vercelLogin } from "./node-BgeGcwX0.mjs";
|
|
3
|
+
import { t as createVercel } from "./backend-vercel-CmY9yZ9m.mjs";
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
5
|
import { decodeJwt } from "jose";
|
|
6
6
|
import { getVercelOidcToken } from "@vercel/oidc";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as Actor, x as Attachment } from "./folds-
|
|
2
|
-
import {
|
|
3
|
-
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-
|
|
1
|
+
import { t as Actor, x as Attachment } from "./folds-DLUzfibJ.mjs";
|
|
2
|
+
import { At as ThreadsPage, B as MatchView, C as EventsPage, Dt as SyncedView, Et as SyncThreadView, Ft as TokenView, H as Me, M as InboxItem, U as MessageView, W as MessagesPage, dt as SourceJoin, j as InboxEntry, k as GrantView, kt as ThreadView, mt as SourceRead, o as ProfileOption, st as ScheduleView, tt as RegistrationView, v as ChannelView, vt as SyncCopiesView, x as Discovery, xt as SyncFindView, zt as UploadTicket } from "./client-COfYrgfV.mjs";
|
|
3
|
+
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-Bob-5CM7.mjs";
|
|
4
4
|
//#region src/server/backend-vercel.d.ts
|
|
5
5
|
type VercelOptions = {
|
|
6
6
|
/** The team whose board it is: its ID (`team_…`) or its slug. In Node, by default your deployment's, or `VERCEL_ORG_ID`. */
|
|
@@ -31,8 +31,8 @@ type VercelEnvironment = {
|
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Vercel's board for your team, in Vercel's API: this deployment keeps nothing and reads and writes
|
|
34
|
-
* it as itself, its people as themselves. Messages, threads, reactions, labels,
|
|
35
|
-
* changes work; what the API keeps none of yet (
|
|
34
|
+
* it as itself, its people as themselves. Messages, threads, reactions, labels, a channel's
|
|
35
|
+
* changes, schedules, files, and watchers work; what the API keeps none of yet (sync) answers 501.
|
|
36
36
|
*/
|
|
37
37
|
declare function createVercel(options: VercelOptions, environment: VercelEnvironment | null): {
|
|
38
38
|
discovery: (caller: Caller, input: {
|
|
@@ -47,17 +47,18 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
47
47
|
channels: ChannelView[];
|
|
48
48
|
cursor: string;
|
|
49
49
|
}>;
|
|
50
|
+
createChannel: (caller: Caller, input: {
|
|
51
|
+
path: string;
|
|
52
|
+
}, signal: AbortSignal) => Promise<{
|
|
53
|
+
channel: ChannelView;
|
|
54
|
+
created: boolean;
|
|
55
|
+
}>;
|
|
50
56
|
actors: (caller: Caller, input: {
|
|
51
57
|
[x: string]: never;
|
|
52
58
|
}, signal: AbortSignal) => Promise<{
|
|
53
|
-
actors:
|
|
54
|
-
person?: PersonView;
|
|
55
|
-
})[];
|
|
59
|
+
actors: Actor[];
|
|
56
60
|
cursor: string;
|
|
57
61
|
}>;
|
|
58
|
-
identity: (caller: Caller, input: {
|
|
59
|
-
[x: string]: never;
|
|
60
|
-
}, signal: AbortSignal) => Promise<IdentityView>;
|
|
61
62
|
messages: (caller: Caller, input: {
|
|
62
63
|
channel?: string | undefined;
|
|
63
64
|
re?: string | undefined;
|
|
@@ -96,6 +97,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
96
97
|
})[] | undefined;
|
|
97
98
|
id?: string | undefined;
|
|
98
99
|
attachments?: string[] | undefined;
|
|
100
|
+
after?: string | undefined;
|
|
99
101
|
}, signal: AbortSignal) => Promise<{
|
|
100
102
|
message: MessageView;
|
|
101
103
|
unknownMentions?: string[];
|
|
@@ -109,12 +111,15 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
109
111
|
id: string;
|
|
110
112
|
} & {
|
|
111
113
|
text: string;
|
|
114
|
+
revision?: number | undefined;
|
|
112
115
|
}, signal: AbortSignal) => Promise<{
|
|
113
116
|
ok: true;
|
|
114
117
|
unknownMentions?: string[];
|
|
115
118
|
}>;
|
|
116
119
|
delete: (caller: Caller, input: {
|
|
117
120
|
id: string;
|
|
121
|
+
} & {
|
|
122
|
+
revision?: number | undefined;
|
|
118
123
|
}, signal: AbortSignal) => Promise<{
|
|
119
124
|
ok: true;
|
|
120
125
|
}>;
|
|
@@ -131,6 +136,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
131
136
|
} & {
|
|
132
137
|
set?: Record<string, string> | undefined;
|
|
133
138
|
unset?: string[] | undefined;
|
|
139
|
+
if?: Record<string, string | null> | undefined;
|
|
134
140
|
}, signal: AbortSignal) => Promise<{
|
|
135
141
|
ok: true;
|
|
136
142
|
}>;
|
|
@@ -165,6 +171,45 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
165
171
|
schedule: ScheduleView;
|
|
166
172
|
canceled: boolean;
|
|
167
173
|
}>;
|
|
174
|
+
grants: (caller: Caller, input: {
|
|
175
|
+
[x: string]: never;
|
|
176
|
+
}, signal: AbortSignal) => Promise<{
|
|
177
|
+
grants: GrantView[];
|
|
178
|
+
}>;
|
|
179
|
+
createGrant: (caller: Caller, input: {
|
|
180
|
+
issuer: string;
|
|
181
|
+
claims: Record<string, string | string[]>;
|
|
182
|
+
can?: "all" | string[] | Record<string, "all" | string[]> | undefined;
|
|
183
|
+
}, signal: AbortSignal) => Promise<{
|
|
184
|
+
grant: GrantView;
|
|
185
|
+
created: boolean;
|
|
186
|
+
}>;
|
|
187
|
+
revokeGrant: (caller: Caller, input: {
|
|
188
|
+
id: string;
|
|
189
|
+
}, signal: AbortSignal) => Promise<{
|
|
190
|
+
revoked: boolean;
|
|
191
|
+
}>;
|
|
192
|
+
tokens: (caller: Caller, input: {
|
|
193
|
+
[x: string]: never;
|
|
194
|
+
}, signal: AbortSignal) => Promise<{
|
|
195
|
+
tokens: TokenView[];
|
|
196
|
+
}>;
|
|
197
|
+
createToken: (caller: Caller, input: {
|
|
198
|
+
name: string;
|
|
199
|
+
can?: "all" | string[] | Record<string, "all" | string[]> | undefined;
|
|
200
|
+
profile?: string | undefined;
|
|
201
|
+
avatar?: string | undefined;
|
|
202
|
+
session?: string | undefined;
|
|
203
|
+
expires?: string | undefined;
|
|
204
|
+
}, signal: AbortSignal) => Promise<{
|
|
205
|
+
token: TokenView;
|
|
206
|
+
secret: string;
|
|
207
|
+
}>;
|
|
208
|
+
revokeToken: (caller: Caller, input: {
|
|
209
|
+
id: string;
|
|
210
|
+
}, signal: AbortSignal) => Promise<{
|
|
211
|
+
revoked: boolean;
|
|
212
|
+
}>;
|
|
168
213
|
upload: (caller: Caller, input: {
|
|
169
214
|
data: Uint8Array;
|
|
170
215
|
name: string | null;
|
|
@@ -182,6 +227,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
182
227
|
name?: string | null | undefined;
|
|
183
228
|
type?: string | null | undefined;
|
|
184
229
|
size: number;
|
|
230
|
+
sha256?: string | undefined;
|
|
185
231
|
}, signal: AbortSignal) => Promise<UploadTicket>;
|
|
186
232
|
uploadFinish: (caller: Caller, input: {
|
|
187
233
|
id: string;
|
|
@@ -201,7 +247,6 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
201
247
|
sync?: {
|
|
202
248
|
key: string;
|
|
203
249
|
platform: string;
|
|
204
|
-
signIn: boolean;
|
|
205
250
|
}[] | undefined;
|
|
206
251
|
url?: string | null | undefined;
|
|
207
252
|
path?: null | undefined;
|
|
@@ -214,7 +259,6 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
214
259
|
sync?: {
|
|
215
260
|
key: string;
|
|
216
261
|
platform: string;
|
|
217
|
-
signIn: boolean;
|
|
218
262
|
}[] | undefined;
|
|
219
263
|
url?: null | undefined;
|
|
220
264
|
path: string;
|
|
@@ -315,6 +359,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
315
359
|
message: string | null;
|
|
316
360
|
}[] | undefined;
|
|
317
361
|
id?: string | undefined;
|
|
362
|
+
after?: string | undefined;
|
|
318
363
|
} | {
|
|
319
364
|
author: {
|
|
320
365
|
id: string;
|
|
@@ -336,6 +381,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
336
381
|
channel: string;
|
|
337
382
|
thread: string;
|
|
338
383
|
} | undefined;
|
|
384
|
+
revision?: number | undefined;
|
|
339
385
|
} | {
|
|
340
386
|
author: {
|
|
341
387
|
id: string;
|
|
@@ -351,6 +397,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
351
397
|
} | undefined;
|
|
352
398
|
message?: string | undefined;
|
|
353
399
|
op: "delete";
|
|
400
|
+
revision?: number | undefined;
|
|
354
401
|
} | {
|
|
355
402
|
author: {
|
|
356
403
|
id: string;
|
|
@@ -385,6 +432,7 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
385
432
|
op: "labels";
|
|
386
433
|
set?: Record<string, string> | undefined;
|
|
387
434
|
unset?: string[] | undefined;
|
|
435
|
+
if?: Record<string, string | null> | undefined;
|
|
388
436
|
} | {
|
|
389
437
|
author: {
|
|
390
438
|
id: string;
|
|
@@ -434,7 +482,6 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
434
482
|
external: {
|
|
435
483
|
thread: string;
|
|
436
484
|
message: string;
|
|
437
|
-
asUser?: true | undefined;
|
|
438
485
|
};
|
|
439
486
|
files?: string[] | null | undefined;
|
|
440
487
|
} | {
|
|
@@ -461,22 +508,13 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
461
508
|
thread: string;
|
|
462
509
|
}, signal: AbortSignal) => Promise<SyncThreadView>;
|
|
463
510
|
syncFind: (caller: Caller, input: {
|
|
464
|
-
code?: string | undefined;
|
|
465
511
|
post?: string | undefined;
|
|
466
512
|
thread?: string | undefined;
|
|
467
513
|
message?: string | undefined;
|
|
468
|
-
account?: string | undefined;
|
|
469
|
-
person?: string | undefined;
|
|
470
514
|
}, signal: AbortSignal) => Promise<SyncFindView>;
|
|
471
515
|
syncCopies: (caller: Caller, input: {
|
|
472
516
|
message: string[];
|
|
473
517
|
}, signal: AbortSignal) => Promise<SyncCopiesView>;
|
|
474
|
-
syncRoots: (caller: Caller, input: {
|
|
475
|
-
by: string;
|
|
476
|
-
since: number;
|
|
477
|
-
}, signal: AbortSignal) => Promise<{
|
|
478
|
-
roots: MessageView[];
|
|
479
|
-
}>;
|
|
480
518
|
inboxPush: (caller: Caller, input: {
|
|
481
519
|
key: string;
|
|
482
520
|
} & {
|
|
@@ -622,32 +660,9 @@ declare function createVercel(options: VercelOptions, environment: VercelEnviron
|
|
|
622
660
|
}, signal: AbortSignal) => Promise<{
|
|
623
661
|
events: InboxEntry[];
|
|
624
662
|
}>;
|
|
625
|
-
syncCode: (caller: Caller, input: {
|
|
626
|
-
sync: string;
|
|
627
|
-
}, signal: AbortSignal) => Promise<SyncCodeView>;
|
|
628
|
-
syncAccount: (caller: Caller, input: {
|
|
629
|
-
sync: string;
|
|
630
|
-
account: {
|
|
631
|
-
id: string;
|
|
632
|
-
handle: string;
|
|
633
|
-
name: string;
|
|
634
|
-
isBot: boolean;
|
|
635
|
-
avatar: string | null;
|
|
636
|
-
};
|
|
637
|
-
code: string;
|
|
638
|
-
message?: string | undefined;
|
|
639
|
-
method?: "code" | "consent" | undefined;
|
|
640
|
-
}, signal: AbortSignal) => Promise<{
|
|
641
|
-
person: string;
|
|
642
|
-
link: LinkedAccount;
|
|
643
|
-
}>;
|
|
644
|
-
syncUnlink: (caller: Caller, input: {
|
|
645
|
-
account: string;
|
|
646
|
-
}, signal: AbortSignal) => Promise<{
|
|
647
|
-
ok: true;
|
|
648
|
-
}>;
|
|
649
663
|
routes: BackendRoute[];
|
|
650
664
|
keeps: boolean;
|
|
665
|
+
sendsSchedulesHere: boolean;
|
|
651
666
|
bind(next: BoardBinding): void;
|
|
652
667
|
/** Registers this board's watchers with Vercel's API now, as `POST /watchers` does. */
|
|
653
668
|
registerWatchers: () => Promise<RegistrationView>;
|