@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.
Files changed (72) hide show
  1. package/dist/{a2-CQ3WcqMv.mjs → a2-A830f5NS.mjs} +6 -6
  2. package/dist/access.d.mts +1 -2
  3. package/dist/access.mjs +3 -3
  4. package/dist/{actors-CDDhhFNY.mjs → actors-BLXVp4oZ.mjs} +2 -2
  5. package/dist/{auth-BwWH3Twu.mjs → auth-lTkOgvcE.mjs} +1 -1
  6. package/dist/{backend-DmXjVnil.d.mts → backend-ZKYTe3xa.d.mts} +5 -15
  7. package/dist/backend-a2/blob-vercel.d.mts +1 -1
  8. package/dist/backend-a2/contract.d.mts +1 -2
  9. package/dist/backend-a2/store-memory.d.mts +1 -1
  10. package/dist/backend-a2/store-postgres.d.mts +1 -1
  11. package/dist/backend-a2/store-redis-http.d.mts +1 -1
  12. package/dist/backend-a2/store-redis.d.mts +1 -1
  13. package/dist/backend-a2/store-sqlite.d.mts +1 -1
  14. package/dist/backend-a2.d.mts +5 -6
  15. package/dist/backend-a2.mjs +1 -1
  16. package/dist/{backend-http-Cs-UKpYp.mjs → backend-http-CJd4Fu0U.mjs} +2 -2
  17. package/dist/{backend-http-BJ7AdK0c.mjs → backend-http-CYtfwqAW.mjs} +8 -5
  18. package/dist/{backend-http-BsP0Xq9e.d.mts → backend-http-E7YU0qhn.d.mts} +3 -4
  19. package/dist/backend-http.d.mts +1 -1
  20. package/dist/backend-http.mjs +1 -1
  21. package/dist/backend-http.node.d.mts +1 -1
  22. package/dist/backend-http.node.mjs +1 -1
  23. package/dist/{backend-vercel-CG2SYa03.mjs → backend-vercel-BhwPExmE.mjs} +3 -3
  24. package/dist/{backend-vercel-B0Q0K0O5.mjs → backend-vercel-Bqg2QfTd.mjs} +7 -4
  25. package/dist/{backend-vercel-CED673bx.d.mts → backend-vercel-CIRObA0t.d.mts} +3 -4
  26. package/dist/backend-vercel.d.mts +1 -1
  27. package/dist/backend-vercel.mjs +1 -1
  28. package/dist/backend-vercel.node.d.mts +1 -1
  29. package/dist/backend-vercel.node.mjs +1 -1
  30. package/dist/{blob-C0J3wbGv.d.mts → blob-B-9AvYis.d.mts} +2 -1
  31. package/dist/{chat-provider-6eYkL2ef.d.mts → chat-provider-DsNEBQiA.d.mts} +3 -2
  32. package/dist/cli-embedded.d.mts +2 -2
  33. package/dist/cli-embedded.mjs +1 -1
  34. package/dist/cli.mjs +3 -3
  35. package/dist/{client-BY-BCggB.mjs → client-D0Px7KzF.mjs} +16 -4
  36. package/dist/{provider-C_sj4-GL.d.mts → client-xLxeDz0f.d.mts} +13 -689
  37. package/dist/{conformance-BZ53bxrG.mjs → conformance-DlnfuzEB.mjs} +1 -1
  38. package/dist/conformance.d.mts +1 -1
  39. package/dist/conformance.mjs +1 -1
  40. package/dist/{engine-SeaJ_CIY.mjs → engine-ROa7-IQY.mjs} +2 -2
  41. package/dist/errors-CB4tnZGz.d.mts +16 -0
  42. package/dist/{errors-Bven0k29.mjs → errors-CusN4x2l.mjs} +14 -6
  43. package/dist/exports-D22M68rk.d.mts +5 -0
  44. package/dist/{exports-ByvYtxFT.mjs → exports-DCqgO_mr.mjs} +6 -6
  45. package/dist/{folds-CRYY14kc.d.mts → folds-jS9wlh9_.d.mts} +49 -2
  46. package/dist/{index-k2LfZxl-.d.mts → index-C05it0mC.d.mts} +2 -2
  47. package/dist/index.d.mts +5 -4
  48. package/dist/{index.default-DmfhBZZi.mjs → index.default-BejExznB.mjs} +1 -1
  49. package/dist/index.mjs +6 -6
  50. package/dist/index.node.d.mts +5 -4
  51. package/dist/index.node.mjs +4 -4
  52. package/dist/inspect/app.js +108 -108
  53. package/dist/{main-BNkywL2P.mjs → main-DOhNCWMd.mjs} +70 -65
  54. package/dist/{middleware-B0J7QBq7.mjs → middleware-ChKM1zuu.mjs} +1 -1
  55. package/dist/{node-C51_xzCb.mjs → node-Bkd1x0QI.mjs} +37 -9
  56. package/dist/provider-Cdg1qadh.d.mts +688 -0
  57. package/dist/{serve-DYQ64Q5R.mjs → serve-D2O0C6Kk.mjs} +5 -5
  58. package/dist/{server-BgK1sgj7.mjs → server-BF4WJ7qi.mjs} +4 -4
  59. package/dist/{serving-rXQcEgTO.mjs → serving-CvOWEym2.mjs} +1 -1
  60. package/dist/sync-github.d.mts +2 -2
  61. package/dist/sync-kapso.d.mts +2 -2
  62. package/dist/sync-linear.d.mts +2 -2
  63. package/dist/sync-slack.d.mts +3 -3
  64. package/dist/sync.chat.d.mts +1 -1
  65. package/dist/sync.d.mts +2 -2
  66. package/dist/{tokens-U-XRlEfq.mjs → tokens-BuCU-61R.mjs} +2 -2
  67. package/dist/{types-8yq2VnKI.d.mts → types-aCAf6lGU.d.mts} +1 -1
  68. package/dist/{watchers-hash-C4CJg7K1.mjs → watchers-hash-BHNXy_N7.mjs} +2 -2
  69. package/docs/04-reference/02-board.md +6 -2
  70. package/package.json +1 -1
  71. package/dist/exports-CPrIkpz3.d.mts +0 -4
  72. package/dist/schemas-CWxs3ECJ.d.mts +0 -50
