kanbo-cli 0.2.1 → 0.4.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 (88) hide show
  1. package/CHANGELOG.md +202 -0
  2. package/README.md +17 -46
  3. package/dist/{better-sqlite3-fU3G4xnX.cjs → better-sqlite3-DPdSZ6sH.cjs} +244 -247
  4. package/dist/cli-main.cjs +51690 -0
  5. package/dist/cli.cjs +32 -45216
  6. package/dist/dist-IHRTF-b5.cjs +2552 -0
  7. package/dist/lib/{tool-names-WfH4IURz.d.cts → approval-BsBk2xVr.d.cts} +72 -3
  8. package/dist/lib/{tool-names-3q_GEZej.d.mts → approval-LRZ6ontC.d.mts} +72 -3
  9. package/dist/lib/{board-store-BvWn9xTB.d.mts → board-store-D_Mpfb84.d.mts} +75 -2
  10. package/dist/lib/{board-store-BfszzAJB.d.cts → board-store-Dx-mw2I6.d.cts} +75 -2
  11. package/dist/lib/index.cjs +8 -2
  12. package/dist/lib/index.d.cts +202 -91
  13. package/dist/lib/index.d.mts +202 -91
  14. package/dist/lib/index.mjs +3 -3
  15. package/dist/lib/{manifest-D9nCRtXM.cjs → manifest-DcIMYvWk.cjs} +7363 -1556
  16. package/dist/lib/manifest-Dmo6IlWk.mjs +14654 -0
  17. package/dist/lib/mcp/index.cjs +166 -22
  18. package/dist/lib/mcp/index.d.cts +144 -5
  19. package/dist/lib/mcp/index.d.mts +144 -5
  20. package/dist/lib/mcp/index.mjs +162 -23
  21. package/dist/lib/{migrate-DnMjTCvu.cjs → migrate-Dca5WdYd.cjs} +144 -14
  22. package/dist/lib/{migrate-BhYi9cXw.mjs → migrate-DtBeW3Fs.mjs} +134 -16
  23. package/dist/lib/{migrations-path-Ciwan537.mjs → migrations-path-ClaYRNwk.mjs} +5 -7
  24. package/dist/lib/{migrations-path-CZxVOgeD.cjs → migrations-path-DBCE17dT.cjs} +5 -7
  25. package/dist/lib/postgres/index.cjs +2 -4
  26. package/dist/lib/postgres/index.d.cts +2 -3
  27. package/dist/lib/postgres/index.d.mts +2 -3
  28. package/dist/lib/postgres/index.mjs +2 -4
  29. package/dist/lib/{roles.sql-CvyCGt38.mjs → roles.sql-BoOZSkBp.mjs} +96 -5
  30. package/dist/lib/{roles.sql-B9rt-x4o.cjs → roles.sql-E58x7mLS.cjs} +95 -4
  31. package/dist/lib/schema-D0MyXcej.d.cts +1 -2
  32. package/dist/lib/schema-D0MyXcej.d.mts +1 -2
  33. package/dist/lib/schema-epoch-ZyumVL_A.d.cts +1 -2
  34. package/dist/lib/schema-epoch-ZyumVL_A.d.mts +1 -2
  35. package/dist/lib/sqlite/index.cjs +2 -2
  36. package/dist/lib/sqlite/index.d.cts +3 -4
  37. package/dist/lib/sqlite/index.d.mts +3 -4
  38. package/dist/lib/sqlite/index.mjs +2 -2
  39. package/dist/lib/sqlite/schema.cjs +0 -2
  40. package/dist/lib/sqlite/schema.mjs +0 -2
  41. package/dist/page/board.css +1622 -327
  42. package/dist/page/board.js +2 -2
  43. package/package.json +13 -10
  44. package/dist/better-sqlite3-fU3G4xnX.cjs.map +0 -1
  45. package/dist/cli.cjs.map +0 -1
  46. package/dist/dist-BsCwQFEl.cjs +0 -989
  47. package/dist/dist-BsCwQFEl.cjs.map +0 -1
  48. package/dist/lib/manifest-D9nCRtXM.cjs.map +0 -1
  49. package/dist/lib/manifest-DHV2fRdO.mjs +0 -8933
  50. package/dist/lib/manifest-DHV2fRdO.mjs.map +0 -1
  51. package/dist/lib/mcp/index.cjs.map +0 -1
  52. package/dist/lib/mcp/index.mjs.map +0 -1
  53. package/dist/lib/migrate-BhYi9cXw.mjs.map +0 -1
  54. package/dist/lib/migrate-DnMjTCvu.cjs.map +0 -1
  55. package/dist/lib/migrations-path-CZxVOgeD.cjs.map +0 -1
  56. package/dist/lib/migrations-path-Ciwan537.mjs.map +0 -1
  57. package/dist/lib/postgres/index.cjs.map +0 -1
  58. package/dist/lib/postgres/index.mjs.map +0 -1
  59. package/dist/lib/roles.sql-B9rt-x4o.cjs.map +0 -1
  60. package/dist/lib/roles.sql-CvyCGt38.mjs.map +0 -1
  61. package/dist/lib/sqlite/schema.cjs.map +0 -1
  62. package/dist/lib/sqlite/schema.mjs.map +0 -1
  63. package/drizzle-postgres/0000_board.sql +0 -135
  64. package/drizzle-postgres/0001_history_order.sql +0 -2
  65. package/drizzle-postgres/0002_issue_pull_requests.sql +0 -16
  66. package/drizzle-postgres/0003_milestone_start_date.sql +0 -1
  67. package/drizzle-postgres/0004_status_entry_rules.sql +0 -1
  68. package/drizzle-postgres/0005_run_external_session_ref.sql +0 -1
  69. package/drizzle-postgres/README.md +0 -61
  70. package/drizzle-postgres/meta/0000_snapshot.json +0 -1078
  71. package/drizzle-postgres/meta/0001_snapshot.json +0 -1090
  72. package/drizzle-postgres/meta/0002_snapshot.json +0 -1239
  73. package/drizzle-postgres/meta/0003_snapshot.json +0 -1245
  74. package/drizzle-postgres/meta/0004_snapshot.json +0 -1251
  75. package/drizzle-postgres/meta/0005_snapshot.json +0 -1257
  76. package/drizzle-postgres/meta/_journal.json +0 -48
  77. package/drizzle-sqlite/0000_board.sql +0 -133
  78. package/drizzle-sqlite/0001_issue_pull_requests.sql +0 -15
  79. package/drizzle-sqlite/0002_milestone_start_date.sql +0 -1
  80. package/drizzle-sqlite/0003_status_entry_rules.sql +0 -1
  81. package/drizzle-sqlite/0004_run_external_session_ref.sql +0 -1
  82. package/drizzle-sqlite/README.md +0 -67
  83. package/drizzle-sqlite/meta/0000_snapshot.json +0 -946
  84. package/drizzle-sqlite/meta/0001_snapshot.json +0 -1054
  85. package/drizzle-sqlite/meta/0002_snapshot.json +0 -1061
  86. package/drizzle-sqlite/meta/0003_snapshot.json +0 -1068
  87. package/drizzle-sqlite/meta/0004_snapshot.json +0 -1075
  88. package/drizzle-sqlite/meta/_journal.json +0 -41
