@vercel/board 0.27.0 → 0.29.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 (98) hide show
  1. package/dist/{a2-B8P8hjOT.mjs → a2-HUbQJ0RD.mjs} +16 -192
  2. package/dist/access.d.mts +1 -1
  3. package/dist/access.mjs +3 -3
  4. package/dist/{actors-BLXVp4oZ.mjs → actors-DcJhFbwJ.mjs} +2 -2
  5. package/dist/{auth-lTkOgvcE.mjs → auth-JO22iIwr.mjs} +1 -1
  6. package/dist/{backend-ZKYTe3xa.d.mts → backend-CPC_vyOo.d.mts} +5 -5
  7. package/dist/backend-a2/blob-vercel.d.mts +1 -1
  8. package/dist/backend-a2/contract.d.mts +1 -1
  9. package/dist/backend-a2/contract.mjs +3 -3
  10. package/dist/backend-a2/store-memory.d.mts +1 -1
  11. package/dist/backend-a2/store-memory.mjs +2 -2
  12. package/dist/backend-a2/store-postgres.d.mts +1 -1
  13. package/dist/backend-a2/store-postgres.mjs +1 -1
  14. package/dist/backend-a2/store-redis-http.d.mts +1 -1
  15. package/dist/backend-a2/store-redis-http.mjs +1 -1
  16. package/dist/backend-a2/store-redis.d.mts +1 -1
  17. package/dist/backend-a2/store-redis.mjs +1 -1
  18. package/dist/backend-a2/store-sqlite.d.mts +1 -1
  19. package/dist/backend-a2/store-sqlite.mjs +2 -2
  20. package/dist/backend-a2.d.mts +8 -5
  21. package/dist/backend-a2.mjs +2 -1
  22. package/dist/{backend-http-nppEk8gC.mjs → backend-http-Bmp0IgD3.mjs} +2 -2
  23. package/dist/{backend-http-E7YU0qhn.d.mts → backend-http-CqfKhrnn.d.mts} +5 -3
  24. package/dist/{backend-http-DEMvX2ht.mjs → backend-http-CzIJMm58.mjs} +3 -3
  25. package/dist/backend-http.d.mts +1 -1
  26. package/dist/backend-http.mjs +1 -1
  27. package/dist/backend-http.node.d.mts +1 -1
  28. package/dist/backend-http.node.mjs +1 -1
  29. package/dist/{backend-vercel-CIRObA0t.d.mts → backend-vercel-4tvcPKqX.d.mts} +7 -3
  30. package/dist/{backend-vercel-K5rDrMxZ.mjs → backend-vercel-BNauAs7w.mjs} +68 -10
  31. package/dist/{backend-vercel-CnViBZYT.mjs → backend-vercel-DQc_TaHp.mjs} +5 -3
  32. package/dist/backend-vercel.d.mts +1 -1
  33. package/dist/backend-vercel.mjs +1 -1
  34. package/dist/backend-vercel.node.d.mts +1 -1
  35. package/dist/backend-vercel.node.mjs +1 -1
  36. package/dist/blob-DdbpJqN1.mjs +182 -0
  37. package/dist/{blob-B-9AvYis.d.mts → blob-DmiQjrYy.d.mts} +2 -2
  38. package/dist/{chat-provider-DsNEBQiA.d.mts → chat-provider-BWHbChcQ.d.mts} +5 -3
  39. package/dist/{chat-provider-DnHibqnM.mjs → chat-provider-COtsU5jB.mjs} +2 -2
  40. package/dist/cli-commands.mjs +1 -1
  41. package/dist/cli-embedded.d.mts +5 -3
  42. package/dist/cli-embedded.mjs +6 -4
  43. package/dist/cli.mjs +5 -5
  44. package/dist/{client-xLxeDz0f.d.mts → client-BqAjk0Q4.d.mts} +8 -1
  45. package/dist/{commands-BFookFtn.mjs → commands-C3R1AWgm.mjs} +4 -1
  46. package/dist/conformance.d.mts +1 -1
  47. package/dist/{engine-Bfe6pcXb.mjs → engine-DQxXk7dX.mjs} +20 -12
  48. package/dist/{errors-CB4tnZGz.d.mts → errors-DDktVeUa.d.mts} +1 -1
  49. package/dist/{events-CewD4kw7.mjs → events-qf5XG5VQ.mjs} +2 -2
  50. package/dist/{exports-uiRQD2-i.mjs → exports-BG-0Wyn-.mjs} +9 -9
  51. package/dist/exports-mhAYiU4i.d.mts +5 -0
  52. package/dist/{external-BV_cUncs.mjs → external-D3p5T57R.mjs} +4 -2
  53. package/dist/{folds-Dyjput8M.mjs → folds-BDMSxBUf.mjs} +2 -2
  54. package/dist/{folds-jS9wlh9_.d.mts → folds-ZkHM4M-v.d.mts} +2 -0
  55. package/dist/{index-C05it0mC.d.mts → index-D3VvNfh_.d.mts} +2 -2
  56. package/dist/index.d.mts +5 -5
  57. package/dist/{index.default-RaGMBzNu.mjs → index.default-rB8sJ9RX.mjs} +1 -1
  58. package/dist/index.mjs +4 -4
  59. package/dist/index.node.d.mts +5 -5
  60. package/dist/index.node.mjs +2 -2
  61. package/dist/inspect/app.js +3 -3
  62. package/dist/inspect/engine.js +5 -5
  63. package/dist/{main-CRHQQFgN.mjs → main-CVBqe3VO.mjs} +14 -9
  64. package/dist/{middleware-ChKM1zuu.mjs → middleware-CXjEeef4.mjs} +1 -1
  65. package/dist/{node-Ybi9E6bO.mjs → node-Zd_C-gxP.mjs} +34 -17
  66. package/dist/{project-DMDST9kl.mjs → project-CBXlLftU.mjs} +1 -1
  67. package/dist/{provider-poIkXapd.mjs → provider-BaVmi4Hi.mjs} +3 -1
  68. package/dist/{provider-Cdg1qadh.d.mts → provider-DmSTp9lI.d.mts} +9 -2
  69. package/dist/{redis-tables-DN9PfIDi.mjs → redis-tables-BJQVUspu.mjs} +2 -2
  70. package/dist/{reducers-BcmSs4qf.mjs → reducers-DJzVpXwM.mjs} +3 -3
  71. package/dist/{schemas-Be08nyfW.mjs → schemas-DBmUO6pr.mjs} +2 -1
  72. package/dist/{serve-BsbHOJFN.mjs → serve-G9RuaDSr.mjs} +5 -4
  73. package/dist/{server-C0DVYiHm.mjs → server-BixV_byP.mjs} +4 -4
  74. package/dist/{serving-CvOWEym2.mjs → serving-B75Y4BF-.mjs} +1 -1
  75. package/dist/{sql-U9WTxrwJ.mjs → sql-D4Z_efJX.mjs} +2 -2
  76. package/dist/{sqlite-db-Ds4majtT.mjs → sqlite-db-Bz2JkfCU.mjs} +1 -1
  77. package/dist/sync-github.d.mts +4 -2
  78. package/dist/sync-github.mjs +4 -14
  79. package/dist/sync-kapso.d.mts +3 -2
  80. package/dist/sync-kapso.mjs +3 -3
  81. package/dist/sync-linear.d.mts +12 -2
  82. package/dist/sync-linear.mjs +189 -9
  83. package/dist/sync-slack.d.mts +41 -5
  84. package/dist/sync-slack.mjs +70 -11
  85. package/dist/sync.chat.d.mts +1 -1
  86. package/dist/sync.chat.mjs +1 -1
  87. package/dist/sync.d.mts +2 -2
  88. package/dist/sync.mjs +3 -3
  89. package/dist/tags-BpFo6q0_.mjs +14 -0
  90. package/dist/{targets-C-wdR5wP.mjs → targets-Cgjs29T0.mjs} +1 -1
  91. package/dist/{tokens-BuCU-61R.mjs → tokens-CC3izSNr.mjs} +1 -1
  92. package/dist/{types-aCAf6lGU.d.mts → types-No0WdhE5.d.mts} +1 -1
  93. package/dist/{watchers-hash-qSMYlljN.mjs → watchers-hash-BDhLVkV5.mjs} +7 -5
  94. package/docs/02-sync/03-slack.md +6 -2
  95. package/docs/02-sync/07-linear.md +28 -6
  96. package/docs/04-reference/01-cli.md +7 -2
  97. package/package.json +1 -1
  98. package/dist/exports-D22M68rk.d.mts +0 -5