@@ -1,5 +1,5 @@
1
- import { t as createBoard } from "./exports-ByvYtxFT.mjs";
2
- import { t as http } from "./backend-http-Cs-UKpYp.mjs";
1
+ import { t as createBoard } from "./exports-DCqgO_mr.mjs";
2
+ import { t as http } from "./backend-http-CJd4Fu0U.mjs";
3
3
  //#region src/server/index.ts
4
4
  /**
5
5
  * The handle on a board. With a `backend`, the board lives there: `a2()` keeps it in this
@@ -9,8 +9,8 @@ import { t as http } from "./backend-http-Cs-UKpYp.mjs";
9
9
  function board(options = {}) {
10
10
  return createBoard(options, {
11
11
  http: () => http(),
12
- sync: () => import("./engine-SeaJ_CIY.mjs"),
13
- serving: () => import("./serving-rXQcEgTO.mjs")
12
+ sync: () => import("./engine-ROa7-IQY.mjs"),
13
+ serving: () => import("./serving-CvOWEym2.mjs")
14
14
  });
15
15
  }
16
16
  //#endregion
@@ -1,2 +1,2 @@
1
- import { i as ownTeamId, n as discoveryIdentity, r as ownProjectId, t as oidcTokens } from "./tokens-U-XRlEfq.mjs";
1
+ import { i as ownTeamId, n as discoveryIdentity, r as ownProjectId, t as oidcTokens } from "./tokens-BuCU-61R.mjs";
2
2
  export { discoveryIdentity, oidcTokens, ownProjectId, ownTeamId };
@@ -1,5 +1,5 @@
1
- import { S as SyncUnit, _ as withUserTokens, d as ResolvedTarget, f as SyncContext, h as UserTokens, o as ProviderPost, r as ProviderDelivery, y as SyncFn } from "./provider-C_sj4-GL.mjs";
2
- import { n as ChatSyncProvider } from "./chat-provider-6eYkL2ef.mjs";
1
+ import { S as SyncUnit, _ as withUserTokens, d as ResolvedTarget, f as SyncContext, h as UserTokens, o as ProviderPost, r as ProviderDelivery, y as SyncFn } from "./provider-Cdg1qadh.mjs";
2
+ import { n as ChatSyncProvider } from "./chat-provider-DsNEBQiA.mjs";
3
3
  import { z } from "zod";
4
4
  import { Adapter } from "chat";
5
5
  //#region src/sync/github.d.ts
@@ -1,5 +1,5 @@
1
- import { S as SyncUnit, f as SyncContext, y as SyncFn } from "./provider-C_sj4-GL.mjs";
2
- import { n as ChatSyncProvider, t as ChatInput } from "./chat-provider-6eYkL2ef.mjs";
1
+ import { S as SyncUnit, f as SyncContext, y as SyncFn } from "./provider-Cdg1qadh.mjs";
2
+ import { n as ChatSyncProvider, t as ChatInput } from "./chat-provider-DsNEBQiA.mjs";
3
3
  import { z } from "zod";
4
4
  import { Adapter } from "chat";
5
5
  //#region src/sync/kapso.d.ts
@@ -1,5 +1,5 @@
1
- import { S as SyncUnit, c as ReceivedEvent, d as ResolvedTarget, f as SyncContext, o as ProviderPost, r as ProviderDelivery, y as SyncFn } from "./provider-C_sj4-GL.mjs";
2
- import { n as ChatSyncProvider, t as ChatInput } from "./chat-provider-6eYkL2ef.mjs";
1
+ import { S as SyncUnit, c as ReceivedEvent, d as ResolvedTarget, f as SyncContext, o as ProviderPost, r as ProviderDelivery, y as SyncFn } from "./provider-Cdg1qadh.mjs";
2
+ import { n as ChatSyncProvider, t as ChatInput } from "./chat-provider-DsNEBQiA.mjs";
3
3
  import { z } from "zod";
4
4
  import { Adapter } from "chat";
5
5
  //#region src/sync/linear.d.ts
@@ -1,6 +1,6 @@
1
- import { f as ExternalLink } from "./folds-CRYY14kc.mjs";
2
- import { C as channels, _ as withUserTokens, d as ResolvedTarget, f as SyncContext, h as UserTokens, o as ProviderPost, r as ProviderDelivery, y as SyncFn } from "./provider-C_sj4-GL.mjs";
3
- import { n as ChatSyncProvider, t as ChatInput } from "./chat-provider-6eYkL2ef.mjs";
1
+ import { f as ExternalLink } from "./folds-jS9wlh9_.mjs";
2
+ import { C as channels, _ as withUserTokens, d as ResolvedTarget, f as SyncContext, h as UserTokens, o as ProviderPost, r as ProviderDelivery, y as SyncFn } from "./provider-Cdg1qadh.mjs";
3
+ import { n as ChatSyncProvider, t as ChatInput } from "./chat-provider-DsNEBQiA.mjs";
4
4
  import { z } from "zod";
5
5
  import { Adapter } from "chat";
6
6
  //#region src/sync/slack.d.ts
@@ -1,2 +1,2 @@
1
- import { i as externalAuthor, n as ChatSyncProvider, r as ChatTransport, t as ChatInput } from "./chat-provider-6eYkL2ef.mjs";
1
+ import { i as externalAuthor, n as ChatSyncProvider, r as ChatTransport, t as ChatInput } from "./chat-provider-DsNEBQiA.mjs";
2
2
  export { ChatInput, ChatSyncProvider, ChatTransport, externalAuthor };
package/dist/sync.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { d as ExternalFile, l as ExternalAuthor, u as ExternalEvent } from "./folds-CRYY14kc.mjs";
2
- import { A as SyncOverrides, C as channels, D as EventBase, E as render, M as SyncRoot, N as envelope, O as ProviderEvent, P as eventSchema, S as SyncUnit, T as mirror, _ as withUserTokens, a as ProviderOptions, b as SyncIn, c as ReceivedEvent, d as ResolvedTarget, f as SyncContext, g as connectUserTokens, h as UserTokens, i as ProviderFile, j as SyncResult, k as RootOverride, l as RenderInput, m as UnreadableError, n as FileDelivery, o as ProviderPost, p as SyncProvider, r as ProviderDelivery, s as Receive, u as Renderer, v as Sync, w as into, x as SyncOut, y as SyncFn } from "./provider-C_sj4-GL.mjs";
1
+ import { d as ExternalFile, l as ExternalAuthor, u as ExternalEvent } from "./folds-jS9wlh9_.mjs";
2
+ import { A as SyncOverrides, C as channels, D as EventBase, E as render, M as SyncRoot, N as envelope, O as ProviderEvent, P as eventSchema, S as SyncUnit, T as mirror, _ as withUserTokens, a as ProviderOptions, b as SyncIn, c as ReceivedEvent, d as ResolvedTarget, f as SyncContext, g as connectUserTokens, h as UserTokens, i as ProviderFile, j as SyncResult, k as RootOverride, l as RenderInput, m as UnreadableError, n as FileDelivery, o as ProviderPost, p as SyncProvider, r as ProviderDelivery, s as Receive, u as Renderer, v as Sync, w as into, x as SyncOut, y as SyncFn } from "./provider-Cdg1qadh.mjs";
3
3
  export { EventBase, type ExternalAuthor, ExternalEvent, type ExternalFile, type FileDelivery, type ProviderDelivery, type ProviderEvent, type ProviderFile, type ProviderOptions, type ProviderPost, type Receive, ReceivedEvent, type RenderInput, type Renderer, ResolvedTarget, type RootOverride, type Sync, type SyncContext, type SyncFn, type SyncIn, type SyncOut, SyncOverrides, SyncProvider, type SyncResult, type SyncRoot, type SyncUnit, UnreadableError, type UserTokens, channels, connectUserTokens, envelope, eventSchema, into, mirror, render, withUserTokens };
@@ -1,5 +1,5 @@
1
- import { l as unauthorized } from "./errors-Bven0k29.mjs";
2
- import { f as markVerified, m as trustedIssuers, n as TOKENS, r as VERCEL_ISSUER, u as issuerName } from "./auth-BwWH3Twu.mjs";
1
+ import { l as unauthorized } from "./errors-CusN4x2l.mjs";
2
+ import { f as markVerified, m as trustedIssuers, n as TOKENS, r as VERCEL_ISSUER, u as issuerName } from "./auth-lTkOgvcE.mjs";
3
3
  import { createRemoteJWKSet, decodeJwt, jwtVerify } from "jose";
4
4
  //#region src/server/identity.ts
5
5
  let fromDisk;
@@ -1,4 +1,4 @@
1
- import { a as ExternalCopy, c as SyncedThread, g as BoardEvent, o as Message } from "./folds-CRYY14kc.mjs";
1
+ import { a as ExternalCopy, c as SyncedThread, g as BoardEvent, o as Message } from "./folds-jS9wlh9_.mjs";
2
2
  import { t as A2Store } from "./store-D0MhBvg6-4Z2L0Kqd.mjs";
3
3
  //#region src/store/types.d.ts
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  import { n as DIRECT_UPLOAD_BYTES_MAX, t as ATTACHMENT_BYTES_MAX } from "./files-SniSmeEr.mjs";
2
2
  import { S as storable, a as AttachmentId, c as ChannelPath, d as LabelKey, g as MessageText, l as Emoji, m as MESSAGE_TEXT_MAX, n as ActorId, p as Labels, x as platformAvatar } from "./schemas-Be08nyfW.mjs";
3
3
  import { a as Link, i as ExternalTarget, n as ExternalEvent, o as Origin, t as ExternalAuthor } from "./external-BV_cUncs.mjs";
4
- import { r as badRequest, t as HttpError } from "./errors-Bven0k29.mjs";
4
+ import { r as badRequest, t as HttpError } from "./errors-CusN4x2l.mjs";
5
5
  import { o as options } from "./commands-BtL4jFq8.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/api/routes.ts
@@ -662,7 +662,7 @@ const routes = {
662
662
  const SYNC = "@sync";
663
663
  //#endregion
664
664
  //#region src/version.ts
665
- const VERSION = "0.25.0";
665
+ const VERSION = "0.25.1";
666
666
  //#endregion
667
667
  //#region src/server/routing.ts
668
668
  /** board()'s own routes: the files it serves, and sync's, which run where board() does. */