@@ -1,8 +1,18 @@
1
- const require_migrations_path = require("./migrations-path-CZxVOgeD.cjs");
1
+ const require_migrations_path = require("./migrations-path-DBCE17dT.cjs");
2
2
  let drizzle_orm = require("drizzle-orm");
3
3
  let drizzle_orm_pg_core = require("drizzle-orm/pg-core");
4
4
  let node_path = require("node:path");
5
5
  let node_url = require("node:url");
6
+ //#region src/domain/like-pattern.ts
7
+ /**
8
+ * A `like` pattern that finds `text` anywhere in a value, the text matched as
9
+ * written: `%`, `_` and the escape character itself are escaped with `\`, the
10
+ * character a statement names in `escape '\'`.
11
+ */
12
+ function containsLikePattern(text) {
13
+ return `%${text.replace(/[\\%_]/g, (character) => `\\${character}`)}%`;
14
+ }
15
+ //#endregion
6
16
  //#region src/postgres/schema.ts
7
17
  /**
8
18
  * The board, as a Postgres database holds it.
@@ -348,6 +358,71 @@ async function selectRunProjection(database, scope) {
348
358
  }));
349
359
  }
350
360
  /**
361
+ * One page of the cards a query picks, and how many it picks in all, in one
362
+ * statement — the SQLite store's read, with the count cast to `int` (Postgres
363
+ * counts in `bigint`) and text matched with `ilike`, which folds every letter.
364
+ */
365
+ async function selectCardPage(database, query) {
366
+ if (query.statusIds?.length === 0 || query.priorities?.length === 0) return {
367
+ cards: [],
368
+ total: 0
369
+ };
370
+ const where = (0, drizzle_orm.and)(...cardQueryPredicates(query));
371
+ const page = database.select({
372
+ ...(0, drizzle_orm.getTableColumns)(issues),
373
+ pickedTotal: drizzle_orm.sql`cast(count(*) over () as int)`
374
+ }).from(issues).where(where).orderBy(issues.order, (0, drizzle_orm.desc)(issues.createdAt), issues.id).offset(query.offset ?? 0).$dynamic();
375
+ const rows = await (query.limit === void 0 ? page : page.limit(query.limit));
376
+ if (rows.length === 0) {
377
+ if ((query.offset ?? 0) === 0) return {
378
+ cards: [],
379
+ total: 0
380
+ };
381
+ const [row] = await database.select({ count: drizzle_orm.sql`cast(count(*) as int)` }).from(issues).where(where);
382
+ return {
383
+ cards: [],
384
+ total: row?.count ?? 0
385
+ };
386
+ }
387
+ return {
388
+ cards: rows.map(({ pickedTotal: _total, ...card }) => card),
389
+ total: rows[0].pickedTotal
390
+ };
391
+ }
392
+ function cardQueryPredicates(query) {
393
+ const running = drizzle_orm.sql`${issues.id} in (select ${issueRuns.issueId} from ${issueRuns} where ${issueRuns.state} = 'running')`;
394
+ const pattern = containsLikePattern(query.text ?? "");
395
+ return [
396
+ (0, drizzle_orm.eq)(issues.workspaceId, query.workspaceId),
397
+ query.statusIds === void 0 ? void 0 : (0, drizzle_orm.inArray)(issues.statusId, [...query.statusIds]),
398
+ query.waitingForPerson === void 0 ? void 0 : query.waitingForPerson ? (0, drizzle_orm.eq)(issues.waitingFor, "human") : (0, drizzle_orm.isNull)(issues.waitingFor),
399
+ query.parentIssueId === void 0 ? void 0 : (0, drizzle_orm.eq)(issues.parentIssueId, query.parentIssueId),
400
+ query.hasActiveRun === void 0 ? void 0 : query.hasActiveRun ? running : drizzle_orm.sql`not ${running}`,
401
+ query.returned === void 0 ? void 0 : query.returned ? returnedCard(running) : drizzle_orm.sql`not ${returnedCard(running)}`,
402
+ query.text === void 0 ? void 0 : drizzle_orm.sql`(${issues.id} ilike ${pattern} escape '\\' or ${issues.title} ilike ${pattern} escape '\\' or coalesce(${issues.description}, '') ilike ${pattern} escape '\\')`,
403
+ query.updatedSince === void 0 ? void 0 : (0, drizzle_orm.gte)(issues.updatedAt, query.updatedSince),
404
+ ...(query.labels ?? []).map((label) => drizzle_orm.sql`cast(${issues.labels} as jsonb) @> cast(${JSON.stringify([label])} as jsonb)`),
405
+ query.priorities === void 0 ? void 0 : (0, drizzle_orm.inArray)(issues.priority, [...query.priorities])
406
+ ];
407
+ }
408
+ /**
409
+ * A card a person sent back that nobody picked up again (`BoardCardQuery.returned`):
410
+ * not waiting, not running, and its last decision a return — `seq` breaking a
411
+ * tie inside one second where SQLite reads `rowid`.
412
+ */
413
+ function returnedCard(running) {
414
+ return drizzle_orm.sql`(${issues.waitingFor} is null and not ${running} and exists (
415
+ select 1 from ${issueComments} as decision
416
+ where decision.issue_id = ${issues.id} and decision.author_kind = 'system.returned'
417
+ and not exists (
418
+ select 1 from ${issueComments} as later
419
+ where later.issue_id = decision.issue_id
420
+ and later.author_kind in ('system.approved', 'system.returned')
421
+ and (later.created_at > decision.created_at or (later.created_at = decision.created_at and later.seq > decision.seq))
422
+ )
423
+ ))`;
424
+ }
425
+ /**
351
426
  * The board's statements against one Postgres handle — a connection, or a
352
427
  * transaction on one.
353
428
  *
@@ -365,6 +440,10 @@ function createStoreOver(database) {
365
440
  const [row] = await database.select().from(issueStatuses).where((0, drizzle_orm.eq)(issueStatuses.id, statusId)).limit(1);
366
441
  return row ?? null;
367
442
  },
443
+ lockById: async (statusId) => {
444
+ const [row] = await database.select().from(issueStatuses).where((0, drizzle_orm.eq)(issueStatuses.id, statusId)).limit(1).for("update");
445
+ return row ?? null;
446
+ },
368
447
  findInWorkspace: async (workspaceId, statusId) => {
369
448
  const [row] = await database.select().from(issueStatuses).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(issueStatuses.workspaceId, workspaceId), (0, drizzle_orm.eq)(issueStatuses.id, statusId))).limit(1);
370
449
  return row ?? null;
@@ -408,10 +487,16 @@ function createStoreOver(database) {
408
487
  }
409
488
  },
410
489
  issues: {
411
- listInBoardOrder: async (workspaceId) => await database.select().from(issues).where(workspaceId ? (0, drizzle_orm.eq)(issues.workspaceId, workspaceId) : void 0).orderBy(issues.order, (0, drizzle_orm.desc)(issues.createdAt)),
490
+ listInBoardOrder: async (workspaceId) => await database.select().from(issues).where(workspaceId ? (0, drizzle_orm.eq)(issues.workspaceId, workspaceId) : void 0).orderBy(issues.order, (0, drizzle_orm.desc)(issues.createdAt), issues.id),
412
491
  listNewestFirst: async () => await database.select().from(issues).orderBy((0, drizzle_orm.desc)(issues.createdAt)),
413
492
  listAll: async () => await database.select().from(issues),
414
493
  listByWorkspace: async (workspaceId) => await database.select().from(issues).where((0, drizzle_orm.eq)(issues.workspaceId, workspaceId)),
494
+ listPage: async (query) => await selectCardPage(database, query),
495
+ countByMilestone: async (workspaceId) => await database.select({
496
+ milestoneId: drizzle_orm.sql`${issues.milestoneId}`,
497
+ statusId: issues.statusId,
498
+ count: drizzle_orm.sql`cast(count(*) as int)`
499
+ }).from(issues).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(issues.workspaceId, workspaceId), (0, drizzle_orm.isNotNull)(issues.milestoneId))).groupBy(issues.milestoneId, issues.statusId),
415
500
  listByIds: async (issueIds) => await database.select().from(issues).where((0, drizzle_orm.inArray)(issues.id, issueIds)),
416
501
  findById: async (issueId) => {
417
502
  const [row] = await database.select().from(issues).where((0, drizzle_orm.eq)(issues.id, issueId)).limit(1);
@@ -481,6 +566,14 @@ function createStoreOver(database) {
481
566
  },
482
567
  comments: {
483
568
  listByIssue: async (issueId) => (await database.select().from(issueComments).where((0, drizzle_orm.eq)(issueComments.issueId, issueId)).orderBy((0, drizzle_orm.asc)(issueComments.createdAt), (0, drizzle_orm.asc)(issueComments.seq))).map(toIssueComment),
569
+ listLatestByIssues: async (issueIds, authorKinds) => {
570
+ if (issueIds.length === 0 || authorKinds?.length === 0) return [];
571
+ const ranked = database.select({
572
+ id: issueComments.id,
573
+ commentRank: drizzle_orm.sql`cast(row_number() over (partition by ${issueComments.issueId} order by ${issueComments.createdAt} desc, ${issueComments.seq} desc) as int)`.as("comment_rank")
574
+ }).from(issueComments).where((0, drizzle_orm.and)((0, drizzle_orm.inArray)(issueComments.issueId, [...issueIds]), authorKinds === void 0 ? void 0 : (0, drizzle_orm.inArray)(issueComments.authorKind, [...authorKinds]))).as("ranked");
575
+ return (await database.select((0, drizzle_orm.getTableColumns)(issueComments)).from(issueComments).innerJoin(ranked, (0, drizzle_orm.eq)(ranked.id, issueComments.id)).where((0, drizzle_orm.eq)(ranked.commentRank, 1))).map(toIssueComment);
576
+ },
484
577
  findById: async (commentId) => {
485
578
  const [row] = await database.select().from(issueComments).where((0, drizzle_orm.eq)(issueComments.id, commentId)).limit(1);
486
579
  return row ? toIssueComment(row) : null;
@@ -1029,5 +1122,3 @@ Object.defineProperty(exports, "kanbanMeta", {
1029
1122
  return kanbanMeta;
1030
1123
  }
1031
1124
  });
1032
-
1033
- //# sourceMappingURL=roles.sql-B9rt-x4o.cjs.map
@@ -3608,5 +3608,4 @@ declare const boardSqliteSchema: {
3608
3608
  }>;
3609
3609
  };
3610
3610
  //#endregion
3611
- export { issueStatuses as _, IssuePullRequest as a, IssueStatus as c, issueComments as d, issueFieldChanges as f, issueRuns as g, issueRelations as h, IssueMilestone as i, KanbanMeta as l, issuePullRequests as m, IssueComment as n, IssueRelation as o, issueMilestones as p, IssueFieldChange as r, IssueRun as s, Issue as t, boardSqliteSchema as u, issues as v, kanbanMeta as y };
3612
- //# sourceMappingURL=schema-D0MyXcej.d.cts.map
3611
+ export { issueStatuses as _, IssuePullRequest as a, IssueStatus as c, issueComments as d, issueFieldChanges as f, issueRuns as g, issueRelations as h, IssueMilestone as i, KanbanMeta as l, issuePullRequests as m, IssueComment as n, IssueRelation as o, issueMilestones as p, IssueFieldChange as r, IssueRun as s, Issue as t, boardSqliteSchema as u, issues as v, kanbanMeta as y };
@@ -3608,5 +3608,4 @@ declare const boardSqliteSchema: {
3608
3608
  }>;
3609
3609
  };
3610
3610
  //#endregion
3611
- export { issueStatuses as _, IssuePullRequest as a, IssueStatus as c, issueComments as d, issueFieldChanges as f, issueRuns as g, issueRelations as h, IssueMilestone as i, KanbanMeta as l, issuePullRequests as m, IssueComment as n, IssueRelation as o, issueMilestones as p, IssueFieldChange as r, IssueRun as s, Issue as t, boardSqliteSchema as u, issues as v, kanbanMeta as y };
3612
- //# sourceMappingURL=schema-D0MyXcej.d.mts.map
3611
+ export { issueStatuses as _, IssuePullRequest as a, IssueStatus as c, issueComments as d, issueFieldChanges as f, issueRuns as g, issueRelations as h, IssueMilestone as i, KanbanMeta as l, issuePullRequests as m, IssueComment as n, IssueRelation as o, issueMilestones as p, IssueFieldChange as r, IssueRun as s, Issue as t, boardSqliteSchema as u, issues as v, kanbanMeta as y };
@@ -12,5 +12,4 @@
12
12
  */