@@ -1,14 +1,14 @@
1
1
  import { a as typeOf, i as fileSize, r as IMPORT_BYTES_MAX, t as ATTACHMENT_BYTES_MAX } from "./files-SniSmeEr.mjs";
2
- import { C as toStorable, c as ChannelPath, m as MESSAGE_TEXT_MAX } from "./schemas-Be08nyfW.mjs";
3
- import { c as externalMessageKey, l as isThreadTarget, s as channelOf } from "./external-BV_cUncs.mjs";
2
+ import { C as toStorable, c as ChannelPath, m as MESSAGE_TEXT_MAX } from "./schemas-DBmUO6pr.mjs";
3
+ import { c as externalMessageKey, l as isThreadTarget, s as channelOf } from "./external-D3p5T57R.mjs";
4
4
  import { t as canonicalEmoji } from "./emoji-CTLpvH-A.mjs";
5
5
  import { r as derivedId, t as waitUntil } from "./wait-until-Dw4XrIDQ.mjs";
6
6
  import { r as badRequest, s as notFound, t as HttpError } from "./errors-CusN4x2l.mjs";
7
7
  import { n as replaceMentions } from "./mentions-CB6ShY4R.mjs";
8
- import { t as DroppedError } from "./middleware-ChKM1zuu.mjs";
8
+ import { t as DroppedError } from "./middleware-CXjEeef4.mjs";
9
9
  import { t as afterRetry } from "./attempts-HXcskN1w.mjs";