@@ -516,8 +516,11 @@ which only the handle reaches. A handle on `http()` finds the board it uses in
516
516
  ## Errors
517
517
 
518
518
  A failed request throws a `BoardError` with the board's `code`, its
519
- `message`, the HTTP `status`, and, when the handle or the board knows what
520
- fixes it, a `hint` (`Run vercel login.`).
519
+ `message`, the HTTP `status`, and, when there's one, a `hint` for what fixes
520
+ it (`Run vercel login.`). `origin` says who said so: `handle` for what the
521
+ handle raised itself, such as no Vercel login, and `board` for a board's
522
+ answer, whose message and hint are its own words whatever code it names, so
523
+ trust them as you'd trust that board.
521
524
 
522
525
  ```ts
523
526
  // anywhere in Node:
@@ -552,6 +555,7 @@ fails with the status its URL answered, or 502.
552
555
  | `ambiguous_agent` | the environment shows several coding agents at once: `as(null)` acts as yourself |
553
556
  | `invalid_duration` | a `timeout` the handle can't read |
554
557
  | `too_many_redirects` | the board's URL redirects more than 20 times |
558
+ | `redirected` | the board's URL redirects to another origin, where none of its credentials follow, and Deployment Protection there turns it away: use the URL it redirects to |
555
559
 
556
560
  An answer that isn't the board's JSON error becomes `remote_error`, with
557
561
  status 502. The board's own codes are in the [HTTP API](./03-http.md#errors).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/board",
3
- "version": "0.25.0",
3
+ "version": "0.25.1",
4
4
  "description": "A message board you mount in one route: one durable log, verified authors, live tail, and two-way sync.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,4 +0,0 @@
1
- import "./auth-CU56Q2Xh.mjs";
2
- import "./schemas-CWxs3ECJ.mjs";
3
- import "./provider-C_sj4-GL.mjs";
4
- import "./backend-DmXjVnil.mjs";
@@ -1,50 +0,0 @@
1
- import { z } from "zod";
2
- //#region src/contract/schemas.d.ts
3
- declare const CHANNEL_PATH_MAX = 80;
4
- declare const MESSAGE_TEXT_MAX = 10000;
5
- declare const ATTACHMENTS_PER_MESSAGE_MAX = 10;
6
- /** `errors-www`, `www/production`: lowercase segments joined by `/`. */
7
- declare const ChannelPath: z.ZodString;
8
- declare const MessageText: z.ZodString;
9
- /** A message is named by the log index of its `message.posted` event. */
10
- declare const MessageId: z.ZodNumber;
11
- declare const LabelKey: z.ZodString;
12
- declare const LabelValue: z.ZodString;
13
- declare const Labels: z.ZodRecord<z.ZodString, z.ZodString>;
14
- /** Normalized short names, as Chat SDK names them: `eyes`, `check`, `thumbs_up`. */
15
- declare const Emoji: z.ZodString;
16
- /** `vercel:user:u_abc123`, or `vercel:user:u_abc123+claude` for a profile. */
17
- declare const ActorId: z.ZodString;
18
- /** What an actor is: a `person`, an `agent` acting for a principal (`--as claude`), a deployment, a workflow, or a platform user (`external`). */
19
- declare const ActorKind: z.ZodEnum<{
20
- agent: "agent";
21
- deployment: "deployment";
22
- external: "external";
23
- person: "person";
24
- workflow: "workflow";
25
- }>;
26
- declare const Handle: z.ZodString;
27
- declare const Author: z.ZodObject<{
28
- actor: z.ZodString;
29
- principal: z.ZodString;
30
- profile: z.ZodNullable<z.ZodString>;
31
- session: z.ZodNullable<z.ZodString>;
32
- }, z.core.$strip>;
33
- /** 128 random bits, base64url: an attachment is named by an ID nobody can guess. */
34
- declare const AttachmentId: z.ZodString;
35
- /** A file on a message. The board records `type` and `size` from what it stored, never from the request. */
36
- declare const Attachment: z.ZodObject<{
37
- id: z.ZodString;
38
- name: z.ZodString;
39
- type: z.ZodString;
40
- size: z.ZodNumber;
41
- }, z.core.$strip>;
42
- type ChannelPath = z.infer<typeof ChannelPath>;
43
- type MessageId = z.infer<typeof MessageId>;
44
- type Labels = z.infer<typeof Labels>;
45
- type ActorId = z.infer<typeof ActorId>;
46
- type ActorKind = z.infer<typeof ActorKind>;
47
- type Author = z.infer<typeof Author>;
48
- type Attachment = z.infer<typeof Attachment>;
49
- //#endregion
50
- export { AttachmentId as a, ChannelPath as c, LabelKey as d, LabelValue as f, MessageText as g, MessageId as h, Attachment as i, Emoji as l, MESSAGE_TEXT_MAX as m, ActorId as n, Author as o, Labels as p, ActorKind as r, CHANNEL_PATH_MAX as s, ATTACHMENTS_PER_MESSAGE_MAX as t, Handle as u };