13
13
  declare const BOARD_SCHEMA_EPOCH = 1;
14
14
  //#endregion
15
- export { BOARD_SCHEMA_EPOCH as t };
16
- //# sourceMappingURL=schema-epoch-ZyumVL_A.d.cts.map
15
+ export { BOARD_SCHEMA_EPOCH as t };
@@ -12,5 +12,4 @@
12
12
  */
13
13
  declare const BOARD_SCHEMA_EPOCH = 1;
14
14
  //#endregion
15
- export { BOARD_SCHEMA_EPOCH as t };
16
- //# sourceMappingURL=schema-epoch-ZyumVL_A.d.mts.map
15
+ export { BOARD_SCHEMA_EPOCH as t };
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_migrations_path = require("../migrations-path-CZxVOgeD.cjs");
2
+ const require_migrations_path = require("../migrations-path-DBCE17dT.cjs");
3
+ const require_migrate = require("../migrate-Dca5WdYd.cjs");
3
4
  const require_sqlite_schema = require("./schema.cjs");
4
- const require_migrate = require("../migrate-DnMjTCvu.cjs");
5
5
  exports.BOARD_SCHEMA_EPOCH = require_migrations_path.BOARD_SCHEMA_EPOCH;
6
6
  exports.assertBoardSchema = require_migrate.assertBoardSchema;