10
- import { a as channelMissing, i as UnreadableError, n as ResolvedTarget, o as routesFor, t as ReceivedEvent } from "./provider-poIkXapd.mjs";
11
- import { a as immutable, n as SyncOverrides } from "./events-CewD4kw7.mjs";
10
+ import { a as channelMissing, i as UnreadableError, n as ResolvedTarget, o as routesFor, t as ReceivedEvent } from "./provider-BaVmi4Hi.mjs";
11
+ import { a as immutable, n as SyncOverrides } from "./events-qf5XG5VQ.mjs";
12
12
  import { t as displayText } from "./bots-CGkO76qH.mjs";
13
13
  //#region src/sync/engine.ts
14
14
  /** `files`: a message with files may have no text. */
@@ -872,7 +872,7 @@ function createSyncEngine(entries) {
872
872
  const root = await messageOf(rootId);
873
873
  const createdHere = root?.origin?.message === `lifecycle:${meta.id}`;
874
874
  const desired = labels((createdHere ? rootDraft({
875
- text: event.url ? `${event.title}\n${event.url}` : event.title,
875
+ text: lifecycleText(event),
876
876
  labels: event.labels,
877
877
  author: event.author,
878
878
  raw
@@ -883,7 +883,7 @@ function createSyncEngine(entries) {
883
883
  if (root && !root.deleted && (Object.keys(set).length || unset.length)) await setLabels(event.author, set, unset);
884
884
  if (event.retitled && root && !root.deleted && root.from === key && root.origin?.thread === event.thread) {
885
885
  const text = clampText(overrides.text ?? rootDraft({
886
- text: event.url ? `${event.title}\n${event.url}` : event.title,
886
+ text: lifecycleText(event),
887
887
  labels: root.labels,
888
888
  author: event.author,
889
889
  raw
@@ -916,7 +916,7 @@ function createSyncEngine(entries) {
916
916
  message: null
917
917
  };
918
918
  const draft = rootDraft({
919
- text: event.url ? `${event.title}\n${event.url}` : event.title,
919
+ text: lifecycleText(event),
920
920
  labels: event.labels,
921
921
  author: event.author,
922
922
  raw
@@ -1289,14 +1289,14 @@ function createSyncEngine(entries) {
1289
1289
  postedAsPerson = true;
1290
1290
  return asPerson;
1291
1291
  }
1292
- return platform.post(native(target), "channel", body);
1292
+ if (root.attachments.length === 0 || !platform.startsThreadsWithFiles) return platform.post(native(target), "channel", body);
1293
1293
  }
1294
1294
  try {
1295
1295
  const sent = await platform.post(native(target), "channel", {
1296
1296
  ...body,
1297
1297
  files: await messageFiles(root)
1298
1298
  });
1299
- uploaded = sent.files ?? [];
1299
+ uploaded = mediaOnly ? sent.files ?? [] : sent.files;
1300
1300
  return sent;
1301
1301
  } catch (error) {
1302
1302
  if (!platform.refusesFiles(error) && !keepsNoFiles(error)) throw error;
@@ -1500,10 +1500,13 @@ function createSyncEngine(entries) {
1500
1500
  return 403;
1501
1501
  };
1502
1502
  /** A platform channel or thread, read for the caller: nothing is synced, stored, or joined. */
1503
- async function readSource(key, target, limit) {
1503
+ async function readSource(key, target, limit, after) {
1504
1504
  const platform = platformOf(key);
1505
1505
  try {
1506
- return await platform.read(target, { limit });
1506
+ return await platform.read(target, {
1507
+ limit,
1508
+ after
1509
+ });
1507
1510
  } catch (error) {
1508
1511
  if (error instanceof UnreadableError) throw new HttpError(unreadableStatus(error.code), error.code, error.message);
1509
1512
  throw badRequest(`can't read ${target} from ${key}: ${describe(error)}`, "platform_error");
@@ -1542,5 +1545,10 @@ function createSyncEngine(entries) {
1542
1545
  joinSource
1543
1546
  };
1544
1547
  }
1548
+ /** A lifecycle root's text: the title, its link, and what the PR or issue says. */
1549
+ function lifecycleText(event) {
1550
+ const head = event.url ? `${event.title}\n${event.url}` : event.title;
1551
+ return event.body ? `${head}\n\n${event.body}` : head;
1552
+ }
1545
1553
  //#endregion
1546
1554
  export { createSyncEngine };
@@ -1,4 +1,4 @@
1
- import { r as ErrorOrigin } from "./client-xLxeDz0f.mjs";
1
+ import { r as ErrorOrigin } from "./client-BqAjk0Q4.mjs";
2
2
  //#region src/server/errors.d.ts
3
3
  declare class HttpError extends Error {
4
4
  readonly status: number;
@@ -1,5 +1,5 @@
1
- import { d as LabelKey, p as Labels } from "./schemas-Be08nyfW.mjs";
2
- import { n as ExternalEvent, r as ExternalLocation } from "./external-BV_cUncs.mjs";
1
+ import { d as LabelKey, p as Labels } from "./schemas-DBmUO6pr.mjs";
2
+ import { n as ExternalEvent, r as ExternalLocation } from "./external-D3p5T57R.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/sync/events.ts
5
5
  const EventBase = z.object({
@@ -1,13 +1,13 @@
1
1
  import { t as ATTACHMENT_BYTES_MAX } from "./files-SniSmeEr.mjs";
2
- import "./schemas-Be08nyfW.mjs";
3
- import { A as SchedulesQuery, B as SyncReceiptBody, C as MatchesQuery, D as Ref, E as ReactBody, F as SyncBody, G as UploadStartBody, H as SyncUnlinkBody, I as SyncCodeBody, L as SyncCopiesQuery, M as SourceJoinBody, N as SourceReadQuery, O as RegisterBody, P as SyncAccountBody, R as SyncFindQuery, S as LinkedQuery, T as PostBody, U as ThreadsQuery, V as SyncRootsQuery, W as TypingBody, _ as InboxAckBody, a as METHODS, b as InboxQuery, c as queryObject, d as VERSION, f as SYNC, g as IdentityUnlinkBody, h as EventsQuery, j as SignInQuery, k as ScheduleBody, l as readCapped, m as EditBody, o as createRouter, p as AckBody, s as openapi, u as readJson, v as InboxNextQuery, w as MessagesQuery, x as LabelBody, y as InboxPushBody, z as SyncImportBody } from "./watchers-hash-qSMYlljN.mjs";
2
+ import "./schemas-DBmUO6pr.mjs";
3
+ import { A as SchedulesQuery, B as SyncReceiptBody, C as MatchesQuery, D as Ref, E as ReactBody, F as SyncBody, G as UploadStartBody, H as SyncUnlinkBody, I as SyncCodeBody, L as SyncCopiesQuery, M as SourceJoinBody, N as SourceReadQuery, O as RegisterBody, P as SyncAccountBody, R as SyncFindQuery, S as LinkedQuery, T as PostBody, U as ThreadsQuery, V as SyncRootsQuery, W as TypingBody, _ as InboxAckBody, a as METHODS, b as InboxQuery, c as queryObject, d as VERSION, f as SYNC, g as IdentityUnlinkBody, h as EventsQuery, j as SignInQuery, k as ScheduleBody, l as readCapped, m as EditBody, o as createRouter, p as AckBody, s as openapi, u as readJson, v as InboxNextQuery, w as MessagesQuery, x as LabelBody, y as InboxPushBody, z as SyncImportBody } from "./watchers-hash-BDhLVkV5.mjs";
4
4
  import { n as createBoardClient, t as BoardError } from "./client-D0Px7KzF.mjs";
5
5
  import { r as derivedId } from "./wait-until-Dw4XrIDQ.mjs";
6
6
  import { a as forbidden, c as toErrorResponse, l as unauthorized, n as RejectedError, o as json, r as badRequest, s as notFound, t as HttpError } from "./errors-CusN4x2l.mjs";
7
- import { d as issuersOf, g as verifiesTokens, l as hostPrincipal, o as createAuthority, s as fromTokens } from "./auth-lTkOgvcE.mjs";
8
- import { i as resolveActor, r as claimsOf, t as KNOWN_AGENTS } from "./actors-BLXVp4oZ.mjs";
9
- import { r as runMiddleware, t as DroppedError } from "./middleware-ChKM1zuu.mjs";
10
- import { n as syncTarget, r as withEmailMentions, t as mentionsEmails } from "./targets-C-wdR5wP.mjs";
7
+ import { d as issuersOf, g as verifiesTokens, l as hostPrincipal, o as createAuthority, s as fromTokens } from "./auth-JO22iIwr.mjs";
8
+ import { i as resolveActor, r as claimsOf, t as KNOWN_AGENTS } from "./actors-DcJhFbwJ.mjs";
9
+ import { r as runMiddleware, t as DroppedError } from "./middleware-CXjEeef4.mjs";
10
+ import { n as syncTarget, r as withEmailMentions, t as mentionsEmails } from "./targets-Cgjs29T0.mjs";
11
11
  //#region src/server/policy.ts
12
12
  /**
13
13
  * The policy a board's options say: verifying requests, and `access` over them and over the
@@ -1087,9 +1087,9 @@ async function createServe(context) {
1087
1087
  });
1088
1088
  },
1089
1089
  pull: () => engine ? engine.pull() : Promise.resolve(0),
1090
- async readSource(key, target, limit) {
1090
+ async readSource(key, target, limit, after) {
1091
1091
  if (!engine || !entries[key]) throw notFound(`this board doesn't run sync entry ${key}: read it where its sync runs`, "not_synced_here");
1092
- return engine.readSource(key, target, limit);
1092
+ return engine.readSource(key, target, limit, after);
1093
1093
  },
1094
1094
  async joinSource(key, target) {
1095
1095
  if (!engine || !entries[key]) throw notFound(`this board doesn't run sync entry ${key}: join it where its sync runs`, "not_synced_here");
@@ -1227,7 +1227,7 @@ function createBoard(options, runtime) {
1227
1227
  receive: async (key, item, meta) => (await server()).receive(key, item, meta),
1228
1228
  pull: async () => ownEntries.length > 0 ? (await server()).pull() : 0,
1229
1229
  sync: ownEntries,
1230
- readSource: async (key, target, limit) => (await server()).readSource(key, target, limit),
1230
+ readSource: async (key, target, limit, after) => (await server()).readSource(key, target, limit, after),
1231
1231
  joinSource: async (key, target) => (await server()).joinSource(key, target),
1232
1232
  locate: (url) => {
1233
1233
  const read = /* @__PURE__ */ new Map();
@@ -0,0 +1,5 @@
1
+ import "./auth-CU56Q2Xh.mjs";
2
+ import "./folds-ZkHM4M-v.mjs";
3
+ import "./client-BqAjk0Q4.mjs";
4
+ import "./backend-CPC_vyOo.mjs";
5
+ import "./errors-DDktVeUa.mjs";
@@ -1,4 +1,4 @@
1
- import { h as MessageId, m as MESSAGE_TEXT_MAX } from "./schemas-Be08nyfW.mjs";
1
+ import { h as MessageId, m as MESSAGE_TEXT_MAX } from "./schemas-DBmUO6pr.mjs";
2
2
  import { z } from "zod";
3
3
  //#region src/contract/external.ts
4
4
  /**
@@ -125,6 +125,8 @@ const ExternalEvent = z.discriminatedUnion("kind", [
125
125
  type: z.string(),
126
126
  title: z.string(),
127
127
  url: z.string().nullable(),
128
+ /** What the PR or issue says, under its title and link on a root it opens or retitles. */
129
+ body: z.string().nullable().optional(),
128
130
  labels: z.record(z.string(), z.string()),
129
131
  unset: z.array(z.string()),
130
132
  /** Key prefixes the platform owns on the root, e.g. `tag.`: keys under them that aren't in `labels` are unset. */
@@ -133,7 +135,7 @@ const ExternalEvent = z.discriminatedUnion("kind", [
133
135
  reply: z.string().nullable(),
134
136
  /** Create the root if the board hasn't seen this thread. */
135
137
  createRoot: z.boolean(),
136
- /** The thread's title changed on the platform: a root that came from it says the new one. */
138
+ /** The thread's title or body changed on the platform: a root that came from it says the new one. */
137
139
  retitled: z.boolean().optional(),
138
140
  author: ExternalAuthor
139
141
  })
@@ -1,5 +1,5 @@
1
- import { b as actorKind } from "./schemas-Be08nyfW.mjs";
2
- import { c as externalMessageKey, l as isThreadTarget } from "./external-BV_cUncs.mjs";
1
+ import { b as actorKind } from "./schemas-DBmUO6pr.mjs";
2
+ import { c as externalMessageKey, l as isThreadTarget } from "./external-D3p5T57R.mjs";
3
3
  import { t as canonicalEmoji } from "./emoji-CTLpvH-A.mjs";
4
4
  import { n as setOwn, t as own } from "./own-OwgPWdmh.mjs";
5
5
  //#region src/contract/folds.ts
@@ -31,6 +31,7 @@ declare const Author: z.ZodObject<{
31
31
  session: z.ZodNullable<z.ZodString>;
32
32
  }, z.core.$strip>;
33
33
  /** 128 random bits, base64url: an attachment is named by an ID nobody can guess. */
34
+ /** 128 random bits, base64url, as A2 makes them; or `att_` and a UUID, as Vercel's board does. */
34
35
  declare const AttachmentId: z.ZodString;
35
36
  /** A file on a message. The board records `type` and `size` from what it stored, never from the request. */
36
37
  declare const Attachment: z.ZodObject<{
@@ -467,6 +468,7 @@ declare const ExternalEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
467
468
  type: z.ZodString;
468
469
  title: z.ZodString;
469
470
  url: z.ZodNullable<z.ZodString>;
471
+ body: z.ZodOptional<z.ZodNullable<z.ZodString>>;
470
472
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
471
473
  unset: z.ZodArray<z.ZodString>;
472
474
  owns: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1,5 +1,5 @@
1
- import { d as Board, f as BoardOptions } from "./backend-ZKYTe3xa.mjs";
2
- import "./exports-D22M68rk.mjs";
1
+ import { d as Board, f as BoardOptions } from "./backend-CPC_vyOo.mjs";
2
+ import "./exports-mhAYiU4i.mjs";
3
3
  //#region src/server/index.d.ts
4
4
  /**
5
5
  * The handle on a board. With a `backend`, the board lives there: `a2()` keeps it in this
package/dist/index.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { a as CallerRequest, o as Claims } from "./auth-CU56Q2Xh.mjs";
2
- import { x as Attachment } from "./folds-jS9wlh9_.mjs";
3
- import { $ as RegisterInput, A as InboxItem, At as SyncRootsQuery, B as Me, Bt as TypingResult, C as EventsQuery, Ct as SyncFindInput, D as IdentityView, Dt as SyncImportInput, E as IdentityUnlinkBody, Et as SyncImportBody, F as LinkView, Ft as ThreadView, G as ParsedFilters, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, J as PostInput, 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, Pt as ThreadSummaryView, Q as RegisterBody, R as MatchView, Rt as ThreadsQueryInput, S as EventsPage, St as SyncCopiesView, T as FiltersInput, Tt as SyncFindView, U as MessagesQuery, Ut as routes, V as MessageView, Vt as UploadStartBody, W as MessagesQueryInput, X as ReactBody, Y as REGISTERED_WATCHERS_MAX, Z as Ref, _ as BoardEventView, _t as SyncAccountInput, a as PostOptions, at as ScheduleInput, b as Discovery, bt as SyncCodeView, c as ScheduleOptions, ct as SchedulesQueryInput, d as WaitOptions, dt as SourceJoin, et as RegistrationView, f as Written, ft as SourceJoinBody, g as ApiError, gt as SyncAccountBody, h as ActorView, ht as SourceReadQuery, i as Filters, it as ScheduleBodyOutput, j as InboxNextQuery, jt as SyncThreadView, k as InboxEntry, kt as SyncReceiptInput, l as ScheduleTiming, lt as SchedulesQueryOutput, m as AckBody, mt as SourceRead, n as BoardError, nt as RouteName, o as ProfileOption, ot as ScheduleView, p as duration, pt as SourceMessage, q as PostBody, rt as ScheduleBody, s as ReplyOptions, st as SchedulesQuery, tt as ResolvedSyncTarget, u as UploadInput, ut as SignInQuery, v as ChannelView, vt as SyncBody, w as EventsQueryInput, wt as SyncFindQuery, x as EditBody, xt as SyncCopiesQuery, y as DeleteBody, yt as SyncCodeBody, z as MatchesQuery, zt as TypingBody } from "./client-xLxeDz0f.mjs";
4
- import { S as Protocol, _ as MiddlewareContext, a as Identity, b as WriteSource, c as SelfCaller, d as Board, f as BoardOptions, g as Middleware, h as DroppedError, i as Caller, l as Subscription, m as WatcherContext, n as BackendRoute, o as InboxDelivery, p as Watcher, r as BoardBinding, s as ProtocolMethods, t as Backend, u as VerifiedCaller, v as Write, x as Method, y as WritePatch } from "./backend-ZKYTe3xa.mjs";
5
- import { t as HttpError } from "./errors-CB4tnZGz.mjs";
6
- import "./exports-D22M68rk.mjs";
2
+ import { x as Attachment } from "./folds-ZkHM4M-v.mjs";
3
+ import { $ as RegisterInput, A as InboxItem, At as SyncRootsQuery, B as Me, Bt as TypingResult, C as EventsQuery, Ct as SyncFindInput, D as IdentityView, Dt as SyncImportInput, E as IdentityUnlinkBody, Et as SyncImportBody, F as LinkView, Ft as ThreadView, G as ParsedFilters, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, J as PostInput, 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, Pt as ThreadSummaryView, Q as RegisterBody, R as MatchView, Rt as ThreadsQueryInput, S as EventsPage, St as SyncCopiesView, T as FiltersInput, Tt as SyncFindView, U as MessagesQuery, Ut as routes, V as MessageView, Vt as UploadStartBody, W as MessagesQueryInput, X as ReactBody, Y as REGISTERED_WATCHERS_MAX, Z as Ref, _ as BoardEventView, _t as SyncAccountInput, a as PostOptions, at as ScheduleInput, b as Discovery, bt as SyncCodeView, c as ScheduleOptions, ct as SchedulesQueryInput, d as WaitOptions, dt as SourceJoin, et as RegistrationView, f as Written, ft as SourceJoinBody, g as ApiError, gt as SyncAccountBody, h as ActorView, ht as SourceReadQuery, i as Filters, it as ScheduleBodyOutput, j as InboxNextQuery, jt as SyncThreadView, k as InboxEntry, kt as SyncReceiptInput, l as ScheduleTiming, lt as SchedulesQueryOutput, m as AckBody, mt as SourceRead, n as BoardError, nt as RouteName, o as ProfileOption, ot as ScheduleView, p as duration, pt as SourceMessage, q as PostBody, rt as ScheduleBody, s as ReplyOptions, st as SchedulesQuery, tt as ResolvedSyncTarget, u as UploadInput, ut as SignInQuery, v as ChannelView, vt as SyncBody, w as EventsQueryInput, wt as SyncFindQuery, x as EditBody, xt as SyncCopiesQuery, y as DeleteBody, yt as SyncCodeBody, z as MatchesQuery, zt as TypingBody } from "./client-BqAjk0Q4.mjs";
4
+ import { S as Protocol, _ as MiddlewareContext, a as Identity, b as WriteSource, c as SelfCaller, d as Board, f as BoardOptions, g as Middleware, h as DroppedError, i as Caller, l as Subscription, m as WatcherContext, n as BackendRoute, o as InboxDelivery, p as Watcher, r as BoardBinding, s as ProtocolMethods, t as Backend, u as VerifiedCaller, v as Write, x as Method, y as WritePatch } from "./backend-CPC_vyOo.mjs";
5
+ import { t as HttpError } from "./errors-DDktVeUa.mjs";
6
+ import "./exports-mhAYiU4i.mjs";
7
7
  //#region src/server/index.default.d.ts
8
8
  /**
9
9
  * The handle on a board. Outside Node there's no environment to find one in, so pass its
@@ -1,4 +1,4 @@
1
- import { r as createHttp } from "./backend-http-DEMvX2ht.mjs";
1
+ import { r as createHttp } from "./backend-http-CzIJMm58.mjs";
2
2
  //#region src/backend-http/index.default.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/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { r as duration, t as BoardError } from "./client-D0Px7KzF.mjs";
2
2
  import { t as HttpError } from "./errors-CusN4x2l.mjs";
3
- import { t as http } from "./index.default-RaGMBzNu.mjs";
4
- import { t as createBoard } from "./exports-uiRQD2-i.mjs";
5
- import { t as DroppedError } from "./middleware-ChKM1zuu.mjs";
3
+ import { t as http } from "./index.default-rB8sJ9RX.mjs";
4
+ import { t as createBoard } from "./exports-BG-0Wyn-.mjs";
5
+ import { t as DroppedError } from "./middleware-CXjEeef4.mjs";
6
6
  //#region src/server/index.default.ts
7
7
  /**
8
8
  * The handle on a board. Outside Node there's no environment to find one in, so pass its
@@ -11,7 +11,7 @@ import { t as DroppedError } from "./middleware-ChKM1zuu.mjs";
11
11
  function board(options = {}) {
12
12
  return createBoard(options, {
13
13
  http: () => http(),
14
- sync: () => import("./engine-Bfe6pcXb.mjs"),
14
+ sync: () => import("./engine-DQxXk7dX.mjs"),
15
15
  serving: null
16
16
  });
17
17
  }
@@ -1,7 +1,7 @@
1
1
  import { a as CallerRequest, o as Claims } from "./auth-CU56Q2Xh.mjs";
2
- import { x as Attachment } from "./folds-jS9wlh9_.mjs";
3
- import { $ as RegisterInput, A as InboxItem, At as SyncRootsQuery, B as Me, Bt as TypingResult, C as EventsQuery, Ct as SyncFindInput, D as IdentityView, Dt as SyncImportInput, E as IdentityUnlinkBody, Et as SyncImportBody, F as LinkView, Ft as ThreadView, G as ParsedFilters, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, J as PostInput, 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, Pt as ThreadSummaryView, Q as RegisterBody, R as MatchView, Rt as ThreadsQueryInput, S as EventsPage, St as SyncCopiesView, T as FiltersInput, Tt as SyncFindView, U as MessagesQuery, Ut as routes, V as MessageView, Vt as UploadStartBody, W as MessagesQueryInput, X as ReactBody, Y as REGISTERED_WATCHERS_MAX, Z as Ref, _ as BoardEventView, _t as SyncAccountInput, a as PostOptions, at as ScheduleInput, b as Discovery, bt as SyncCodeView, c as ScheduleOptions, ct as SchedulesQueryInput, d as WaitOptions, dt as SourceJoin, et as RegistrationView, f as Written, ft as SourceJoinBody, g as ApiError, gt as SyncAccountBody, h as ActorView, ht as SourceReadQuery, i as Filters, it as ScheduleBodyOutput, j as InboxNextQuery, jt as SyncThreadView, k as InboxEntry, kt as SyncReceiptInput, l as ScheduleTiming, lt as SchedulesQueryOutput, m as AckBody, mt as SourceRead, n as BoardError, nt as RouteName, o as ProfileOption, ot as ScheduleView, p as duration, pt as SourceMessage, q as PostBody, rt as ScheduleBody, s as ReplyOptions, st as SchedulesQuery, tt as ResolvedSyncTarget, u as UploadInput, ut as SignInQuery, v as ChannelView, vt as SyncBody, w as EventsQueryInput, wt as SyncFindQuery, x as EditBody, xt as SyncCopiesQuery, y as DeleteBody, yt as SyncCodeBody, z as MatchesQuery, zt as TypingBody } from "./client-xLxeDz0f.mjs";
4
- import { S as Protocol, _ as MiddlewareContext, a as Identity, b as WriteSource, c as SelfCaller, d as Board, f as BoardOptions, g as Middleware, h as DroppedError, i as Caller, l as Subscription, m as WatcherContext, n as BackendRoute, o as InboxDelivery, p as Watcher, r as BoardBinding, s as ProtocolMethods, t as Backend, u as VerifiedCaller, v as Write, x as Method, y as WritePatch } from "./backend-ZKYTe3xa.mjs";
5
- import { t as HttpError } from "./errors-CB4tnZGz.mjs";
6
- import { t as board } from "./index-C05it0mC.mjs";
2
+ import { x as Attachment } from "./folds-ZkHM4M-v.mjs";
3
+ import { $ as RegisterInput, A as InboxItem, At as SyncRootsQuery, B as Me, Bt as TypingResult, C as EventsQuery, Ct as SyncFindInput, D as IdentityView, Dt as SyncImportInput, E as IdentityUnlinkBody, Et as SyncImportBody, F as LinkView, Ft as ThreadView, G as ParsedFilters, H as MessagesPage, Ht as UploadTicket, I as LinkedAccount, It as ThreadsPage, J as PostInput, 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, Pt as ThreadSummaryView, Q as RegisterBody, R as MatchView, Rt as ThreadsQueryInput, S as EventsPage, St as SyncCopiesView, T as FiltersInput, Tt as SyncFindView, U as MessagesQuery, Ut as routes, V as MessageView, Vt as UploadStartBody, W as MessagesQueryInput, X as ReactBody, Y as REGISTERED_WATCHERS_MAX, Z as Ref, _ as BoardEventView, _t as SyncAccountInput, a as PostOptions, at as ScheduleInput, b as Discovery, bt as SyncCodeView, c as ScheduleOptions, ct as SchedulesQueryInput, d as WaitOptions, dt as SourceJoin, et as RegistrationView, f as Written, ft as SourceJoinBody, g as ApiError, gt as SyncAccountBody, h as ActorView, ht as SourceReadQuery, i as Filters, it as ScheduleBodyOutput, j as InboxNextQuery, jt as SyncThreadView, k as InboxEntry, kt as SyncReceiptInput, l as ScheduleTiming, lt as SchedulesQueryOutput, m as AckBody, mt as SourceRead, n as BoardError, nt as RouteName, o as ProfileOption, ot as ScheduleView, p as duration, pt as SourceMessage, q as PostBody, rt as ScheduleBody, s as ReplyOptions, st as SchedulesQuery, tt as ResolvedSyncTarget, u as UploadInput, ut as SignInQuery, v as ChannelView, vt as SyncBody, w as EventsQueryInput, wt as SyncFindQuery, x as EditBody, xt as SyncCopiesQuery, y as DeleteBody, yt as SyncCodeBody, z as MatchesQuery, zt as TypingBody } from "./client-BqAjk0Q4.mjs";
4
+ import { S as Protocol, _ as MiddlewareContext, a as Identity, b as WriteSource, c as SelfCaller, d as Board, f as BoardOptions, g as Middleware, h as DroppedError, i as Caller, l as Subscription, m as WatcherContext, n as BackendRoute, o as InboxDelivery, p as Watcher, r as BoardBinding, s as ProtocolMethods, t as Backend, u as VerifiedCaller, v as Write, x as Method, y as WritePatch } from "./backend-CPC_vyOo.mjs";
5
+ import { t as HttpError } from "./errors-DDktVeUa.mjs";
6
+ import { t as board } from "./index-D3VvNfh_.mjs";
7
7
  export { type AckBody, type ActorView, type ApiError, type Attachment, type Backend, type BackendRoute, type Board, type BoardBinding, BoardError, type BoardEventView, type BoardOptions, type Caller, type CallerRequest, type ChannelView, type Claims, type DeleteBody, type Discovery, DroppedError, type EditBody, type EventsPage, type EventsQuery, type EventsQueryInput, type Filters, type FiltersInput, HttpError, type Identity, type IdentityUnlinkBody, type IdentityView, type InboxAckBody, type InboxDelivery, type InboxEntry, type InboxItem, type InboxNextQuery, type InboxPushBody, type InboxQuery, type LabelBody, type LinkView, type LinkedAccount, type LinkedQuery, type MatchView, type MatchesQuery, type Me, type MessageView, type MessagesPage, type MessagesQuery, type MessagesQueryInput, type Method, type Middleware, type MiddlewareContext, type ParsedFilters, type PersonView, type PostBody, type PostInput, type PostOptions, type ProfileOption, type Protocol, type ProtocolMethods, type REGISTERED_WATCHERS_MAX, type ReactBody, type Ref, type RegisterBody, type RegisterInput, type RegistrationView, type ReplyOptions, type ResolvedSyncTarget, type RouteName, type ScheduleBody, type ScheduleBodyOutput, type ScheduleInput, type ScheduleOptions, type ScheduleTiming, type ScheduleView, type SchedulesQuery, type SchedulesQueryInput, type SchedulesQueryOutput, type SelfCaller, type SignInQuery, type SourceJoin, type SourceJoinBody, type SourceMessage, type SourceRead, type SourceReadQuery, type Subscription, type SyncAccountBody, type SyncAccountInput, type SyncBody, type SyncCodeBody, type SyncCodeView, type SyncCopiesQuery, type SyncCopiesView, type SyncFindInput, type SyncFindQuery, type SyncFindView, type SyncImportBody, type SyncImportInput, type SyncReceiptBody, type SyncReceiptInput, type SyncRootsQuery, type SyncThreadView, type SyncUnlinkBody, type SyncedView, type ThreadSummaryView, type ThreadView, type ThreadsPage, type ThreadsQuery, type ThreadsQueryInput, type TypingBody, type TypingResult, type UploadInput, type UploadStartBody, type UploadTicket, type VerifiedCaller, type WaitOptions, type Watcher, type WatcherContext, type Write, type WritePatch, type WriteSource, type Written, board, duration, type routes };
@@ -1,5 +1,5 @@
1
1
  import { r as duration, t as BoardError } from "./client-D0Px7KzF.mjs";
2
2
  import { t as HttpError } from "./errors-CusN4x2l.mjs";
3
- import { t as DroppedError } from "./middleware-ChKM1zuu.mjs";
4
- import { t as board } from "./server-C0DVYiHm.mjs";
3
+ import { t as DroppedError } from "./middleware-CXjEeef4.mjs";
4
+ import { t as board } from "./server-BixV_byP.mjs";
5
5
  export { BoardError, DroppedError, HttpError, board, duration };