kanbo-cli 0.4.0 → 0.6.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 +30 -0
- package/dist/cli-main.cjs +1322 -154
- package/dist/drizzle-postgres/0006_flow_rules_and_column_entries.sql +3 -0
- package/dist/drizzle-postgres/README.md +8 -0
- package/dist/drizzle-postgres/meta/0006_snapshot.json +1290 -0
- package/dist/drizzle-postgres/meta/_journal.json +7 -0
- package/dist/drizzle-sqlite/0005_flow_rules_and_column_entries.sql +3 -0
- package/dist/drizzle-sqlite/README.md +8 -0
- package/dist/drizzle-sqlite/meta/0005_snapshot.json +1097 -0
- package/dist/drizzle-sqlite/meta/_journal.json +7 -0
- package/dist/lib/{approval-BsBk2xVr.d.cts → approval-CnJJfwfi.d.mts} +30 -6
- package/dist/lib/{approval-LRZ6ontC.d.mts → approval-DNfUhYD5.d.cts} +30 -6
- package/dist/lib/{board-store-D_Mpfb84.d.mts → board-store-BjhiH9TZ.d.mts} +38 -2
- package/dist/lib/{board-store-Dx-mw2I6.d.cts → board-store-CsyBXBwH.d.cts} +38 -2
- package/dist/lib/index.cjs +9 -1
- package/dist/lib/index.d.cts +302 -6
- package/dist/lib/index.d.mts +302 -6
- package/dist/lib/index.mjs +2 -2
- package/dist/lib/{manifest-DcIMYvWk.cjs → manifest-BFI4HGPh.cjs} +1410 -225
- package/dist/lib/{manifest-Dmo6IlWk.mjs → manifest-DHI1fkoW.mjs} +1395 -258
- package/dist/lib/mcp/index.cjs +24 -4
- package/dist/lib/mcp/index.d.cts +19 -4
- package/dist/lib/mcp/index.d.mts +19 -4
- package/dist/lib/mcp/index.mjs +24 -4
- package/dist/lib/{migrate-Dca5WdYd.cjs → migrate-36aT0rV0.cjs} +17 -0
- package/dist/lib/{migrate-DtBeW3Fs.mjs → migrate-Bgj_aABY.mjs} +18 -1
- package/dist/lib/postgres/index.cjs +1 -1
- package/dist/lib/postgres/index.d.cts +69 -1
- package/dist/lib/postgres/index.d.mts +69 -1
- package/dist/lib/postgres/index.mjs +1 -1
- package/dist/lib/{roles.sql-BoOZSkBp.mjs → roles.sql-9OkYvsNM.mjs} +26 -2
- package/dist/lib/{roles.sql-E58x7mLS.cjs → roles.sql-BC7k_zPh.cjs} +25 -1
- package/dist/lib/{schema-D0MyXcej.d.cts → schema-Cwx3HosC.d.cts} +72 -0
- package/dist/lib/{schema-D0MyXcej.d.mts → schema-Cwx3HosC.d.mts} +72 -0
- package/dist/lib/sqlite/index.cjs +1 -1
- package/dist/lib/sqlite/index.d.cts +2 -2
- package/dist/lib/sqlite/index.d.mts +2 -2
- package/dist/lib/sqlite/index.mjs +1 -1
- package/dist/lib/sqlite/schema.cjs +13 -1
- package/dist/lib/sqlite/schema.d.cts +1 -1
- package/dist/lib/sqlite/schema.d.mts +1 -1
- package/dist/lib/sqlite/schema.mjs +13 -1
- package/package.json +1 -1
package/dist/lib/mcp/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_manifest = require("../manifest-
|
|
2
|
+
const require_manifest = require("../manifest-BFI4HGPh.cjs");
|
|
3
3
|
const require_migrations_path = require("../migrations-path-DBCE17dT.cjs");
|
|
4
4
|
let zod = require("zod");
|
|
5
5
|
//#region src/mcp/http-transport.ts
|
|
@@ -42,7 +42,9 @@ const StatusSchema = zod.z.object({
|
|
|
42
42
|
name: zod.z.string(),
|
|
43
43
|
description: zod.z.string().nullable(),
|
|
44
44
|
order: zod.z.number(),
|
|
45
|
-
entryRules: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).nullish()
|
|
45
|
+
entryRules: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).nullish(),
|
|
46
|
+
allowedFrom: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).nullish(),
|
|
47
|
+
wipLimit: zod.z.number().nullish()
|
|
46
48
|
});
|
|
47
49
|
const CommentSchema = zod.z.object({
|
|
48
50
|
id: zod.z.string(),
|
|
@@ -117,7 +119,8 @@ const FieldChangeSchema = zod.z.object({
|
|
|
117
119
|
function createHttpTransport(input) {
|
|
118
120
|
const { request } = input;
|
|
119
121
|
async function readColumns() {
|
|
120
|
-
|
|
122
|
+
const statuses = zod.z.array(StatusSchema).parse(await request("GET", `/issues/statuses?workspaceId=${encodeURIComponent(input.workspaceId())}`));
|
|
123
|
+
return statuses.map((status) => require_manifest.projectKanboColumn(status, statuses));
|
|
121
124
|
}
|
|
122
125
|
/**
|
|
123
126
|
* One card as a tool prints it. The response carries the column as a foreign
|
|
@@ -293,7 +296,24 @@ function createHttpTransport(input) {
|
|
|
293
296
|
runFinish: async ({ run, state, errorText }) => require_manifest.projectKanboRun(RunSchema.parse(await request("PATCH", `/issues/runs/${encodeURIComponent(run)}`, {
|
|
294
297
|
state,
|
|
295
298
|
...errorText !== void 0 ? { errorText } : {}
|
|
296
|
-
})))
|
|
299
|
+
}))),
|
|
300
|
+
cardClaim: async ({ card, agent }) => {
|
|
301
|
+
const answer = zod.z.object({
|
|
302
|
+
card: IssueSchema,
|
|
303
|
+
run: RunSchema,
|
|
304
|
+
column: StatusSchema
|
|
305
|
+
}).parse(await request("POST", "/issues/claim", {
|
|
306
|
+
workspaceId: input.workspaceId(),
|
|
307
|
+
...card !== void 0 ? { issueId: card } : {},
|
|
308
|
+
...agent !== void 0 ? { agentName: agent } : {}
|
|
309
|
+
}));
|
|
310
|
+
const columns = await readColumns();
|
|
311
|
+
return {
|
|
312
|
+
card: require_manifest.projectKanboCard(answer.card, columns),
|
|
313
|
+
run: require_manifest.projectKanboRun(answer.run),
|
|
314
|
+
column: columns.find((column) => column.id === answer.column.id) ?? require_manifest.projectKanboColumn(answer.column, columns)
|
|
315
|
+
};
|
|
316
|
+
}
|
|
297
317
|
};
|
|
298
318
|
}
|
|
299
319
|
/**
|
package/dist/lib/mcp/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as IssueRun, t as Issue } from "../schema-
|
|
2
|
-
import { _ as EntryRule, d as KANBO_TOOL_CLI_EQUIVALENTS, f as KANBO_TOOL_NAMES, i as IssueActorKind, m as KanboToolName, p as KanboToolCliEquivalent, r as CardLastComment } from "../approval-
|
|
1
|
+
import { s as IssueRun, t as Issue } from "../schema-Cwx3HosC.cjs";
|
|
2
|
+
import { _ as EntryRule, d as KANBO_TOOL_CLI_EQUIVALENTS, f as KANBO_TOOL_NAMES, i as IssueActorKind, m as KanboToolName, p as KanboToolCliEquivalent, r as CardLastComment } from "../approval-DNfUhYD5.cjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
5
|
import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
@@ -148,6 +148,10 @@ interface KanboColumnResult {
|
|
|
148
148
|
order: number;
|
|
149
149
|
/** What a card must satisfy before an agent may move it here; empty for nothing. */
|
|
150
150
|
entryRules: EntryRule[];
|
|
151
|
+
/** The slugs of the columns a card may enter this one from, in board order; `null` for any column, `[]` for none — only a person puts a card here. */
|
|
152
|
+
allowedFrom: string[] | null;
|
|
153
|
+
/** The most cards the column holds; `null` for no limit. */
|
|
154
|
+
wipLimit: number | null;
|
|
151
155
|
}
|
|
152
156
|
/**
|
|
153
157
|
* A milestone read as a sprint, as `kanbo_sprints` hands it to an agent: its
|
|
@@ -230,6 +234,12 @@ interface KanboRunStartInput {
|
|
|
230
234
|
/** Where the agent's own log of this run lives: `claude:<id>` or `codex:<id>` (ruling 7-1). */
|
|
231
235
|
session?: string;
|
|
232
236
|
}
|
|
237
|
+
/** What `kanbo_card_claim` hands back: the card where it now is, the run it started, and the column it went to. */
|
|
238
|
+
interface KanboClaimResult {
|
|
239
|
+
card: KanboCardResult;
|
|
240
|
+
run: KanboRunResult;
|
|
241
|
+
column: KanboColumnResult;
|
|
242
|
+
}
|
|
233
243
|
/** How `kanbo_run_finish` says a run ended. */
|
|
234
244
|
interface KanboRunFinishInput {
|
|
235
245
|
run: string;
|
|
@@ -295,6 +305,11 @@ interface KanboToolTransport {
|
|
|
295
305
|
}) => Promise<KanboCardResult>;
|
|
296
306
|
runStart: (input: KanboRunStartInput) => Promise<KanboRunResult>;
|
|
297
307
|
runFinish: (input: KanboRunFinishInput) => Promise<KanboRunResult>;
|
|
308
|
+
/** Take a card — `card`, or the first ready one — starting a run named `agent` (the transport's own name for the caller when absent) and moving it into work. */
|
|
309
|
+
cardClaim: (input: {
|
|
310
|
+
card?: string;
|
|
311
|
+
agent?: string;
|
|
312
|
+
}) => Promise<KanboClaimResult>;
|
|
298
313
|
}
|
|
299
314
|
/**
|
|
300
315
|
* A card as either transport already has it: the row's own fields with the
|
|
@@ -447,7 +462,7 @@ interface KanboTool {
|
|
|
447
462
|
/**
|
|
448
463
|
* Every tool the board has, in the order it declares them.
|
|
449
464
|
*
|
|
450
|
-
* The list is the board's, not a server's: the same
|
|
465
|
+
* The list is the board's, not a server's: the same seventeen are registered
|
|
451
466
|
* whether they run against a server or against the board directly, and the
|
|
452
467
|
* only thing a host decides is which of them it publishes.
|
|
453
468
|
*/
|
|
@@ -499,4 +514,4 @@ export declare function registerKanboTools(server: McpServer, transport: KanboTo
|
|
|
499
514
|
*/
|
|
500
515
|
export declare function createKanboMcpServer(transport: KanboToolTransport, options: KanboToolOptions): McpServer;
|
|
501
516
|
//#endregion
|
|
502
|
-
export { KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, type KanboActiveRunResult, type KanboCardCommentResult, type KanboCardCreateInput, type KanboCardDetailResult, type KanboCardFacts, type KanboCardInclude, type KanboCardPage, type KanboCardQuery, type KanboCardResult, type KanboCardUpdateInput, type KanboColumnResult, type KanboCommentResult, type KanboFieldChangeResult, type KanboHttpRequest, type KanboHttpTransportInput, type KanboPullRequestResult, type KanboReadyPage, type KanboRunFinishInput, type KanboRunResult, type KanboRunStartInput, type KanboSprintResult, type KanboTool, type KanboToolCliEquivalent, type KanboToolName, type KanboToolOptions, type KanboToolRegistration, type KanboToolResult, type KanboToolTransport };
|
|
517
|
+
export { KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, type KanboActiveRunResult, type KanboCardCommentResult, type KanboCardCreateInput, type KanboCardDetailResult, type KanboCardFacts, type KanboCardInclude, type KanboCardPage, type KanboCardQuery, type KanboCardResult, type KanboCardUpdateInput, type KanboClaimResult, type KanboColumnResult, type KanboCommentResult, type KanboFieldChangeResult, type KanboHttpRequest, type KanboHttpTransportInput, type KanboPullRequestResult, type KanboReadyPage, type KanboRunFinishInput, type KanboRunResult, type KanboRunStartInput, type KanboSprintResult, type KanboTool, type KanboToolCliEquivalent, type KanboToolName, type KanboToolOptions, type KanboToolRegistration, type KanboToolResult, type KanboToolTransport };
|
package/dist/lib/mcp/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as IssueRun, t as Issue } from "../schema-
|
|
2
|
-
import { _ as EntryRule, d as KANBO_TOOL_CLI_EQUIVALENTS, f as KANBO_TOOL_NAMES, i as IssueActorKind, m as KanboToolName, p as KanboToolCliEquivalent, r as CardLastComment } from "../approval-
|
|
1
|
+
import { s as IssueRun, t as Issue } from "../schema-Cwx3HosC.mjs";
|
|
2
|
+
import { _ as EntryRule, d as KANBO_TOOL_CLI_EQUIVALENTS, f as KANBO_TOOL_NAMES, i as IssueActorKind, m as KanboToolName, p as KanboToolCliEquivalent, r as CardLastComment } from "../approval-CnJJfwfi.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
5
|
import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
@@ -148,6 +148,10 @@ interface KanboColumnResult {
|
|
|
148
148
|
order: number;
|
|
149
149
|
/** What a card must satisfy before an agent may move it here; empty for nothing. */
|
|
150
150
|
entryRules: EntryRule[];
|
|
151
|
+
/** The slugs of the columns a card may enter this one from, in board order; `null` for any column, `[]` for none — only a person puts a card here. */
|
|
152
|
+
allowedFrom: string[] | null;
|
|
153
|
+
/** The most cards the column holds; `null` for no limit. */
|
|
154
|
+
wipLimit: number | null;
|
|
151
155
|
}
|
|
152
156
|
/**
|
|
153
157
|
* A milestone read as a sprint, as `kanbo_sprints` hands it to an agent: its
|
|
@@ -230,6 +234,12 @@ interface KanboRunStartInput {
|
|
|
230
234
|
/** Where the agent's own log of this run lives: `claude:<id>` or `codex:<id>` (ruling 7-1). */
|
|
231
235
|
session?: string;
|
|
232
236
|
}
|
|
237
|
+
/** What `kanbo_card_claim` hands back: the card where it now is, the run it started, and the column it went to. */
|
|
238
|
+
interface KanboClaimResult {
|
|
239
|
+
card: KanboCardResult;
|
|
240
|
+
run: KanboRunResult;
|
|
241
|
+
column: KanboColumnResult;
|
|
242
|
+
}
|
|
233
243
|
/** How `kanbo_run_finish` says a run ended. */
|
|
234
244
|
interface KanboRunFinishInput {
|
|
235
245
|
run: string;
|
|
@@ -295,6 +305,11 @@ interface KanboToolTransport {
|
|
|
295
305
|
}) => Promise<KanboCardResult>;
|
|
296
306
|
runStart: (input: KanboRunStartInput) => Promise<KanboRunResult>;
|
|
297
307
|
runFinish: (input: KanboRunFinishInput) => Promise<KanboRunResult>;
|
|
308
|
+
/** Take a card — `card`, or the first ready one — starting a run named `agent` (the transport's own name for the caller when absent) and moving it into work. */
|
|
309
|
+
cardClaim: (input: {
|
|
310
|
+
card?: string;
|
|
311
|
+
agent?: string;
|
|
312
|
+
}) => Promise<KanboClaimResult>;
|
|
298
313
|
}
|
|
299
314
|
/**
|
|
300
315
|
* A card as either transport already has it: the row's own fields with the
|
|
@@ -447,7 +462,7 @@ interface KanboTool {
|
|
|
447
462
|
/**
|
|
448
463
|
* Every tool the board has, in the order it declares them.
|
|
449
464
|
*
|
|
450
|
-
* The list is the board's, not a server's: the same
|
|
465
|
+
* The list is the board's, not a server's: the same seventeen are registered
|
|
451
466
|
* whether they run against a server or against the board directly, and the
|
|
452
467
|
* only thing a host decides is which of them it publishes.
|
|
453
468
|
*/
|
|
@@ -499,4 +514,4 @@ export declare function registerKanboTools(server: McpServer, transport: KanboTo
|
|
|
499
514
|
*/
|
|
500
515
|
export declare function createKanboMcpServer(transport: KanboToolTransport, options: KanboToolOptions): McpServer;
|
|
501
516
|
//#endregion
|
|
502
|
-
export { KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, type KanboActiveRunResult, type KanboCardCommentResult, type KanboCardCreateInput, type KanboCardDetailResult, type KanboCardFacts, type KanboCardInclude, type KanboCardPage, type KanboCardQuery, type KanboCardResult, type KanboCardUpdateInput, type KanboColumnResult, type KanboCommentResult, type KanboFieldChangeResult, type KanboHttpRequest, type KanboHttpTransportInput, type KanboPullRequestResult, type KanboReadyPage, type KanboRunFinishInput, type KanboRunResult, type KanboRunStartInput, type KanboSprintResult, type KanboTool, type KanboToolCliEquivalent, type KanboToolName, type KanboToolOptions, type KanboToolRegistration, type KanboToolResult, type KanboToolTransport };
|
|
517
|
+
export { KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, type KanboActiveRunResult, type KanboCardCommentResult, type KanboCardCreateInput, type KanboCardDetailResult, type KanboCardFacts, type KanboCardInclude, type KanboCardPage, type KanboCardQuery, type KanboCardResult, type KanboCardUpdateInput, type KanboClaimResult, type KanboColumnResult, type KanboCommentResult, type KanboFieldChangeResult, type KanboHttpRequest, type KanboHttpTransportInput, type KanboPullRequestResult, type KanboReadyPage, type KanboRunFinishInput, type KanboRunResult, type KanboRunStartInput, type KanboSprintResult, type KanboTool, type KanboToolCliEquivalent, type KanboToolName, type KanboToolOptions, type KanboToolRegistration, type KanboToolResult, type KanboToolTransport };
|
package/dist/lib/mcp/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as projectKanboSprint, C as pageOf, D as projectKanboFieldChange, E as projectKanboColumn, O as projectKanboPullRequest, S as matchesKanboCardQuery, T as projectKanboCardComment, b as DEFAULT_KANBO_COMMENT_LIMIT, c as registerKanboTools, d as KANBO_MCP_INSTRUCTIONS, f as KANBO_CAPABILITIES_MARKDOWN_RESOURCE_URI,
|
|
1
|
+
import { A as projectKanboSprint, C as pageOf, D as projectKanboFieldChange, E as projectKanboColumn, O as projectKanboPullRequest, S as matchesKanboCardQuery, T as projectKanboCardComment, b as DEFAULT_KANBO_COMMENT_LIMIT, c as registerKanboTools, d as KANBO_MCP_INSTRUCTIONS, f as KANBO_CAPABILITIES_MARKDOWN_RESOURCE_URI, ht as previewComment, i as KANBO_TOOL_NAMES, j as projectKanboSubCard, k as projectKanboRun, l as KANBO_TOOLS, m as registerKanboCapabilitiesResources, o as KANBO_MCP_SERVER_NAME, p as KANBO_CAPABILITIES_RESOURCE_URI, pt as normalizeStatusName, r as KANBO_TOOL_CLI_EQUIVALENTS, s as createKanboMcpServer, u as buildKanboTools, w as projectKanboCard, x as KANBO_CARD_INCLUDES, y as DEFAULT_KANBO_CARD_INCLUDES } from "../manifest-DHI1fkoW.mjs";
|
|
2
2
|
import { a as BoardError } from "../migrations-path-ClaYRNwk.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/mcp/http-transport.ts
|
|
@@ -41,7 +41,9 @@ const StatusSchema = z.object({
|
|
|
41
41
|
name: z.string(),
|
|
42
42
|
description: z.string().nullable(),
|
|
43
43
|
order: z.number(),
|
|
44
|
-
entryRules: z.union([z.string(), z.array(z.string())]).nullish()
|
|
44
|
+
entryRules: z.union([z.string(), z.array(z.string())]).nullish(),
|
|
45
|
+
allowedFrom: z.union([z.string(), z.array(z.string())]).nullish(),
|
|
46
|
+
wipLimit: z.number().nullish()
|
|
45
47
|
});
|
|
46
48
|
const CommentSchema = z.object({
|
|
47
49
|
id: z.string(),
|
|
@@ -116,7 +118,8 @@ const FieldChangeSchema = z.object({
|
|
|
116
118
|
function createHttpTransport(input) {
|
|
117
119
|
const { request } = input;
|
|
118
120
|
async function readColumns() {
|
|
119
|
-
|
|
121
|
+
const statuses = z.array(StatusSchema).parse(await request("GET", `/issues/statuses?workspaceId=${encodeURIComponent(input.workspaceId())}`));
|
|
122
|
+
return statuses.map((status) => projectKanboColumn(status, statuses));
|
|
120
123
|
}
|
|
121
124
|
/**
|
|
122
125
|
* One card as a tool prints it. The response carries the column as a foreign
|
|
@@ -292,7 +295,24 @@ function createHttpTransport(input) {
|
|
|
292
295
|
runFinish: async ({ run, state, errorText }) => projectKanboRun(RunSchema.parse(await request("PATCH", `/issues/runs/${encodeURIComponent(run)}`, {
|
|
293
296
|
state,
|
|
294
297
|
...errorText !== void 0 ? { errorText } : {}
|
|
295
|
-
})))
|
|
298
|
+
}))),
|
|
299
|
+
cardClaim: async ({ card, agent }) => {
|
|
300
|
+
const answer = z.object({
|
|
301
|
+
card: IssueSchema,
|
|
302
|
+
run: RunSchema,
|
|
303
|
+
column: StatusSchema
|
|
304
|
+
}).parse(await request("POST", "/issues/claim", {
|
|
305
|
+
workspaceId: input.workspaceId(),
|
|
306
|
+
...card !== void 0 ? { issueId: card } : {},
|
|
307
|
+
...agent !== void 0 ? { agentName: agent } : {}
|
|
308
|
+
}));
|
|
309
|
+
const columns = await readColumns();
|
|
310
|
+
return {
|
|
311
|
+
card: projectKanboCard(answer.card, columns),
|
|
312
|
+
run: projectKanboRun(answer.run),
|
|
313
|
+
column: columns.find((column) => column.id === answer.column.id) ?? projectKanboColumn(answer.column, columns)
|
|
314
|
+
};
|
|
315
|
+
}
|
|
296
316
|
};
|
|
297
317
|
}
|
|
298
318
|
/**
|
|
@@ -306,6 +306,7 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
306
306
|
}).from(require_sqlite_schema.issues).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issues.workspaceId, workspaceId), (0, drizzle_orm.isNotNull)(require_sqlite_schema.issues.milestoneId))).groupBy(require_sqlite_schema.issues.milestoneId, require_sqlite_schema.issues.statusId).all(),
|
|
307
307
|
listByIds: (issueIds) => resolveDatabase().select().from(require_sqlite_schema.issues).where((0, drizzle_orm.inArray)(require_sqlite_schema.issues.id, issueIds)).all(),
|
|
308
308
|
findById: (issueId) => resolveDatabase().select().from(require_sqlite_schema.issues).where((0, drizzle_orm.eq)(require_sqlite_schema.issues.id, issueId)).get() ?? null,
|
|
309
|
+
lockById: (issueId) => resolveDatabase().select().from(require_sqlite_schema.issues).where((0, drizzle_orm.eq)(require_sqlite_schema.issues.id, issueId)).get() ?? null,
|
|
309
310
|
findInWorkspace: (workspaceId, issueId) => resolveDatabase().select().from(require_sqlite_schema.issues).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issues.id, issueId), (0, drizzle_orm.eq)(require_sqlite_schema.issues.workspaceId, workspaceId))).get() ?? null,
|
|
310
311
|
findByNumber: (workspaceId, number) => resolveDatabase().select().from(require_sqlite_schema.issues).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issues.workspaceId, workspaceId), (0, drizzle_orm.eq)(require_sqlite_schema.issues.number, number))).get() ?? null,
|
|
311
312
|
maxNumber: (workspaceId) => {
|
|
@@ -342,6 +343,10 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
342
343
|
},
|
|
343
344
|
comments: {
|
|
344
345
|
listByIssue: (issueId) => resolveDatabase().select().from(require_sqlite_schema.issueComments).where((0, drizzle_orm.eq)(require_sqlite_schema.issueComments.issueId, issueId)).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueComments.createdAt), COMMENT_INSERTION_ORDER).all(),
|
|
346
|
+
listByWorkspaces: (workspaceIds, authorKinds) => {
|
|
347
|
+
if (workspaceIds.length === 0 || authorKinds.length === 0) return [];
|
|
348
|
+
return resolveDatabase().select((0, drizzle_orm.getTableColumns)(require_sqlite_schema.issueComments)).from(require_sqlite_schema.issueComments).innerJoin(require_sqlite_schema.issues, (0, drizzle_orm.eq)(require_sqlite_schema.issues.id, require_sqlite_schema.issueComments.issueId)).where((0, drizzle_orm.and)((0, drizzle_orm.inArray)(require_sqlite_schema.issues.workspaceId, [...workspaceIds]), (0, drizzle_orm.inArray)(require_sqlite_schema.issueComments.authorKind, [...authorKinds]))).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueComments.createdAt), COMMENT_INSERTION_ORDER).all();
|
|
349
|
+
},
|
|
345
350
|
listLatestByIssues: (issueIds, authorKinds) => {
|
|
346
351
|
if (issueIds.length === 0 || authorKinds?.length === 0) return [];
|
|
347
352
|
const database = resolveDatabase();
|
|
@@ -371,6 +376,10 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
371
376
|
listByIssue: (issueId) => resolveDatabase().select().from(require_sqlite_schema.issueRuns).where((0, drizzle_orm.eq)(require_sqlite_schema.issueRuns.issueId, issueId)).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueRuns.startedAt), RUN_INSERTION_ORDER).all(),
|
|
372
377
|
listRunning: (issueId) => resolveDatabase().select().from(require_sqlite_schema.issueRuns).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issueRuns.issueId, issueId), (0, drizzle_orm.eq)(require_sqlite_schema.issueRuns.state, "running"))).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueRuns.startedAt), RUN_INSERTION_ORDER).all(),
|
|
373
378
|
listRunningWithSession: () => resolveDatabase().select().from(require_sqlite_schema.issueRuns).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issueRuns.state, "running"), (0, drizzle_orm.isNotNull)(require_sqlite_schema.issueRuns.chatSessionId))).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueRuns.startedAt), RUN_INSERTION_ORDER).all(),
|
|
379
|
+
listByWorkspaces: (workspaceIds) => {
|
|
380
|
+
if (workspaceIds.length === 0) return [];
|
|
381
|
+
return resolveDatabase().select((0, drizzle_orm.getTableColumns)(require_sqlite_schema.issueRuns)).from(require_sqlite_schema.issueRuns).innerJoin(require_sqlite_schema.issues, (0, drizzle_orm.eq)(require_sqlite_schema.issues.id, require_sqlite_schema.issueRuns.issueId)).where((0, drizzle_orm.inArray)(require_sqlite_schema.issues.workspaceId, [...workspaceIds])).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueRuns.startedAt), RUN_INSERTION_ORDER).all();
|
|
382
|
+
},
|
|
374
383
|
findById: (runId) => resolveDatabase().select().from(require_sqlite_schema.issueRuns).where((0, drizzle_orm.eq)(require_sqlite_schema.issueRuns.id, runId)).get() ?? null,
|
|
375
384
|
findByChatSessionId: (chatSessionId) => resolveDatabase().select().from(require_sqlite_schema.issueRuns).where((0, drizzle_orm.eq)(require_sqlite_schema.issueRuns.chatSessionId, chatSessionId)).orderBy((0, drizzle_orm.desc)(require_sqlite_schema.issueRuns.startedAt), drizzle_orm.sql`${require_sqlite_schema.issueRuns}.rowid desc`).get() ?? null,
|
|
376
385
|
countByIssue: (issueId) => {
|
|
@@ -403,6 +412,10 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
403
412
|
fieldChanges: {
|
|
404
413
|
listByIssue: (issueId) => resolveDatabase().select().from(require_sqlite_schema.issueFieldChanges).where((0, drizzle_orm.eq)(require_sqlite_schema.issueFieldChanges.issueId, issueId)).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueFieldChanges.createdAt), FIELD_CHANGE_INSERTION_ORDER).all(),
|
|
405
414
|
listByIssueField: (issueId, field) => resolveDatabase().select().from(require_sqlite_schema.issueFieldChanges).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issueFieldChanges.issueId, issueId), (0, drizzle_orm.eq)(require_sqlite_schema.issueFieldChanges.field, field))).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueFieldChanges.createdAt), FIELD_CHANGE_INSERTION_ORDER).all(),
|
|
415
|
+
listByFieldSince: (field, query) => query.workspaceIds.length === 0 ? [] : resolveDatabase().select({
|
|
416
|
+
...(0, drizzle_orm.getTableColumns)(require_sqlite_schema.issueFieldChanges),
|
|
417
|
+
workspaceId: require_sqlite_schema.issues.workspaceId
|
|
418
|
+
}).from(require_sqlite_schema.issueFieldChanges).innerJoin(require_sqlite_schema.issues, (0, drizzle_orm.eq)(require_sqlite_schema.issues.id, require_sqlite_schema.issueFieldChanges.issueId)).where((0, drizzle_orm.and)((0, drizzle_orm.eq)(require_sqlite_schema.issueFieldChanges.field, field), (0, drizzle_orm.isNotNull)(require_sqlite_schema.issueFieldChanges.toValue), (0, drizzle_orm.gte)(require_sqlite_schema.issueFieldChanges.createdAt, query.since), query.until === void 0 ? void 0 : (0, drizzle_orm.lte)(require_sqlite_schema.issueFieldChanges.createdAt, query.until), (0, drizzle_orm.inArray)(require_sqlite_schema.issues.workspaceId, [...query.workspaceIds]))).orderBy((0, drizzle_orm.asc)(require_sqlite_schema.issueFieldChanges.createdAt), (0, drizzle_orm.asc)(require_sqlite_schema.issueFieldChanges.id)).limit(query.limit ?? Number.MAX_SAFE_INTEGER).all(),
|
|
406
419
|
create: (values) => {
|
|
407
420
|
resolveDatabase().insert(require_sqlite_schema.issueFieldChanges).values(values).run();
|
|
408
421
|
}
|
|
@@ -483,6 +496,7 @@ function createSqliteBoardStore(options) {
|
|
|
483
496
|
countByMilestone: async (workspaceId) => core.issues.countByMilestone(workspaceId),
|
|
484
497
|
listByIds: async (issueIds) => core.issues.listByIds(issueIds),
|
|
485
498
|
findById: async (issueId) => core.issues.findById(issueId),
|
|
499
|
+
lockById: async (issueId) => core.issues.lockById(issueId),
|
|
486
500
|
findInWorkspace: async (workspaceId, issueId) => core.issues.findInWorkspace(workspaceId, issueId),
|
|
487
501
|
findByNumber: async (workspaceId, number) => core.issues.findByNumber(workspaceId, number),
|
|
488
502
|
maxNumber: async (workspaceId) => core.issues.maxNumber(workspaceId),
|
|
@@ -498,6 +512,7 @@ function createSqliteBoardStore(options) {
|
|
|
498
512
|
comments: {
|
|
499
513
|
listByIssue: async (issueId) => core.comments.listByIssue(issueId),
|
|
500
514
|
listLatestByIssues: async (issueIds, authorKinds) => core.comments.listLatestByIssues(issueIds, authorKinds),
|
|
515
|
+
listByWorkspaces: async (workspaceIds, authorKinds) => core.comments.listByWorkspaces(workspaceIds, authorKinds),
|
|
501
516
|
findById: async (commentId) => core.comments.findById(commentId),
|
|
502
517
|
findByDedupeKey: async (issueId, dedupeKey) => core.comments.findByDedupeKey(issueId, dedupeKey),
|
|
503
518
|
listByDedupeKeyPrefix: async (issueId, prefix) => core.comments.listByDedupeKeyPrefix(issueId, prefix),
|
|
@@ -509,6 +524,7 @@ function createSqliteBoardStore(options) {
|
|
|
509
524
|
listByIssue: async (issueId) => core.runs.listByIssue(issueId),
|
|
510
525
|
listRunning: async (issueId) => core.runs.listRunning(issueId),
|
|
511
526
|
listRunningWithSession: async () => core.runs.listRunningWithSession(),
|
|
527
|
+
listByWorkspaces: async (workspaceIds) => core.runs.listByWorkspaces(workspaceIds),
|
|
512
528
|
findById: async (runId) => core.runs.findById(runId),
|
|
513
529
|
findByChatSessionId: async (chatSessionId) => core.runs.findByChatSessionId(chatSessionId),
|
|
514
530
|
countByIssue: async (issueId) => core.runs.countByIssue(issueId),
|
|
@@ -528,6 +544,7 @@ function createSqliteBoardStore(options) {
|
|
|
528
544
|
fieldChanges: {
|
|
529
545
|
listByIssue: async (issueId) => core.fieldChanges.listByIssue(issueId),
|
|
530
546
|
listByIssueField: async (issueId, field) => core.fieldChanges.listByIssueField(issueId, field),
|
|
547
|
+
listByFieldSince: async (field, query) => core.fieldChanges.listByFieldSince(field, query),
|
|
531
548
|
create: async (values) => core.fieldChanges.create(values)
|
|
532
549
|
},
|
|
533
550
|
pullRequests: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as BoardError, i as BOARD_TABLES_ADDED_WITHIN_EPOCH, n as resolveBoardMigrationsPath, t as hasMigrationJournal } from "./migrations-path-ClaYRNwk.mjs";
|
|
2
2
|
import { boardSqliteSchema, issueComments, issueFieldChanges, issueMilestones, issuePullRequests, issueRelations, issueRuns, issueStatuses, issues, kanbanMeta } from "./sqlite/schema.mjs";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
|
-
import { and, asc, desc, eq, getTableColumns, gte, inArray, isNotNull, isNull, or, sql } from "drizzle-orm";
|
|
4
|
+
import { and, asc, desc, eq, getTableColumns, gte, inArray, isNotNull, isNull, lte, or, sql } from "drizzle-orm";
|
|
5
5
|
import { getTableConfig } from "drizzle-orm/sqlite-core";
|
|
6
6
|
import { dirname } from "node:path";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
@@ -306,6 +306,7 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
306
306
|
}).from(issues).where(and(eq(issues.workspaceId, workspaceId), isNotNull(issues.milestoneId))).groupBy(issues.milestoneId, issues.statusId).all(),
|
|
307
307
|
listByIds: (issueIds) => resolveDatabase().select().from(issues).where(inArray(issues.id, issueIds)).all(),
|
|
308
308
|
findById: (issueId) => resolveDatabase().select().from(issues).where(eq(issues.id, issueId)).get() ?? null,
|
|
309
|
+
lockById: (issueId) => resolveDatabase().select().from(issues).where(eq(issues.id, issueId)).get() ?? null,
|
|
309
310
|
findInWorkspace: (workspaceId, issueId) => resolveDatabase().select().from(issues).where(and(eq(issues.id, issueId), eq(issues.workspaceId, workspaceId))).get() ?? null,
|
|
310
311
|
findByNumber: (workspaceId, number) => resolveDatabase().select().from(issues).where(and(eq(issues.workspaceId, workspaceId), eq(issues.number, number))).get() ?? null,
|
|
311
312
|
maxNumber: (workspaceId) => {
|
|
@@ -342,6 +343,10 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
342
343
|
},
|
|
343
344
|
comments: {
|
|
344
345
|
listByIssue: (issueId) => resolveDatabase().select().from(issueComments).where(eq(issueComments.issueId, issueId)).orderBy(asc(issueComments.createdAt), COMMENT_INSERTION_ORDER).all(),
|
|
346
|
+
listByWorkspaces: (workspaceIds, authorKinds) => {
|
|
347
|
+
if (workspaceIds.length === 0 || authorKinds.length === 0) return [];
|
|
348
|
+
return resolveDatabase().select(getTableColumns(issueComments)).from(issueComments).innerJoin(issues, eq(issues.id, issueComments.issueId)).where(and(inArray(issues.workspaceId, [...workspaceIds]), inArray(issueComments.authorKind, [...authorKinds]))).orderBy(asc(issueComments.createdAt), COMMENT_INSERTION_ORDER).all();
|
|
349
|
+
},
|
|
345
350
|
listLatestByIssues: (issueIds, authorKinds) => {
|
|
346
351
|
if (issueIds.length === 0 || authorKinds?.length === 0) return [];
|
|
347
352
|
const database = resolveDatabase();
|
|
@@ -371,6 +376,10 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
371
376
|
listByIssue: (issueId) => resolveDatabase().select().from(issueRuns).where(eq(issueRuns.issueId, issueId)).orderBy(asc(issueRuns.startedAt), RUN_INSERTION_ORDER).all(),
|
|
372
377
|
listRunning: (issueId) => resolveDatabase().select().from(issueRuns).where(and(eq(issueRuns.issueId, issueId), eq(issueRuns.state, "running"))).orderBy(asc(issueRuns.startedAt), RUN_INSERTION_ORDER).all(),
|
|
373
378
|
listRunningWithSession: () => resolveDatabase().select().from(issueRuns).where(and(eq(issueRuns.state, "running"), isNotNull(issueRuns.chatSessionId))).orderBy(asc(issueRuns.startedAt), RUN_INSERTION_ORDER).all(),
|
|
379
|
+
listByWorkspaces: (workspaceIds) => {
|
|
380
|
+
if (workspaceIds.length === 0) return [];
|
|
381
|
+
return resolveDatabase().select(getTableColumns(issueRuns)).from(issueRuns).innerJoin(issues, eq(issues.id, issueRuns.issueId)).where(inArray(issues.workspaceId, [...workspaceIds])).orderBy(asc(issueRuns.startedAt), RUN_INSERTION_ORDER).all();
|
|
382
|
+
},
|
|
374
383
|
findById: (runId) => resolveDatabase().select().from(issueRuns).where(eq(issueRuns.id, runId)).get() ?? null,
|
|
375
384
|
findByChatSessionId: (chatSessionId) => resolveDatabase().select().from(issueRuns).where(eq(issueRuns.chatSessionId, chatSessionId)).orderBy(desc(issueRuns.startedAt), sql`${issueRuns}.rowid desc`).get() ?? null,
|
|
376
385
|
countByIssue: (issueId) => {
|
|
@@ -403,6 +412,10 @@ function createSqliteBoardStoreCore(resolveDatabase) {
|
|
|
403
412
|
fieldChanges: {
|
|
404
413
|
listByIssue: (issueId) => resolveDatabase().select().from(issueFieldChanges).where(eq(issueFieldChanges.issueId, issueId)).orderBy(asc(issueFieldChanges.createdAt), FIELD_CHANGE_INSERTION_ORDER).all(),
|
|
405
414
|
listByIssueField: (issueId, field) => resolveDatabase().select().from(issueFieldChanges).where(and(eq(issueFieldChanges.issueId, issueId), eq(issueFieldChanges.field, field))).orderBy(asc(issueFieldChanges.createdAt), FIELD_CHANGE_INSERTION_ORDER).all(),
|
|
415
|
+
listByFieldSince: (field, query) => query.workspaceIds.length === 0 ? [] : resolveDatabase().select({
|
|
416
|
+
...getTableColumns(issueFieldChanges),
|
|
417
|
+
workspaceId: issues.workspaceId
|
|
418
|
+
}).from(issueFieldChanges).innerJoin(issues, eq(issues.id, issueFieldChanges.issueId)).where(and(eq(issueFieldChanges.field, field), isNotNull(issueFieldChanges.toValue), gte(issueFieldChanges.createdAt, query.since), query.until === void 0 ? void 0 : lte(issueFieldChanges.createdAt, query.until), inArray(issues.workspaceId, [...query.workspaceIds]))).orderBy(asc(issueFieldChanges.createdAt), asc(issueFieldChanges.id)).limit(query.limit ?? Number.MAX_SAFE_INTEGER).all(),
|
|
406
419
|
create: (values) => {
|
|
407
420
|
resolveDatabase().insert(issueFieldChanges).values(values).run();
|
|
408
421
|
}
|
|
@@ -483,6 +496,7 @@ function createSqliteBoardStore(options) {
|
|
|
483
496
|
countByMilestone: async (workspaceId) => core.issues.countByMilestone(workspaceId),
|
|
484
497
|
listByIds: async (issueIds) => core.issues.listByIds(issueIds),
|
|
485
498
|
findById: async (issueId) => core.issues.findById(issueId),
|
|
499
|
+
lockById: async (issueId) => core.issues.lockById(issueId),
|
|
486
500
|
findInWorkspace: async (workspaceId, issueId) => core.issues.findInWorkspace(workspaceId, issueId),
|
|
487
501
|
findByNumber: async (workspaceId, number) => core.issues.findByNumber(workspaceId, number),
|
|
488
502
|
maxNumber: async (workspaceId) => core.issues.maxNumber(workspaceId),
|
|
@@ -498,6 +512,7 @@ function createSqliteBoardStore(options) {
|
|
|
498
512
|
comments: {
|
|
499
513
|
listByIssue: async (issueId) => core.comments.listByIssue(issueId),
|
|
500
514
|
listLatestByIssues: async (issueIds, authorKinds) => core.comments.listLatestByIssues(issueIds, authorKinds),
|
|
515
|
+
listByWorkspaces: async (workspaceIds, authorKinds) => core.comments.listByWorkspaces(workspaceIds, authorKinds),
|
|
501
516
|
findById: async (commentId) => core.comments.findById(commentId),
|
|
502
517
|
findByDedupeKey: async (issueId, dedupeKey) => core.comments.findByDedupeKey(issueId, dedupeKey),
|
|
503
518
|
listByDedupeKeyPrefix: async (issueId, prefix) => core.comments.listByDedupeKeyPrefix(issueId, prefix),
|
|
@@ -509,6 +524,7 @@ function createSqliteBoardStore(options) {
|
|
|
509
524
|
listByIssue: async (issueId) => core.runs.listByIssue(issueId),
|
|
510
525
|
listRunning: async (issueId) => core.runs.listRunning(issueId),
|
|
511
526
|
listRunningWithSession: async () => core.runs.listRunningWithSession(),
|
|
527
|
+
listByWorkspaces: async (workspaceIds) => core.runs.listByWorkspaces(workspaceIds),
|
|
512
528
|
findById: async (runId) => core.runs.findById(runId),
|
|
513
529
|
findByChatSessionId: async (chatSessionId) => core.runs.findByChatSessionId(chatSessionId),
|
|
514
530
|
countByIssue: async (issueId) => core.runs.countByIssue(issueId),
|
|
@@ -528,6 +544,7 @@ function createSqliteBoardStore(options) {
|
|
|
528
544
|
fieldChanges: {
|
|
529
545
|
listByIssue: async (issueId) => core.fieldChanges.listByIssue(issueId),
|
|
530
546
|
listByIssueField: async (issueId, field) => core.fieldChanges.listByIssueField(issueId, field),
|
|
547
|
+
listByFieldSince: async (field, query) => core.fieldChanges.listByFieldSince(field, query),
|
|
531
548
|
create: async (values) => core.fieldChanges.create(values)
|
|
532
549
|
},
|
|
533
550
|
pullRequests: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_migrations_path = require("../migrations-path-DBCE17dT.cjs");
|
|
3
|
-
const require_roles_sql = require("../roles.sql-
|
|
3
|
+
const require_roles_sql = require("../roles.sql-BC7k_zPh.cjs");
|
|
4
4
|
let drizzle_orm = require("drizzle-orm");
|
|
5
5
|
let drizzle_orm_postgres_js_migrator = require("drizzle-orm/postgres-js/migrator");
|
|
6
6
|
let drizzle_orm_pglite_migrator = require("drizzle-orm/pglite/migrator");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as BoardStore } from "../board-store-CsyBXBwH.cjs";
|
|
2
2
|
import { t as BOARD_SCHEMA_EPOCH } from "../schema-epoch-ZyumVL_A.cjs";
|
|
3
3
|
import { PgDatabase, PgQueryResultHKT } from "drizzle-orm/pg-core";
|
|
4
4
|
import { PgliteDatabase } from "drizzle-orm/pglite";
|
|
@@ -297,6 +297,40 @@ export declare const issueStatuses: import("drizzle-orm/pg-core").PgTableWithCol
|
|
|
297
297
|
identity: undefined;
|
|
298
298
|
generated: undefined;
|
|
299
299
|
}, {}, {}>;
|
|
300
|
+
allowedFrom: import("drizzle-orm/pg-core").PgColumn<{
|
|
301
|
+
name: "allowed_from";
|
|
302
|
+
tableName: "issue_statuses";
|
|
303
|
+
dataType: "string";
|
|
304
|
+
columnType: "PgText";
|
|
305
|
+
data: string;
|
|
306
|
+
driverParam: string;
|
|
307
|
+
notNull: false;
|
|
308
|
+
hasDefault: false;
|
|
309
|
+
isPrimaryKey: false;
|
|
310
|
+
isAutoincrement: false;
|
|
311
|
+
hasRuntimeDefault: false;
|
|
312
|
+
enumValues: [string, ...string[]];
|
|
313
|
+
baseColumn: never;
|
|
314
|
+
identity: undefined;
|
|
315
|
+
generated: undefined;
|
|
316
|
+
}, {}, {}>;
|
|
317
|
+
wipLimit: import("drizzle-orm/pg-core").PgColumn<{
|
|
318
|
+
name: "wip_limit";
|
|
319
|
+
tableName: "issue_statuses";
|
|
320
|
+
dataType: "number";
|
|
321
|
+
columnType: "PgInteger";
|
|
322
|
+
data: number;
|
|
323
|
+
driverParam: string | number;
|
|
324
|
+
notNull: false;
|
|
325
|
+
hasDefault: false;
|
|
326
|
+
isPrimaryKey: false;
|
|
327
|
+
isAutoincrement: false;
|
|
328
|
+
hasRuntimeDefault: false;
|
|
329
|
+
enumValues: undefined;
|
|
330
|
+
baseColumn: never;
|
|
331
|
+
identity: undefined;
|
|
332
|
+
generated: undefined;
|
|
333
|
+
}, {}, {}>;
|
|
300
334
|
};
|
|
301
335
|
dialect: 'pg';
|
|
302
336
|
}>;
|
|
@@ -1840,6 +1874,40 @@ export declare const boardPostgresSchema: {
|
|
|
1840
1874
|
identity: undefined;
|
|
1841
1875
|
generated: undefined;
|
|
1842
1876
|
}, {}, {}>;
|
|
1877
|
+
allowedFrom: import("drizzle-orm/pg-core").PgColumn<{
|
|
1878
|
+
name: "allowed_from";
|
|
1879
|
+
tableName: "issue_statuses";
|
|
1880
|
+
dataType: "string";
|
|
1881
|
+
columnType: "PgText";
|
|
1882
|
+
data: string;
|
|
1883
|
+
driverParam: string;
|
|
1884
|
+
notNull: false;
|
|
1885
|
+
hasDefault: false;
|
|
1886
|
+
isPrimaryKey: false;
|
|
1887
|
+
isAutoincrement: false;
|
|
1888
|
+
hasRuntimeDefault: false;
|
|
1889
|
+
enumValues: [string, ...string[]];
|
|
1890
|
+
baseColumn: never;
|
|
1891
|
+
identity: undefined;
|
|
1892
|
+
generated: undefined;
|
|
1893
|
+
}, {}, {}>;
|
|
1894
|
+
wipLimit: import("drizzle-orm/pg-core").PgColumn<{
|
|
1895
|
+
name: "wip_limit";
|
|
1896
|
+
tableName: "issue_statuses";
|
|
1897
|
+
dataType: "number";
|
|
1898
|
+
columnType: "PgInteger";
|
|
1899
|
+
data: number;
|
|
1900
|
+
driverParam: string | number;
|
|
1901
|
+
notNull: false;
|
|
1902
|
+
hasDefault: false;
|
|
1903
|
+
isPrimaryKey: false;
|
|
1904
|
+
isAutoincrement: false;
|
|
1905
|
+
hasRuntimeDefault: false;
|
|
1906
|
+
enumValues: undefined;
|
|
1907
|
+
baseColumn: never;
|
|
1908
|
+
identity: undefined;
|
|
1909
|
+
generated: undefined;
|
|
1910
|
+
}, {}, {}>;
|
|
1843
1911
|
};
|
|
1844
1912
|
dialect: 'pg';
|
|
1845
1913
|
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as BoardStore } from "../board-store-BjhiH9TZ.mjs";
|
|
2
2
|
import { t as BOARD_SCHEMA_EPOCH } from "../schema-epoch-ZyumVL_A.mjs";
|
|
3
3
|
import { PgDatabase, PgQueryResultHKT } from "drizzle-orm/pg-core";
|
|
4
4
|
import { PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
@@ -297,6 +297,40 @@ export declare const issueStatuses: import("drizzle-orm/pg-core").PgTableWithCol
|
|
|
297
297
|
identity: undefined;
|
|
298
298
|
generated: undefined;
|
|
299
299
|
}, {}, {}>;
|
|
300
|
+
allowedFrom: import("drizzle-orm/pg-core").PgColumn<{
|
|
301
|
+
name: "allowed_from";
|
|
302
|
+
tableName: "issue_statuses";
|
|
303
|
+
dataType: "string";
|
|
304
|
+
columnType: "PgText";
|
|
305
|
+
data: string;
|
|
306
|
+
driverParam: string;
|
|
307
|
+
notNull: false;
|
|
308
|
+
hasDefault: false;
|
|
309
|
+
isPrimaryKey: false;
|
|
310
|
+
isAutoincrement: false;
|
|
311
|
+
hasRuntimeDefault: false;
|
|
312
|
+
enumValues: [string, ...string[]];
|
|
313
|
+
baseColumn: never;
|
|
314
|
+
identity: undefined;
|
|
315
|
+
generated: undefined;
|
|
316
|
+
}, {}, {}>;
|
|
317
|
+
wipLimit: import("drizzle-orm/pg-core").PgColumn<{
|
|
318
|
+
name: "wip_limit";
|
|
319
|
+
tableName: "issue_statuses";
|
|
320
|
+
dataType: "number";
|
|
321
|
+
columnType: "PgInteger";
|
|
322
|
+
data: number;
|
|
323
|
+
driverParam: string | number;
|
|
324
|
+
notNull: false;
|
|
325
|
+
hasDefault: false;
|
|
326
|
+
isPrimaryKey: false;
|
|
327
|
+
isAutoincrement: false;
|
|
328
|
+
hasRuntimeDefault: false;
|
|
329
|
+
enumValues: undefined;
|
|
330
|
+
baseColumn: never;
|
|
331
|
+
identity: undefined;
|
|
332
|
+
generated: undefined;
|
|
333
|
+
}, {}, {}>;
|
|
300
334
|
};
|
|
301
335
|
dialect: 'pg';
|
|
302
336
|
}>;
|
|
@@ -1840,6 +1874,40 @@ export declare const boardPostgresSchema: {
|
|
|
1840
1874
|
identity: undefined;
|
|
1841
1875
|
generated: undefined;
|
|
1842
1876
|
}, {}, {}>;
|
|
1877
|
+
allowedFrom: import("drizzle-orm/pg-core").PgColumn<{
|
|
1878
|
+
name: "allowed_from";
|
|
1879
|
+
tableName: "issue_statuses";
|
|
1880
|
+
dataType: "string";
|
|
1881
|
+
columnType: "PgText";
|
|
1882
|
+
data: string;
|
|
1883
|
+
driverParam: string;
|
|
1884
|
+
notNull: false;
|
|
1885
|
+
hasDefault: false;
|
|
1886
|
+
isPrimaryKey: false;
|
|
1887
|
+
isAutoincrement: false;
|
|
1888
|
+
hasRuntimeDefault: false;
|
|
1889
|
+
enumValues: [string, ...string[]];
|
|
1890
|
+
baseColumn: never;
|
|
1891
|
+
identity: undefined;
|
|
1892
|
+
generated: undefined;
|
|
1893
|
+
}, {}, {}>;
|
|
1894
|
+
wipLimit: import("drizzle-orm/pg-core").PgColumn<{
|
|
1895
|
+
name: "wip_limit";
|
|
1896
|
+
tableName: "issue_statuses";
|
|
1897
|
+
dataType: "number";
|
|
1898
|
+
columnType: "PgInteger";
|
|
1899
|
+
data: number;
|
|
1900
|
+
driverParam: string | number;
|
|
1901
|
+
notNull: false;
|
|
1902
|
+
hasDefault: false;
|
|
1903
|
+
isPrimaryKey: false;
|
|
1904
|
+
isAutoincrement: false;
|
|
1905
|
+
hasRuntimeDefault: false;
|
|
1906
|
+
enumValues: undefined;
|
|
1907
|
+
baseColumn: never;
|
|
1908
|
+
identity: undefined;
|
|
1909
|
+
generated: undefined;
|
|
1910
|
+
}, {}, {}>;
|
|
1843
1911
|
};
|
|
1844
1912
|
dialect: 'pg';
|
|
1845
1913
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as BOARD_SCHEMA_EPOCH } from "../migrations-path-ClaYRNwk.mjs";
|
|
2
|
-
import { _ as issueStatuses, a as BOARD_REFUSAL_ERRCODE, c as getBoardMigrationsPath, d as boardPostgresSchema, f as issueComments, g as issueRuns, h as issueRelations, i as BOARD_PERSON_ROLE, l as createPostgresBoardStore, m as issueMilestones, n as AGENT_WAITING_REFUSAL, o as BOARD_ROLE_SQL, p as issueFieldChanges, r as BOARD_AGENT_ROLE, s as assertBoardSchema, t as AGENT_APPROVAL_COMMENT_REFUSAL, u as BOARD_POSTGRES_TABLES, v as issues, y as kanbanMeta } from "../roles.sql-
|
|
2
|
+
import { _ as issueStatuses, a as BOARD_REFUSAL_ERRCODE, c as getBoardMigrationsPath, d as boardPostgresSchema, f as issueComments, g as issueRuns, h as issueRelations, i as BOARD_PERSON_ROLE, l as createPostgresBoardStore, m as issueMilestones, n as AGENT_WAITING_REFUSAL, o as BOARD_ROLE_SQL, p as issueFieldChanges, r as BOARD_AGENT_ROLE, s as assertBoardSchema, t as AGENT_APPROVAL_COMMENT_REFUSAL, u as BOARD_POSTGRES_TABLES, v as issues, y as kanbanMeta } from "../roles.sql-9OkYvsNM.mjs";
|
|
3
3
|
import { entityKind } from "drizzle-orm";
|
|
4
4
|
import { migrate } from "drizzle-orm/postgres-js/migrator";
|
|
5
5
|
import { migrate as migrate$1 } from "drizzle-orm/pglite/migrator";
|