7
7
  exports.boardSqliteSchema = require_sqlite_schema.boardSqliteSchema;
@@ -1,8 +1,8 @@
1
1
  import { _ as issueStatuses, c as IssueStatus, d as issueComments, f as issueFieldChanges, g as issueRuns, h as issueRelations, i as IssueMilestone, l as KanbanMeta, n as IssueComment, o as IssueRelation, p as issueMilestones, r as IssueFieldChange, s as IssueRun, t as Issue, u as boardSqliteSchema, v as issues, y as kanbanMeta } from "../schema-D0MyXcej.cjs";
2
- import { a as BoardStore } from "../board-store-BfszzAJB.cjs";
2
+ import { c as BoardStore } from "../board-store-Dx-mw2I6.cjs";
3
3
  import { t as BOARD_SCHEMA_EPOCH } from "../schema-epoch-ZyumVL_A.cjs";
4
- import { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
5
4
  import { Database } from "better-sqlite3";
5
+ import { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
6
6
  //#region src/sqlite/transaction.d.ts
7
7
  /**
8
8
  * The database handle itself — what the host hands the board — and not an open
@@ -171,5 +171,4 @@ interface BoardFileContents {
171
171
  */
172
172
  export declare function readBoardFileContents(path: string): BoardFileContents;
173
173
  //#endregion
174
- export { BOARD_SCHEMA_EPOCH, type BoardDatabase, type BoardFileContents, type BoardFileOwner, type Issue, type IssueComment, type IssueFieldChange, type IssueMilestone, type IssueRelation, type IssueRun, type IssueStatus, type KanbanMeta, type SqliteDatabase, type SqliteTransactionMode, boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta };
175
- //# sourceMappingURL=index.d.cts.map
174
+ export { BOARD_SCHEMA_EPOCH, type BoardDatabase, type BoardFileContents, type BoardFileOwner, type Issue, type IssueComment, type IssueFieldChange, type IssueMilestone, type IssueRelation, type IssueRun, type IssueStatus, type KanbanMeta, type SqliteDatabase, type SqliteTransactionMode, boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta };
@@ -1,8 +1,8 @@
1
1
  import { _ as issueStatuses, c as IssueStatus, d as issueComments, f as issueFieldChanges, g as issueRuns, h as issueRelations, i as IssueMilestone, l as KanbanMeta, n as IssueComment, o as IssueRelation, p as issueMilestones, r as IssueFieldChange, s as IssueRun, t as Issue, u as boardSqliteSchema, v as issues, y as kanbanMeta } from "../schema-D0MyXcej.mjs";
2
- import { a as BoardStore } from "../board-store-BvWn9xTB.mjs";
2
+ import { c as BoardStore } from "../board-store-D_Mpfb84.mjs";
3
3
  import { t as BOARD_SCHEMA_EPOCH } from "../schema-epoch-ZyumVL_A.mjs";
4
- import { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
5
4
  import { Database } from "better-sqlite3";
5
+ import { BetterSQLite3Database } from "drizzle-orm/better-sqlite3";
6
6
  //#region src/sqlite/transaction.d.ts
7
7
  /**
8
8
  * The database handle itself — what the host hands the board — and not an open
@@ -171,5 +171,4 @@ interface BoardFileContents {
171
171
  */
172
172
  export declare function readBoardFileContents(path: string): BoardFileContents;
173
173
  //#endregion
174
- export { BOARD_SCHEMA_EPOCH, type BoardDatabase, type BoardFileContents, type BoardFileOwner, type Issue, type IssueComment, type IssueFieldChange, type IssueMilestone, type IssueRelation, type IssueRun, type IssueStatus, type KanbanMeta, type SqliteDatabase, type SqliteTransactionMode, boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta };
175
- //# sourceMappingURL=index.d.mts.map
174
+ export { BOARD_SCHEMA_EPOCH, type BoardDatabase, type BoardFileContents, type BoardFileOwner, type Issue, type IssueComment, type IssueFieldChange, type IssueMilestone, type IssueRelation, type IssueRun, type IssueStatus, type KanbanMeta, type SqliteDatabase, type SqliteTransactionMode, boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta };
@@ -1,4 +1,4 @@
1
- import { r as BOARD_SCHEMA_EPOCH } from "../migrations-path-Ciwan537.mjs";
1
+ import { r as BOARD_SCHEMA_EPOCH } from "../migrations-path-ClaYRNwk.mjs";
2
+ import { a as openBoardDatabase, i as markBoardFileOwnedByKanbo, l as createSqliteBoardStore, n as migrateBoardFile, o as readBoardFileContents, r as assertBoardSchema, s as readBoardFileOwner, t as getBoardSqliteMigrationsPath, u as runSqliteTransaction } from "../migrate-DtBeW3Fs.mjs";
2
3
  import { boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta } from "./schema.mjs";
3
- import { a as openBoardDatabase, c as createSqliteBoardStore, i as markBoardFileOwnedByKanbo, l as runSqliteTransaction, n as migrateBoardFile, o as readBoardFileContents, r as assertBoardSchema, s as readBoardFileOwner, t as getBoardSqliteMigrationsPath } from "../migrate-BhYi9cXw.mjs";
4
4
  export { BOARD_SCHEMA_EPOCH, assertBoardSchema, boardSqliteSchema, createSqliteBoardStore, getBoardSqliteMigrationsPath, issueComments, issueFieldChanges, issueMilestones, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta, markBoardFileOwnedByKanbo, migrateBoardFile, openBoardDatabase, readBoardFileContents, readBoardFileOwner, runSqliteTransaction };
@@ -262,5 +262,3 @@ exports.issueRuns = issueRuns;
262
262
  exports.issueStatuses = issueStatuses;
263
263
  exports.issues = issues;
264
264
  exports.kanbanMeta = kanbanMeta;
265
-
266
- //# sourceMappingURL=schema.cjs.map
@@ -252,5 +252,3 @@ const boardSqliteSchema = {
252
252
  };
253
253
  //#endregion
254
254
  export { boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issuePullRequests, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta };
255
-
256
- //# sourceMappingURL=schema.mjs.map