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.
- package/CHANGELOG.md +202 -0
- package/README.md +17 -46
- package/dist/{better-sqlite3-fU3G4xnX.cjs → better-sqlite3-DPdSZ6sH.cjs} +244 -247
- package/dist/cli-main.cjs +51690 -0
- package/dist/cli.cjs +32 -45216
- package/dist/dist-IHRTF-b5.cjs +2552 -0
- package/dist/lib/{tool-names-WfH4IURz.d.cts → approval-BsBk2xVr.d.cts} +72 -3
- package/dist/lib/{tool-names-3q_GEZej.d.mts → approval-LRZ6ontC.d.mts} +72 -3
- package/dist/lib/{board-store-BvWn9xTB.d.mts → board-store-D_Mpfb84.d.mts} +75 -2
- package/dist/lib/{board-store-BfszzAJB.d.cts → board-store-Dx-mw2I6.d.cts} +75 -2
- package/dist/lib/index.cjs +8 -2
- package/dist/lib/index.d.cts +202 -91
- package/dist/lib/index.d.mts +202 -91
- package/dist/lib/index.mjs +3 -3
- package/dist/lib/{manifest-D9nCRtXM.cjs → manifest-DcIMYvWk.cjs} +7363 -1556
- package/dist/lib/manifest-Dmo6IlWk.mjs +14654 -0
- package/dist/lib/mcp/index.cjs +166 -22
- package/dist/lib/mcp/index.d.cts +144 -5
- package/dist/lib/mcp/index.d.mts +144 -5
- package/dist/lib/mcp/index.mjs +162 -23
- package/dist/lib/{migrate-DnMjTCvu.cjs → migrate-Dca5WdYd.cjs} +144 -14
- package/dist/lib/{migrate-BhYi9cXw.mjs → migrate-DtBeW3Fs.mjs} +134 -16
- package/dist/lib/{migrations-path-Ciwan537.mjs → migrations-path-ClaYRNwk.mjs} +5 -7
- package/dist/lib/{migrations-path-CZxVOgeD.cjs → migrations-path-DBCE17dT.cjs} +5 -7
- package/dist/lib/postgres/index.cjs +2 -4
- package/dist/lib/postgres/index.d.cts +2 -3
- package/dist/lib/postgres/index.d.mts +2 -3
- package/dist/lib/postgres/index.mjs +2 -4
- package/dist/lib/{roles.sql-CvyCGt38.mjs → roles.sql-BoOZSkBp.mjs} +96 -5
- package/dist/lib/{roles.sql-B9rt-x4o.cjs → roles.sql-E58x7mLS.cjs} +95 -4
- package/dist/lib/schema-D0MyXcej.d.cts +1 -2
- package/dist/lib/schema-D0MyXcej.d.mts +1 -2
- package/dist/lib/schema-epoch-ZyumVL_A.d.cts +1 -2
- package/dist/lib/schema-epoch-ZyumVL_A.d.mts +1 -2
- package/dist/lib/sqlite/index.cjs +2 -2
- package/dist/lib/sqlite/index.d.cts +3 -4
- package/dist/lib/sqlite/index.d.mts +3 -4
- package/dist/lib/sqlite/index.mjs +2 -2
- package/dist/lib/sqlite/schema.cjs +0 -2
- package/dist/lib/sqlite/schema.mjs +0 -2
- package/dist/page/board.css +1622 -327
- package/dist/page/board.js +2 -2
- package/package.json +13 -10
- package/dist/better-sqlite3-fU3G4xnX.cjs.map +0 -1
- package/dist/cli.cjs.map +0 -1
- package/dist/dist-BsCwQFEl.cjs +0 -989
- package/dist/dist-BsCwQFEl.cjs.map +0 -1
- package/dist/lib/manifest-D9nCRtXM.cjs.map +0 -1
- package/dist/lib/manifest-DHV2fRdO.mjs +0 -8933
- package/dist/lib/manifest-DHV2fRdO.mjs.map +0 -1
- package/dist/lib/mcp/index.cjs.map +0 -1
- package/dist/lib/mcp/index.mjs.map +0 -1
- package/dist/lib/migrate-BhYi9cXw.mjs.map +0 -1
- package/dist/lib/migrate-DnMjTCvu.cjs.map +0 -1
- package/dist/lib/migrations-path-CZxVOgeD.cjs.map +0 -1
- package/dist/lib/migrations-path-Ciwan537.mjs.map +0 -1
- package/dist/lib/postgres/index.cjs.map +0 -1
- package/dist/lib/postgres/index.mjs.map +0 -1
- package/dist/lib/roles.sql-B9rt-x4o.cjs.map +0 -1
- package/dist/lib/roles.sql-CvyCGt38.mjs.map +0 -1
- package/dist/lib/sqlite/schema.cjs.map +0 -1
- package/dist/lib/sqlite/schema.mjs.map +0 -1
- package/drizzle-postgres/0000_board.sql +0 -135
- package/drizzle-postgres/0001_history_order.sql +0 -2
- package/drizzle-postgres/0002_issue_pull_requests.sql +0 -16
- package/drizzle-postgres/0003_milestone_start_date.sql +0 -1
- package/drizzle-postgres/0004_status_entry_rules.sql +0 -1
- package/drizzle-postgres/0005_run_external_session_ref.sql +0 -1
- package/drizzle-postgres/README.md +0 -61
- package/drizzle-postgres/meta/0000_snapshot.json +0 -1078
- package/drizzle-postgres/meta/0001_snapshot.json +0 -1090
- package/drizzle-postgres/meta/0002_snapshot.json +0 -1239
- package/drizzle-postgres/meta/0003_snapshot.json +0 -1245
- package/drizzle-postgres/meta/0004_snapshot.json +0 -1251
- package/drizzle-postgres/meta/0005_snapshot.json +0 -1257
- package/drizzle-postgres/meta/_journal.json +0 -48
- package/drizzle-sqlite/0000_board.sql +0 -133
- package/drizzle-sqlite/0001_issue_pull_requests.sql +0 -15
- package/drizzle-sqlite/0002_milestone_start_date.sql +0 -1
- package/drizzle-sqlite/0003_status_entry_rules.sql +0 -1
- package/drizzle-sqlite/0004_run_external_session_ref.sql +0 -1
- package/drizzle-sqlite/README.md +0 -67
- package/drizzle-sqlite/meta/0000_snapshot.json +0 -946
- package/drizzle-sqlite/meta/0001_snapshot.json +0 -1054
- package/drizzle-sqlite/meta/0002_snapshot.json +0 -1061
- package/drizzle-sqlite/meta/0003_snapshot.json +0 -1068
- package/drizzle-sqlite/meta/0004_snapshot.json +0 -1075
- package/drizzle-sqlite/meta/_journal.json +0 -41
|
@@ -1,8 +1,18 @@
|
|
|
1
|
-
const require_migrations_path = require("./migrations-path-
|
|
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 };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_migrations_path = require("../migrations-path-
|
|
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 {
|
|
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 {
|
|
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-
|
|
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 };
|