@vercel/board 0.25.0 → 0.25.1
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/dist/{a2-CQ3WcqMv.mjs → a2-A830f5NS.mjs} +6 -6
- package/dist/access.d.mts +1 -2
- package/dist/access.mjs +3 -3
- package/dist/{actors-CDDhhFNY.mjs → actors-BLXVp4oZ.mjs} +2 -2
- package/dist/{auth-BwWH3Twu.mjs → auth-lTkOgvcE.mjs} +1 -1
- package/dist/{backend-DmXjVnil.d.mts → backend-ZKYTe3xa.d.mts} +5 -15
- package/dist/backend-a2/blob-vercel.d.mts +1 -1
- package/dist/backend-a2/contract.d.mts +1 -2
- package/dist/backend-a2/store-memory.d.mts +1 -1
- package/dist/backend-a2/store-postgres.d.mts +1 -1
- package/dist/backend-a2/store-redis-http.d.mts +1 -1
- package/dist/backend-a2/store-redis.d.mts +1 -1
- package/dist/backend-a2/store-sqlite.d.mts +1 -1
- package/dist/backend-a2.d.mts +5 -6
- package/dist/backend-a2.mjs +1 -1
- package/dist/{backend-http-Cs-UKpYp.mjs → backend-http-CJd4Fu0U.mjs} +2 -2
- package/dist/{backend-http-BJ7AdK0c.mjs → backend-http-CYtfwqAW.mjs} +8 -5
- package/dist/{backend-http-BsP0Xq9e.d.mts → backend-http-E7YU0qhn.d.mts} +3 -4
- 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-CG2SYa03.mjs → backend-vercel-BhwPExmE.mjs} +3 -3
- package/dist/{backend-vercel-B0Q0K0O5.mjs → backend-vercel-Bqg2QfTd.mjs} +7 -4
- package/dist/{backend-vercel-CED673bx.d.mts → backend-vercel-CIRObA0t.d.mts} +3 -4
- 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-C0J3wbGv.d.mts → blob-B-9AvYis.d.mts} +2 -1
- package/dist/{chat-provider-6eYkL2ef.d.mts → chat-provider-DsNEBQiA.d.mts} +3 -2
- package/dist/cli-embedded.d.mts +2 -2
- package/dist/cli-embedded.mjs +1 -1
- package/dist/cli.mjs +3 -3
- package/dist/{client-BY-BCggB.mjs → client-D0Px7KzF.mjs} +16 -4
- package/dist/{provider-C_sj4-GL.d.mts → client-xLxeDz0f.d.mts} +13 -689
- package/dist/{conformance-BZ53bxrG.mjs → conformance-DlnfuzEB.mjs} +1 -1
- package/dist/conformance.d.mts +1 -1
- package/dist/conformance.mjs +1 -1
- package/dist/{engine-SeaJ_CIY.mjs → engine-ROa7-IQY.mjs} +2 -2
- package/dist/errors-CB4tnZGz.d.mts +16 -0
- package/dist/{errors-Bven0k29.mjs → errors-CusN4x2l.mjs} +14 -6
- package/dist/exports-D22M68rk.d.mts +5 -0
- package/dist/{exports-ByvYtxFT.mjs → exports-DCqgO_mr.mjs} +6 -6
- package/dist/{folds-CRYY14kc.d.mts → folds-jS9wlh9_.d.mts} +49 -2
- package/dist/{index-k2LfZxl-.d.mts → index-C05it0mC.d.mts} +2 -2
- package/dist/index.d.mts +5 -4
- package/dist/{index.default-DmfhBZZi.mjs → index.default-BejExznB.mjs} +1 -1
- package/dist/index.mjs +6 -6
- package/dist/index.node.d.mts +5 -4
- package/dist/index.node.mjs +4 -4
- package/dist/inspect/app.js +108 -108
- package/dist/{main-BNkywL2P.mjs → main-DOhNCWMd.mjs} +70 -65
- package/dist/{middleware-B0J7QBq7.mjs → middleware-ChKM1zuu.mjs} +1 -1
- package/dist/{node-C51_xzCb.mjs → node-Bkd1x0QI.mjs} +37 -9
- package/dist/provider-Cdg1qadh.d.mts +688 -0
- package/dist/{serve-DYQ64Q5R.mjs → serve-D2O0C6Kk.mjs} +5 -5
- package/dist/{server-BgK1sgj7.mjs → server-BF4WJ7qi.mjs} +4 -4
- package/dist/{serving-rXQcEgTO.mjs → serving-CvOWEym2.mjs} +1 -1
- package/dist/sync-github.d.mts +2 -2
- package/dist/sync-kapso.d.mts +2 -2
- package/dist/sync-linear.d.mts +2 -2
- package/dist/sync-slack.d.mts +3 -3
- package/dist/sync.chat.d.mts +1 -1
- package/dist/sync.d.mts +2 -2
- package/dist/{tokens-U-XRlEfq.mjs → tokens-BuCU-61R.mjs} +2 -2
- package/dist/{types-8yq2VnKI.d.mts → types-aCAf6lGU.d.mts} +1 -1
- package/dist/{watchers-hash-C4CJg7K1.mjs → watchers-hash-BHNXy_N7.mjs} +2 -2
- package/docs/04-reference/02-board.md +6 -2
- package/package.json +1 -1
- package/dist/exports-CPrIkpz3.d.mts +0 -4
- package/dist/schemas-CWxs3ECJ.d.mts +0 -50
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { n as DIRECT_UPLOAD_BYTES_MAX, r as IMPORT_BYTES_MAX, t as ATTACHMENT_BYTES_MAX } from "./files-SniSmeEr.mjs";
|
|
2
2
|
import { _ as RemoteWatcherId, b as actorKind, i as Attachment, x as platformAvatar } from "./schemas-Be08nyfW.mjs";
|
|
3
3
|
import "./external-BV_cUncs.mjs";
|
|
4
|
-
import { a as METHODS, d as VERSION, f as SYNC, n as compileWatcher, r as hasCriteria, t as canonicalWatchers } from "./watchers-hash-
|
|
5
|
-
import { r as duration, t as BoardError } from "./client-
|
|
4
|
+
import { a as METHODS, d as VERSION, f as SYNC, n as compileWatcher, r as hasCriteria, t as canonicalWatchers } from "./watchers-hash-BHNXy_N7.mjs";
|
|
5
|
+
import { r as duration, t as BoardError } from "./client-D0Px7KzF.mjs";
|
|
6
6
|
import { n as derivedId, r as isKeyIdOf } from "./ids-C6AYo1bu.mjs";
|
|
7
|
-
import { a as forbidden, c as toErrorResponse, i as duplicateId, r as badRequest, s as notFound, t as HttpError } from "./errors-
|
|
7
|
+
import { a as forbidden, c as toErrorResponse, i as duplicateId, r as badRequest, s as notFound, t as HttpError } from "./errors-CusN4x2l.mjs";
|
|
8
8
|
import { t as own } from "./own-OwgPWdmh.mjs";
|
|
9
9
|
import { n as replaceMentions } from "./mentions-CB6ShY4R.mjs";
|
|
10
|
-
import { _ as FULL_ACCESS, i as authenticates, v as authorize } from "./auth-
|
|
11
|
-
import { a as resolveMentions, n as actorSeen } from "./actors-
|
|
12
|
-
import { n as MIDDLEWARE_ACTOR, t as DroppedError } from "./middleware-
|
|
10
|
+
import { _ as FULL_ACCESS, i as authenticates, v as authorize } from "./auth-lTkOgvcE.mjs";
|
|
11
|
+
import { a as resolveMentions, n as actorSeen } from "./actors-BLXVp4oZ.mjs";
|
|
12
|
+
import { n as MIDDLEWARE_ACTOR, t as DroppedError } from "./middleware-ChKM1zuu.mjs";
|
|
13
13
|
import { n as syncTarget, r as withEmailMentions } from "./targets-C-wdR5wP.mjs";
|
|
14
14
|
import { t as A2Error } from "./session-clear-wHd5GCpZ-BnKSxReK.mjs";
|
|
15
15
|
import { a as reducer } from "./reducer-CjmvZSAb-D_OSISmj.mjs";
|
package/dist/access.d.mts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { a as Grant, i as ChannelPattern, n as AccessSummary, o as Permission, r as Can, t as Access } from "./access-CV96SYgr.mjs";
|
|
2
2
|
import { _ as oidc, a as CallerRequest, c as HostPrincipal, d as OidcTokensOptions, f as Principal, g as githubActions, h as compileRules, i as AuthenticateContext, l as IssuerConfig, m as RuleFunction, n as AccessRule, o as Claims, p as PrincipalKind, r as Authenticate, t as AccessFunction, u as Known, v as vercelProject } from "./auth-CU56Q2Xh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as Actor } from "./folds-CRYY14kc.mjs";
|
|
3
|
+
import { C as Author, t as Actor } from "./folds-jS9wlh9_.mjs";
|
|
5
4
|
//#region src/server/tokens.d.ts
|
|
6
5
|
/**
|
|
7
6
|
* The OIDC tokens made out to this board: a request's bearer token, from Vercel (people and
|
package/dist/access.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as compileRules, c as githubActions, h as vercelProject, p as oidc } from "./auth-
|
|
2
|
-
import { i as resolveActor } from "./actors-
|
|
3
|
-
import { t as oidcTokens } from "./tokens-
|
|
1
|
+
import { a as compileRules, c as githubActions, h as vercelProject, p as oidc } from "./auth-lTkOgvcE.mjs";
|
|
2
|
+
import { i as resolveActor } from "./actors-BLXVp4oZ.mjs";
|
|
3
|
+
import { t as oidcTokens } from "./tokens-BuCU-61R.mjs";
|
|
4
4
|
export { compileRules, githubActions, oidc, oidcTokens, resolveActor, vercelProject };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { C as toStorable } from "./schemas-Be08nyfW.mjs";
|
|
2
|
-
import { r as badRequest } from "./errors-
|
|
2
|
+
import { r as badRequest } from "./errors-CusN4x2l.mjs";
|
|
3
3
|
import { t as own } from "./own-OwgPWdmh.mjs";
|
|
4
4
|
import { t as extractMentions } from "./mentions-CB6ShY4R.mjs";
|
|
5
|
-
import { y as parseScope } from "./auth-
|
|
5
|
+
import { y as parseScope } from "./auth-lTkOgvcE.mjs";
|
|
6
6
|
//#region src/server/actors.ts
|
|
7
7
|
/** Agents whose avatars the board serves itself. */
|
|
8
8
|
const KNOWN_AGENTS = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as ChannelPath, v as SCOPE_MAX } from "./schemas-Be08nyfW.mjs";
|
|
2
|
-
import { a as forbidden, l as unauthorized } from "./errors-
|
|
2
|
+
import { a as forbidden, l as unauthorized } from "./errors-CusN4x2l.mjs";
|
|
3
3
|
//#region src/server/access.ts
|
|
4
4
|
/**
|
|
5
5
|
* What a principal may do in a channel. `read` covers messages, threads,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { t as Access } from "./access-CV96SYgr.mjs";
|
|
2
2
|
import { m as RuleFunction, n as AccessRule, r as Authenticate, s as Granted, t as AccessFunction, u as Known } from "./auth-CU56Q2Xh.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
3
|
+
import { A as Labels, C as Author, t as Actor, u as ExternalEvent, x as Attachment } from "./folds-jS9wlh9_.mjs";
|
|
4
|
+
import { A as InboxItem, At as SyncRootsQuery, B as Me, C as EventsQuery, D as IdentityView, Et as SyncImportBody, Ft as ThreadView, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, K as PersonView, L as LinkedQuery, Lt as ThreadsQuery, M as InboxPushBody, Mt as SyncUnlinkBody, N as InboxQuery, Nt as SyncedView, O as InboxAckBody, Ot as SyncReceiptBody, P as LabelBody, Q as RegisterBody, R as MatchView, S as EventsPage, St as SyncCopiesView, Tt as SyncFindView, U as MessagesQuery, V as MessageView, Vt as UploadStartBody, X as ReactBody, _ as BoardEventView, b as Discovery, bt as SyncCodeView, dt as SourceJoin, et as RegistrationView, ft as SourceJoinBody, gt as SyncAccountBody, ht as SourceReadQuery, j as InboxNextQuery, jt as SyncThreadView, k as InboxEntry, m as AckBody, mt as SourceRead, o as ProfileOption, ot as ScheduleView, q as PostBody, rt as ScheduleBody, st as SchedulesQuery, t as BoardClient, v as ChannelView, wt as SyncFindQuery, x as EditBody, xt as SyncCopiesQuery, yt as SyncCodeBody, z as MatchesQuery, zt as TypingBody } from "./client-xLxeDz0f.mjs";
|
|
5
|
+
import { t as HttpError } from "./errors-CB4tnZGz.mjs";
|
|
6
|
+
import { p as SyncProvider } from "./provider-Cdg1qadh.mjs";
|
|
6
7
|
import { z } from "zod";
|
|
7
8
|
//#region src/api/protocol.d.ts
|
|
8
9
|
type Input<S extends z.ZodType> = NonNullable<z.output<S>>;
|
|
@@ -294,17 +295,6 @@ type Protocol = {
|
|
|
294
295
|
};
|
|
295
296
|
type Method = keyof Protocol;
|
|
296
297
|
//#endregion
|
|
297
|
-
//#region src/server/errors.d.ts
|
|
298
|
-
declare class HttpError extends Error {
|
|
299
|
-
readonly status: number;
|
|
300
|
-
readonly code: string;
|
|
301
|
-
/** What fixes it, when the handle that raised it knows (`BoardError`'s `hint`). */
|
|
302
|
-
readonly hint: string | undefined;
|
|
303
|
-
constructor(status: number, code: string, message: string, options?: {
|
|
304
|
-
hint?: string;
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
//#endregion
|
|
308
298
|
//#region src/server/middleware.d.ts
|
|
309
299
|
/** Where a write came from, as the middleware sees it. */
|
|
310
300
|
type WriteSource =
|
|
@@ -688,4 +678,4 @@ interface Backend extends ProtocolMethods {
|
|
|
688
678
|
bind(board: BoardBinding): void;
|
|
689
679
|
}
|
|
690
680
|
//#endregion
|
|
691
|
-
export { Protocol as
|
|
681
|
+
export { Protocol as S, MiddlewareContext as _, Identity as a, WriteSource as b, SelfCaller as c, Board as d, BoardOptions as f, Middleware as g, DroppedError as h, Caller as i, Subscription as l, WatcherContext as m, BackendRoute as n, InboxDelivery as o, Watcher as p, BoardBinding as r, ProtocolMethods as s, Backend as t, VerifiedCaller as u, Write as v, Method as x, WritePatch as y };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as BoardEvents, g as BoardEvent, h as BOARD_SESSION, i as ChannelsState, l as ExternalAuthor, m as Origin, n as ActorsState, o as Message, r as Channel, s as MessagesState, t as Actor } from "../folds-CRYY14kc.mjs";
|
|
1
|
+
import { A as Labels, C as Author, D as Handle, E as Emoji, M as MessageId, N as MessageText, O as LabelKey, S as AttachmentId, T as ChannelPath, _ as BoardEvents, b as ActorKind, g as BoardEvent, h as BOARD_SESSION, i as ChannelsState, j as MESSAGE_TEXT_MAX, k as LabelValue, l as ExternalAuthor, m as Origin, n as ActorsState, o as Message, r as Channel, s as MessagesState, t as Actor, v as ATTACHMENTS_PER_MESSAGE_MAX, w as CHANNEL_PATH_MAX, x as Attachment, y as ActorId } from "../folds-jS9wlh9_.mjs";
|
|
3
2
|
import { l as Reducer, n as Contract } from "../reducer-CYPHsSmd-BQIfozGi.mjs";
|
|
4
3
|
import { z } from "zod";
|
|
5
4
|
//#region src/contract/files.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as Clock } from "../store-D0MhBvg6-4Z2L0Kqd.mjs";
|
|
2
|
-
import { t as BoardStore } from "../types-
|
|
2
|
+
import { t as BoardStore } from "../types-aCAf6lGU.mjs";
|
|
3
3
|
//#region src/store/memory.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* A board that lives in memory, for tests: its log in A2's memory store, its
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as BoardStore } from "../types-
|
|
1
|
+
import { t as BoardStore } from "../types-aCAf6lGU.mjs";
|
|
2
2
|
//#region ../../node_modules/.pnpm/experimental-a2@0.22.0_@upstash+qstash@2.12.0_@vercel+queue@0.7.0_ai@7.0.130_zod@4.6.5__52060f00b21aecfab049c27fa3abd2f9/node_modules/experimental-a2/dist/store-redis.d.ts
|
|
3
3
|
//#region src/store-redis-notify.d.ts
|
|
4
4
|
type RedisConnection = {
|
package/dist/backend-a2.d.mts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as Actor } from "./folds-CRYY14kc.mjs";
|
|
1
|
+
import { t as Actor, x as Attachment } from "./folds-jS9wlh9_.mjs";
|
|
3
2
|
import { l as Reducer, r as ContractEvent } from "./reducer-CYPHsSmd-BQIfozGi.mjs";
|
|
4
3
|
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 {
|
|
6
|
-
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-
|
|
7
|
-
import { n as fsBlob, r as memoryBlob, t as BlobStore } from "./blob-
|
|
8
|
-
import { t as BoardStore } from "./types-
|
|
4
|
+
import { A as InboxItem, B as Me, D as IdentityView, Ft as ThreadView, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, K as PersonView, Nt as SyncedView, R as MatchView, S as EventsPage, St as SyncCopiesView, Tt as SyncFindView, V as MessageView, b as Discovery, bt as SyncCodeView, dt as SourceJoin, et as RegistrationView, jt as SyncThreadView, k as InboxEntry, mt as SourceRead, ot as ScheduleView, v as ChannelView } from "./client-xLxeDz0f.mjs";
|
|
5
|
+
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-ZKYTe3xa.mjs";
|
|
6
|
+
import { n as fsBlob, r as memoryBlob, t as BlobStore } from "./blob-B-9AvYis.mjs";
|
|
7
|
+
import { t as BoardStore } from "./types-aCAf6lGU.mjs";
|
|
9
8
|
import { z } from "zod";
|
|
10
9
|
//#region src/server/transport.d.ts
|
|
11
10
|
/**
|
package/dist/backend-a2.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as fsBlob, r as memoryBlob, t as a2 } from "./a2-
|
|
1
|
+
import { n as fsBlob, r as memoryBlob, t as a2 } from "./a2-A830f5NS.mjs";
|
|
2
2
|
export { a2, fsBlob, memoryBlob };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as createHttp } from "./backend-http-
|
|
2
|
-
import { n as connect, r as environmentProfile, t as boardUrl } from "./node-
|
|
1
|
+
import { r as createHttp } from "./backend-http-CYtfwqAW.mjs";
|
|
2
|
+
import { n as connect, r as environmentProfile, t as boardUrl } from "./node-Bkd1x0QI.mjs";
|
|
3
3
|
//#region src/backend-http/index.ts
|
|
4
4
|
const environment = {
|
|
5
5
|
url: boardUrl,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "./files-SniSmeEr.mjs";
|
|
2
2
|
import "./schemas-Be08nyfW.mjs";
|
|
3
|
-
import { K as routes, O as RegisterBody, a as METHODS, n as compileWatcher, t as canonicalWatchers } from "./watchers-hash-
|
|
4
|
-
import { n as createBoardClient, t as BoardError } from "./client-
|
|
3
|
+
import { K as routes, O as RegisterBody, a as METHODS, n as compileWatcher, t as canonicalWatchers } from "./watchers-hash-BHNXy_N7.mjs";
|
|
4
|
+
import { n as createBoardClient, t as BoardError } from "./client-D0Px7KzF.mjs";
|
|
5
5
|
import { a as sha256, i as keyId, n as derivedId, t as DERIVED_ID } from "./ids-C6AYo1bu.mjs";
|
|
6
|
-
import { a as forbidden, o as json, t as HttpError } from "./errors-
|
|
6
|
+
import { a as forbidden, o as json, t as HttpError } from "./errors-CusN4x2l.mjs";
|
|
7
7
|
//#region src/server/registrant.ts
|
|
8
8
|
/** Registering again this soon after the same registration only repeats it. */
|
|
9
9
|
const REGISTER_EVERY_MS = 1e4;
|
|
@@ -239,7 +239,10 @@ function scopeOf(identity) {
|
|
|
239
239
|
const describe = (error) => ((error instanceof Error ? error.message : String(error)) || "unknown error").slice(0, 500);
|
|
240
240
|
/** The SDK's error, as the board answers it: the remote's own status and code, or 502 when it never answered. */
|
|
241
241
|
const rethrow = (error) => {
|
|
242
|
-
if (error instanceof BoardError) throw new HttpError(error.status >= 400 ? error.status : 502, error.code, error.message,
|
|
242
|
+
if (error instanceof BoardError) throw new HttpError(error.status >= 400 ? error.status : 502, error.code, error.message, {
|
|
243
|
+
...error.hint !== void 0 ? { hint: error.hint } : {},
|
|
244
|
+
origin: error.origin
|
|
245
|
+
});
|
|
243
246
|
if (error instanceof HttpError || error instanceof Error && error.name === "AbortError") throw error;
|
|
244
247
|
throw new HttpError(502, "unreachable", `the board didn't answer: ${describe(error)}`);
|
|
245
248
|
};
|
|
@@ -339,7 +342,7 @@ function createHttp(url, options, environment) {
|
|
|
339
342
|
let discovered = null;
|
|
340
343
|
/** The board it uses' discovery, for a handle here: who it is, and the sync entries it lists. */
|
|
341
344
|
const discovery = () => (discovered ??= doFetch(remote).then(async (response) => {
|
|
342
|
-
if (!response.ok) throw new HttpError(response.status >= 400 ? response.status : 502, "no_board", `There's no board at ${remote}: it answered ${response.status}
|
|
345
|
+
if (!response.ok) throw new HttpError(response.status >= 400 ? response.status : 502, "no_board", `There's no board at ${remote}: it answered ${response.status}.`, { origin: "handle" });
|
|
343
346
|
return await response.json();
|
|
344
347
|
}, rethrow)).catch((error) => {
|
|
345
348
|
discovered = null;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-DmXjVnil.mjs";
|
|
1
|
+
import { t as Actor, x as Attachment } from "./folds-jS9wlh9_.mjs";
|
|
2
|
+
import { A as InboxItem, B as Me, D as IdentityView, Ft as ThreadView, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, K as PersonView, Nt as SyncedView, R as MatchView, S as EventsPage, St as SyncCopiesView, Tt as SyncFindView, V as MessageView, b as Discovery, bt as SyncCodeView, dt as SourceJoin, et as RegistrationView, jt as SyncThreadView, k as InboxEntry, mt as SourceRead, o as ProfileOption, ot as ScheduleView, v as ChannelView } from "./client-xLxeDz0f.mjs";
|
|
3
|
+
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-ZKYTe3xa.mjs";
|
|
5
4
|
//#region src/server/backend-http.d.ts
|
|
6
5
|
type HttpOptions = {
|
|
7
6
|
/**
|
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-E7YU0qhn.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-BejExznB.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-E7YU0qhn.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-CJd4Fu0U.mjs";
|
|
2
2
|
export { http };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as RemoteWatcherId } from "./schemas-Be08nyfW.mjs";
|
|
2
|
-
import { O as RegisterBody, a as METHODS, d as VERSION, n as compileWatcher, t as canonicalWatchers } from "./watchers-hash-
|
|
2
|
+
import { O as RegisterBody, a as METHODS, d as VERSION, n as compileWatcher, t as canonicalWatchers } from "./watchers-hash-BHNXy_N7.mjs";
|
|
3
3
|
import { a as sha256, n as derivedId } from "./ids-C6AYo1bu.mjs";
|
|
4
|
-
import { a as forbidden, o as json, s as notFound, t as HttpError } from "./errors-
|
|
5
|
-
import { a as wakePath, i as registrant, n as callerProfile, t as PROJECTS_OWN } from "./backend-http-
|
|
4
|
+
import { a as forbidden, o as json, s as notFound, t as HttpError } from "./errors-CusN4x2l.mjs";
|
|
5
|
+
import { a as wakePath, i as registrant, n as callerProfile, t as PROJECTS_OWN } from "./backend-http-CYtfwqAW.mjs";
|
|
6
6
|
//#region src/server/backend-vercel.ts
|
|
7
7
|
const PROFILE = /^[A-Za-z][A-Za-z0-9-]{0,31}$/;
|
|
8
8
|
const SESSION = /^[A-Za-z0-9_.:-]{1,128}$/;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as HttpError } from "./errors-
|
|
2
|
-
import { o as vercelLogin, r as environmentProfile, s as vercelProjectFile } from "./node-
|
|
3
|
-
import { t as createVercel } from "./backend-vercel-
|
|
1
|
+
import { t as HttpError } from "./errors-CusN4x2l.mjs";
|
|
2
|
+
import { o as vercelLogin, r as environmentProfile, s as vercelProjectFile } from "./node-Bkd1x0QI.mjs";
|
|
3
|
+
import { t as createVercel } from "./backend-vercel-BhwPExmE.mjs";
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
5
|
import { decodeJwt } from "jose";
|
|
6
6
|
import { getVercelOidcToken } from "@vercel/oidc";
|
|
@@ -15,7 +15,10 @@ async function token() {
|
|
|
15
15
|
if (process.env.VERCEL_TOKEN) return process.env.VERCEL_TOKEN;
|
|
16
16
|
if (deployed()) return getVercelOidcToken();
|
|
17
17
|
return vercelLogin().catch(() => {
|
|
18
|
-
throw new HttpError(401, "not_logged_in", "not
|
|
18
|
+
throw new HttpError(401, "not_logged_in", "You're not logged in to Vercel.", {
|
|
19
|
+
hint: "Run vercel login.",
|
|
20
|
+
origin: "handle"
|
|
21
|
+
});
|
|
19
22
|
});
|
|
20
23
|
}
|
|
21
24
|
/** Where `token` comes from, in words: what `vb whoami` says. */
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-DmXjVnil.mjs";
|
|
1
|
+
import { t as Actor, x as Attachment } from "./folds-jS9wlh9_.mjs";
|
|
2
|
+
import { A as InboxItem, B as Me, D as IdentityView, Ft as ThreadView, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, K as PersonView, Nt as SyncedView, R as MatchView, S as EventsPage, St as SyncCopiesView, Tt as SyncFindView, V as MessageView, b as Discovery, bt as SyncCodeView, dt as SourceJoin, et as RegistrationView, jt as SyncThreadView, k as InboxEntry, mt as SourceRead, o as ProfileOption, ot as ScheduleView, v as ChannelView } from "./client-xLxeDz0f.mjs";
|
|
3
|
+
import { i as Caller, n as BackendRoute, r as BoardBinding } from "./backend-ZKYTe3xa.mjs";
|
|
5
4
|
//#region src/server/backend-vercel.d.ts
|
|
6
5
|
type VercelOptions = {
|
|
7
6
|
/** The team whose board it is: its ID (`team_…`) or its slug. In Node, by default your deployment's, or `VERCEL_ORG_ID`. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as VercelOptions, t as VercelBackend } from "./backend-vercel-
|
|
1
|
+
import { n as VercelOptions, t as VercelBackend } from "./backend-vercel-CIRObA0t.mjs";
|
|
2
2
|
//#region src/backend-vercel/index.default.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Your team's board, in Vercel's API. Outside Node there's no environment to find credentials or
|
package/dist/backend-vercel.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createVercel } from "./backend-vercel-
|
|
1
|
+
import { t as createVercel } from "./backend-vercel-BhwPExmE.mjs";
|
|
2
2
|
//#region src/backend-vercel/index.default.ts
|
|
3
3
|
/**
|
|
4
4
|
* Your team's board, in Vercel's API. Outside Node there's no environment to find credentials or
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as VercelOptions, t as VercelBackend } from "./backend-vercel-
|
|
1
|
+
import { n as VercelOptions, t as VercelBackend } from "./backend-vercel-CIRObA0t.mjs";
|
|
2
2
|
//#region src/backend-vercel/index.d.ts
|
|
3
3
|
/** Where `token` comes from, in words: what `vb whoami` says. */
|
|
4
4
|
export declare function credentialSource(): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as vercel, t as credentialSource } from "./backend-vercel-
|
|
1
|
+
import { n as vercel, t as credentialSource } from "./backend-vercel-Bqg2QfTd.mjs";
|
|
2
2
|
export { credentialSource, vercel };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as ExternalFile, f as ExternalLink, l as ExternalAuthor, t as Actor } from "./folds-
|
|
2
|
-
import {
|
|
1
|
+
import { d as ExternalFile, f as ExternalLink, l as ExternalAuthor, t as Actor } from "./folds-jS9wlh9_.mjs";
|
|
2
|
+
import { dt as SourceJoin, mt as SourceRead } from "./client-xLxeDz0f.mjs";
|
|
3
|
+
import { M as SyncRoot, O as ProviderEvent, a as ProviderOptions, c as ReceivedEvent, d as ResolvedTarget, i as ProviderFile, n as FileDelivery, o as ProviderPost, p as SyncProvider, r as ProviderDelivery, s as Receive, t as FetchedLink, y as SyncFn } from "./provider-Cdg1qadh.mjs";
|
|
3
4
|
import { Adapter, Author, FileUpload, Message, ReactionEvent } from "chat";
|
|
4
5
|
//#region src/sync/types.d.ts
|
|
5
6
|
declare function externalAuthor(platform: string, author: Author): ExternalAuthor;
|
package/dist/cli-embedded.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { d as Board } from "./backend-
|
|
2
|
-
import "./index-
|
|
1
|
+
import { d as Board } from "./backend-ZKYTe3xa.mjs";
|
|
2
|
+
import "./index-C05it0mC.mjs";
|
|
3
3
|
//#region src/cli/failure.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* What kind of failure it is, which fixes the exit code: 2 for `usage` and `missing_input`, 124
|
package/dist/cli-embedded.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as commandLine, c as failureLines, i as mainWith, l as formatFailure, n as commandWord, o as exitCode, r as main, s as failureDocument, t as Failed } from "./main-
|
|
1
|
+
import { a as commandLine, c as failureLines, i as mainWith, l as formatFailure, n as commandWord, o as exitCode, r as main, s as failureDocument, t as Failed } from "./main-DOhNCWMd.mjs";
|
|
2
2
|
//#region src/cli/embedded.ts
|
|
3
3
|
/**
|
|
4
4
|
* Board's CLI as `appName` names it in help, usage, and errors (`vercel board`). With no board
|
package/dist/cli.mjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { t as ATTACHMENT_BYTES_MAX } from "./files-SniSmeEr.mjs";
|
|
3
3
|
import "./schemas-Be08nyfW.mjs";
|
|
4
4
|
import { a as option } from "./commands-BtL4jFq8.mjs";
|
|
5
|
-
import { a as projectDir } from "./node-
|
|
6
|
-
import { r as main, u as who } from "./main-
|
|
5
|
+
import { a as projectDir } from "./node-Bkd1x0QI.mjs";
|
|
6
|
+
import { r as main, u as who } from "./main-DOhNCWMd.mjs";
|
|
7
7
|
import { randomBytes, timingSafeEqual } from "node:crypto";
|
|
8
8
|
import { appendFile, readFile } from "node:fs/promises";
|
|
9
9
|
import { join } from "node:path";
|
|
@@ -661,7 +661,7 @@ const local = {
|
|
|
661
661
|
if (args.length > 0) throw usage("serve takes no arguments: pass its port with --port, and its directory with --dir.");
|
|
662
662
|
const port = portFlag();
|
|
663
663
|
const root = projectDir();
|
|
664
|
-
const { localHandle, serveLocal } = await import("./serve-
|
|
664
|
+
const { localHandle, serveLocal } = await import("./serve-D2O0C6Kk.mjs");
|
|
665
665
|
const handle = flags.handle ?? process.env.BOARD_HANDLE;
|
|
666
666
|
const local = await serveLocal({
|
|
667
667
|
dir: flags.dir ?? join(root, ".board"),
|
|
@@ -40,21 +40,30 @@ async function* parseSse(body, signal) {
|
|
|
40
40
|
//#endregion
|
|
41
41
|
//#region src/client/client.ts
|
|
42
42
|
/**
|
|
43
|
-
* What went wrong: `message` says what and why, `code` is what to branch on,
|
|
44
|
-
*
|
|
43
|
+
* What went wrong: `message` says what and why, `code` is what to branch on, `hint`, when there's
|
|
44
|
+
* one, what fixes it, and `origin` who said so. Trust a `board` one's message and hint as you would
|
|
45
|
+
* the board.
|
|
45
46
|
*/
|
|
46
47
|
var BoardError = class extends Error {
|
|
47
48
|
code;
|
|
48
49
|
status;
|
|
49
50
|
hint;
|
|
51
|
+
origin;
|
|
50
52
|
constructor(code, message, status, options = {}) {
|
|
51
53
|
super(message);
|
|
52
54
|
this.name = "BoardError";
|
|
53
55
|
this.code = code;
|
|
54
56
|
this.status = status;
|
|
55
57
|
this.hint = options.hint;
|
|
58
|
+
this.origin = options.origin ?? "handle";
|
|
56
59
|
}
|
|
57
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* The responses, made in this process, that carry an error the handle raised: a handle's request
|
|
63
|
+
* to a board in this process keeps its errors the handle's on the way back. Nothing a board sends
|
|
64
|
+
* can be one.
|
|
65
|
+
*/
|
|
66
|
+
const handleErrors = /* @__PURE__ */ new WeakSet();
|
|
58
67
|
const resolve = async (value) => typeof value === "function" ? await value() : value;
|
|
59
68
|
const scheduleBody = (input) => {
|
|
60
69
|
const { at, until, ...rest } = messageBody(input);
|
|
@@ -388,9 +397,12 @@ function createBoardClient(options) {
|
|
|
388
397
|
async function toError(response) {
|
|
389
398
|
try {
|
|
390
399
|
const body = await response.json();
|
|
391
|
-
if (body.error?.message) return new BoardError(body.error.code ?? "error", body.error.message, response.status,
|
|
400
|
+
if (body.error?.message) return new BoardError(body.error.code ?? "error", body.error.message, response.status, {
|
|
401
|
+
...typeof body.error.hint === "string" ? { hint: body.error.hint } : {},
|
|
402
|
+
origin: handleErrors.has(response) ? "handle" : "board"
|
|
403
|
+
});
|
|
392
404
|
} catch {}
|
|
393
405
|
return new BoardError("http_error", `The board answered ${`${response.status} ${response.statusText}`.trim()}.`, response.status);
|
|
394
406
|
}
|
|
395
407
|
//#endregion
|
|
396
|
-
export { createBoardClient as n, duration as r, BoardError as t };
|
|
408
|
+
export { handleErrors as i, createBoardClient as n, duration as r, BoardError as t };
|