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/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as IssuePullRequest, c as IssueStatus, f as issueFieldChanges, i as IssueMilestone, l as KanbanMeta, n as IssueComment, o as IssueRelation, r as IssueFieldChange, s as IssueRun, t as Issue, v as issues } from "./schema-
|
|
2
|
-
import { _ as
|
|
3
|
-
import { C as readEntryRules, S as readChecklist, _ as EntryRule, a as IssueActorReference, b as UnmetEntryRule, c as isOutsideWriter, d as KANBO_TOOL_CLI_EQUIVALENTS, f as KANBO_TOOL_NAMES, g as ENTRY_RULE_DESCRIPTIONS, h as ENTRY_RULES, i as IssueActorKind, l as normalizeCommentAuthorKind, m as KanboToolName, n as CardAttention, o as IssueView, p as KanboToolCliEquivalent, r as CardLastComment, s as IssueWriterProvenance, t as BoardApproval, u as toIssueView, v as EntryRuleFacts, w as serializeEntryRules, x as evaluateEntryRules, y as UNMET_ENTRY_RULE_REASONS } from "./approval-
|
|
1
|
+
import { a as IssuePullRequest, c as IssueStatus, f as issueFieldChanges, i as IssueMilestone, l as KanbanMeta, n as IssueComment, o as IssueRelation, r as IssueFieldChange, s as IssueRun, t as Issue, v as issues } from "./schema-Cwx3HosC.mjs";
|
|
2
|
+
import { _ as IssueRelationStore, a as BoardLinkedPullRequest, b as IssueStatusStore, c as BoardRunProjectionScope, d as BoardWorkspaceFieldChange, f as IssueCommentStore, g as IssuePullRequestStore, h as IssueMilestoneStore, i as BoardFieldChangeQuery, l as BoardStore, m as IssueFieldChangeStore, n as BoardCardPage, o as BoardMilestoneCardCount, p as IssueContextRefStore, r as BoardCardQuery, s as BoardRunProjection, t as BoardActiveRun, u as BoardTransactionMode, v as IssueRowStore, x as KanbanMetaStore, y as IssueRunStore } from "./board-store-BjhiH9TZ.mjs";
|
|
3
|
+
import { C as readEntryRules, D as FlowRule, E as FLOW_RULES, O as readFlowRules, S as readChecklist, T as ColumnFlowRules, _ as EntryRule, a as IssueActorReference, b as UnmetEntryRule, c as isOutsideWriter, d as KANBO_TOOL_CLI_EQUIVALENTS, f as KANBO_TOOL_NAMES, g as ENTRY_RULE_DESCRIPTIONS, h as ENTRY_RULES, i as IssueActorKind, l as normalizeCommentAuthorKind, m as KanboToolName, n as CardAttention, o as IssueView, p as KanboToolCliEquivalent, r as CardLastComment, s as IssueWriterProvenance, t as BoardApproval, u as toIssueView, v as EntryRuleFacts, w as serializeEntryRules, x as evaluateEntryRules, y as UNMET_ENTRY_RULE_REASONS } from "./approval-CnJJfwfi.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/cli/output.d.ts
|
|
6
6
|
/**
|
|
@@ -366,7 +366,7 @@ export declare function maskDatabaseUrls(text: string): string;
|
|
|
366
366
|
* (`../serve/board-error-responses.ts`), the one table `kanbo serve` and any app
|
|
367
367
|
* serving the board over HTTP answer with.
|
|
368
368
|
*/
|
|
369
|
-
type BoardErrorCode = 'board_approval_requires_user' | 'board_column_name_taken' | 'board_column_not_empty' | 'board_column_ready_protected' | 'board_column_remove_target_invalid' | 'board_column_rules_requires_user' | 'board_column_structure_requires_user' | 'board_column_rules_unmet' | 'board_entry_rule_invalid' | 'board_execution_mode_locked' | 'board_pull_request_invalid' | 'board_pull_request_not_found' | 'board_pull_request_not_yours' | 'board_return_no_previous_column' | 'board_return_requires_user' | 'board_run_already_finished' | 'board_run_not_found' | 'board_run_session_ref_conflict' | 'board_run_session_ref_invalid' | 'board_run_session_ref_requires_user' | 'board_schema_outdated' | 'board_sprint_carry_invalid' | 'board_sprint_close_requires_user' | 'board_sprint_dates_invalid' | 'issue_comment_delete_requires_user' | 'issue_comment_not_found' | 'issue_context_ref_invalid_index' | 'issue_milestone_not_found' | 'issue_not_found' | 'issue_parent_cycle' | 'issue_parent_not_found' | 'issue_parent_self_reference' | 'issue_relation_not_found' | 'issue_relation_self_reference' | 'issue_status_name_empty' | 'issue_status_not_found' | 'issue_status_reference_conflict' | 'issue_workspace_not_found';
|
|
369
|
+
type BoardErrorCode = 'board_approval_requires_user' | 'board_card_not_ready' | 'board_card_run_active' | 'board_column_name_taken' | 'board_column_not_empty' | 'board_column_ready_protected' | 'board_column_remove_target_invalid' | 'board_column_rules_requires_user' | 'board_column_structure_requires_user' | 'board_column_rules_unmet' | 'board_entry_rule_invalid' | 'board_execution_mode_locked' | 'board_flow_rule_invalid' | 'board_metrics_range_invalid' | 'board_nothing_ready' | 'board_pull_request_invalid' | 'board_pull_request_not_found' | 'board_pull_request_not_yours' | 'board_return_no_previous_column' | 'board_return_requires_user' | 'board_run_already_finished' | 'board_run_not_found' | 'board_run_session_ref_conflict' | 'board_run_session_ref_invalid' | 'board_run_session_ref_requires_user' | 'board_schema_outdated' | 'board_sprint_carry_invalid' | 'board_sprint_close_requires_user' | 'board_sprint_dates_invalid' | 'issue_comment_delete_requires_user' | 'issue_comment_not_found' | 'issue_context_ref_invalid_index' | 'issue_milestone_not_found' | 'issue_not_found' | 'issue_parent_cycle' | 'issue_parent_not_found' | 'issue_parent_self_reference' | 'issue_relation_not_found' | 'issue_relation_self_reference' | 'issue_status_name_empty' | 'issue_status_not_found' | 'issue_status_reference_conflict' | 'issue_workspace_not_found';
|
|
370
370
|
/** A board rule the caller broke, carrying the offending values in `details`. */
|
|
371
371
|
export declare class BoardError extends Error {
|
|
372
372
|
readonly code: BoardErrorCode;
|
|
@@ -960,6 +960,235 @@ type BoardRunView = IssueRun & {
|
|
|
960
960
|
attempt: number;
|
|
961
961
|
};
|
|
962
962
|
//#endregion
|
|
963
|
+
//#region src/ops/claim.d.ts
|
|
964
|
+
/** What a claim takes: the board, the card when the claimer names one, and the run it starts. */
|
|
965
|
+
interface ClaimCardInput {
|
|
966
|
+
workspaceId: string;
|
|
967
|
+
/** The card to take; the first ready card in To Do, in board order, when absent. */
|
|
968
|
+
issueId?: string;
|
|
969
|
+
run: StartRunInput;
|
|
970
|
+
}
|
|
971
|
+
/** What a claim did: the card where it now is, the run it started, and the column it moved to. */
|
|
972
|
+
interface ClaimedCard {
|
|
973
|
+
/** Carries `unmetRules` when a person's claim put it in a column whose rules it does not meet. */
|
|
974
|
+
card: BoardCardWrite;
|
|
975
|
+
run: IssueRun;
|
|
976
|
+
column: IssueStatus;
|
|
977
|
+
}
|
|
978
|
+
/** Why a named card is not there to take, most telling first. */
|
|
979
|
+
type CardNotReadyReason = 'run_active' | 'waiting_for_person' | 'not_in_to_do';
|
|
980
|
+
//#endregion
|
|
981
|
+
//#region src/ops/column-entries.d.ts
|
|
982
|
+
/** One card entering one column: a move, or a card created in it (`fromStatusId: null`). */
|
|
983
|
+
interface ColumnEntry {
|
|
984
|
+
changeId: string;
|
|
985
|
+
issueId: string;
|
|
986
|
+
workspaceId: string;
|
|
987
|
+
fromStatusId: string | null;
|
|
988
|
+
toStatusId: string;
|
|
989
|
+
actorKind: IssueFieldChange['actorKind'];
|
|
990
|
+
actorId: string | null;
|
|
991
|
+
/** Unix seconds. */
|
|
992
|
+
at: number;
|
|
993
|
+
}
|
|
994
|
+
/** Which boards to read, from when (unix seconds, inclusive), and where a page may end. */
|
|
995
|
+
interface ListColumnEntriesInput {
|
|
996
|
+
workspaceIds: string[];
|
|
997
|
+
since: number;
|
|
998
|
+
limit?: number;
|
|
999
|
+
}
|
|
1000
|
+
//#endregion
|
|
1001
|
+
//#region src/ops/board-metrics.d.ts
|
|
1002
|
+
/** What the metrics are asked about: the workspaces, the range (unix seconds, both ends included) and, for a sprint, its milestone. */
|
|
1003
|
+
interface BoardMetricsInput {
|
|
1004
|
+
workspaceIds: readonly string[];
|
|
1005
|
+
from: number;
|
|
1006
|
+
to: number;
|
|
1007
|
+
milestoneId?: string | null;
|
|
1008
|
+
}
|
|
1009
|
+
/** Every row the metrics are computed from, as the store lists them — one board's, or several boards' put together. */
|
|
1010
|
+
interface BoardMetricsHistory {
|
|
1011
|
+
statuses: IssueStatus[];
|
|
1012
|
+
milestones: IssueMilestone[];
|
|
1013
|
+
cards: Issue[];
|
|
1014
|
+
/** Every column change of those cards, from the first on. */
|
|
1015
|
+
entries: ColumnEntry[];
|
|
1016
|
+
runs: IssueRun[];
|
|
1017
|
+
/** The approvals of those cards: `system.approved` comments. Returns are read from `entries` (R012-7). */
|
|
1018
|
+
approvals: IssueComment[];
|
|
1019
|
+
}
|
|
1020
|
+
/** A duration over the cards a metric counts, in seconds: nearest-rank percentiles, `null` over no cards. */
|
|
1021
|
+
interface BoardMetricsDurations {
|
|
1022
|
+
cards: number;
|
|
1023
|
+
p50: number | null;
|
|
1024
|
+
p85: number | null;
|
|
1025
|
+
}
|
|
1026
|
+
/** A column as the metrics name it: one per slug across the workspaces, in the first workspace's board order. */
|
|
1027
|
+
interface BoardMetricsColumn {
|
|
1028
|
+
slug: string;
|
|
1029
|
+
name: string;
|
|
1030
|
+
category: IssueStatus['category'];
|
|
1031
|
+
}
|
|
1032
|
+
interface BoardMetricsWeek {
|
|
1033
|
+
/** ISO 8601 week, `2026-W02`. */
|
|
1034
|
+
week: string;
|
|
1035
|
+
/** Monday 00:00 UTC of the week, unix seconds. */
|
|
1036
|
+
start: number;
|
|
1037
|
+
finished: number;
|
|
1038
|
+
}
|
|
1039
|
+
interface BoardMetricsWip {
|
|
1040
|
+
slug: string;
|
|
1041
|
+
cards: number;
|
|
1042
|
+
/** The most cards the column may hold: the workspaces' limits added up when each has one, `null` for no limit. */
|
|
1043
|
+
limit: number | null;
|
|
1044
|
+
}
|
|
1045
|
+
interface BoardMetricsCard {
|
|
1046
|
+
issueId: string;
|
|
1047
|
+
workspaceId: string;
|
|
1048
|
+
title: string;
|
|
1049
|
+
}
|
|
1050
|
+
interface BoardMetricsAgingCard extends BoardMetricsCard {
|
|
1051
|
+
/** The column the card is in now. */
|
|
1052
|
+
slug: string;
|
|
1053
|
+
startedAt: number;
|
|
1054
|
+
ageSeconds: number;
|
|
1055
|
+
inColumnSeconds: number;
|
|
1056
|
+
/** Older than the range's cycle-time p85. */
|
|
1057
|
+
overCycleP85: boolean;
|
|
1058
|
+
}
|
|
1059
|
+
interface BoardMetricsFinishedCard extends BoardMetricsCard {
|
|
1060
|
+
/** `null` for a card that never entered a started column. */
|
|
1061
|
+
startedAt: number | null;
|
|
1062
|
+
finishedAt: number;
|
|
1063
|
+
cycleSeconds: number | null;
|
|
1064
|
+
leadSeconds: number;
|
|
1065
|
+
returns: number;
|
|
1066
|
+
runs: number;
|
|
1067
|
+
}
|
|
1068
|
+
interface BoardMetricsColumnTime {
|
|
1069
|
+
slug: string;
|
|
1070
|
+
seconds: number;
|
|
1071
|
+
}
|
|
1072
|
+
interface BoardMetricsFlowDay {
|
|
1073
|
+
/** The UTC day, `2026-01-05`. */
|
|
1074
|
+
day: string;
|
|
1075
|
+
/** When the day is read: its last second, or the end of the range on its last day. */
|
|
1076
|
+
at: number;
|
|
1077
|
+
/** Cards per column slug at `at`; every column is present. */
|
|
1078
|
+
cards: Record<string, number>;
|
|
1079
|
+
}
|
|
1080
|
+
interface BoardMetricsAgent {
|
|
1081
|
+
/** `agentId` when its runs carry one, else `agentName` (`boardMetricsAgentKey`). */
|
|
1082
|
+
key: string;
|
|
1083
|
+
agentId: string | null;
|
|
1084
|
+
/** The name its newest run was started under. */
|
|
1085
|
+
agentName: string;
|
|
1086
|
+
/** Its runs started in the range. */
|
|
1087
|
+
runs: {
|
|
1088
|
+
total: number;
|
|
1089
|
+
finished: number;
|
|
1090
|
+
failed: number;
|
|
1091
|
+
stopped: number;
|
|
1092
|
+
running: number;
|
|
1093
|
+
};
|
|
1094
|
+
/** Median length of those that ended (nearest rank), seconds; `null` when none ended. */
|
|
1095
|
+
medianRunSeconds: number | null;
|
|
1096
|
+
/** Cards finished in the range that it ran at least once. */
|
|
1097
|
+
cardsFinished: number;
|
|
1098
|
+
/** The share of those cards returned at least once; `null` when there are none. */
|
|
1099
|
+
returnRate: number | null;
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* Moves back over the cards finished in the range (R012-7): a move to an
|
|
1103
|
+
* earlier column of the same board whose category is unstarted or started, by
|
|
1104
|
+
* anyone.
|
|
1105
|
+
*/
|
|
1106
|
+
interface BoardMetricsReturns {
|
|
1107
|
+
total: number;
|
|
1108
|
+
perFinishedCard: number | null;
|
|
1109
|
+
/** Finished cards with zero returns ÷ finished cards. */
|
|
1110
|
+
firstPassRate: number | null;
|
|
1111
|
+
/** The same returns by who made them: a person, an agent (a provider target counts as one), or an outside writer (`system`). */
|
|
1112
|
+
byActorKind: {
|
|
1113
|
+
user: number;
|
|
1114
|
+
agent: number;
|
|
1115
|
+
external: number;
|
|
1116
|
+
};
|
|
1117
|
+
}
|
|
1118
|
+
interface BoardMetricsPerson {
|
|
1119
|
+
/** The person's actor id; `null` for one who gave none. */
|
|
1120
|
+
id: string | null;
|
|
1121
|
+
created: number;
|
|
1122
|
+
approvals: number;
|
|
1123
|
+
returns: number;
|
|
1124
|
+
/** Column changes they made; creating a card is not one. */
|
|
1125
|
+
moves: number;
|
|
1126
|
+
}
|
|
1127
|
+
/**
|
|
1128
|
+
* How work flows on a board over a range (spec 2026-11-05, Part 4).
|
|
1129
|
+
*
|
|
1130
|
+
* Started is the first entry into a `started` column; finished is the latest
|
|
1131
|
+
* entry into a `completed` column, for a card still in one; cycle time is
|
|
1132
|
+
* finished − started and lead time finished − created, both as nearest-rank
|
|
1133
|
+
* p50 and p85. Cards in a `canceled` column are counted in `canceled` and left
|
|
1134
|
+
* out of everything else.
|
|
1135
|
+
*/
|
|
1136
|
+
interface BoardMetrics {
|
|
1137
|
+
/** The range read; `to` is cut at now, so a range starting after now has `from` after `to` and empty series. */
|
|
1138
|
+
range: {
|
|
1139
|
+
from: number;
|
|
1140
|
+
to: number;
|
|
1141
|
+
};
|
|
1142
|
+
now: number;
|
|
1143
|
+
milestoneId: string | null;
|
|
1144
|
+
columns: BoardMetricsColumn[];
|
|
1145
|
+
cycleTime: BoardMetricsDurations;
|
|
1146
|
+
leadTime: BoardMetricsDurations;
|
|
1147
|
+
/** Cards finished per ISO week, every week the range touches. */
|
|
1148
|
+
throughput: BoardMetricsWeek[];
|
|
1149
|
+
/** Cards in each `started` column now. */
|
|
1150
|
+
wip: BoardMetricsWip[];
|
|
1151
|
+
/** The cards in `started` columns now, oldest first. */
|
|
1152
|
+
aging: BoardMetricsAgingCard[];
|
|
1153
|
+
/** Seconds the cards finished in the range spent in each column before they finished. */
|
|
1154
|
+
timeInColumn: BoardMetricsColumnTime[];
|
|
1155
|
+
/** Cards per column at the end of each UTC day of the range. */
|
|
1156
|
+
cumulativeFlow: BoardMetricsFlowDay[];
|
|
1157
|
+
/** The cards finished in the range, in the order they finished. */
|
|
1158
|
+
finished: BoardMetricsFinishedCard[];
|
|
1159
|
+
returns: BoardMetricsReturns;
|
|
1160
|
+
attempts: {
|
|
1161
|
+
runs: number;
|
|
1162
|
+
perFinishedCard: number | null;
|
|
1163
|
+
};
|
|
1164
|
+
canceled: number;
|
|
1165
|
+
agents: BoardMetricsAgent[];
|
|
1166
|
+
people: BoardMetricsPerson[];
|
|
1167
|
+
}
|
|
1168
|
+
/**
|
|
1169
|
+
* The value at `percent` of `values` by nearest rank (ruling R012-2): the
|
|
1170
|
+
* ⌈percent·n/100⌉-th in ascending order. Always a value that occurred; `null`
|
|
1171
|
+
* for none.
|
|
1172
|
+
*/
|
|
1173
|
+
export declare function nearestRank(values: readonly number[], percent: number): number | null;
|
|
1174
|
+
/** Who a run counts under in the agent rows: the host's agent id when the run names one, else the name it was started under. */
|
|
1175
|
+
export declare function boardMetricsAgentKey(run: Pick<IssueRun, 'agentId' | 'agentName'>): string;
|
|
1176
|
+
/**
|
|
1177
|
+
* The runs of the counted cards, and apart those of the cards in a canceled
|
|
1178
|
+
* column (R012-6): what a host prices to put a cost beside the metrics, and the
|
|
1179
|
+
* spend on canceled work on a line of its own.
|
|
1180
|
+
*/
|
|
1181
|
+
export declare function boardMetricsRuns(history: BoardMetricsHistory, input: BoardMetricsInput): {
|
|
1182
|
+
counted: IssueRun[];
|
|
1183
|
+
canceled: IssueRun[];
|
|
1184
|
+
};
|
|
1185
|
+
/**
|
|
1186
|
+
* The metrics of `input` over rows already read. Pure: the same rows give the
|
|
1187
|
+
* same answer in any order, so a host may put several boards' rows together
|
|
1188
|
+
* and compute once — percentiles of parts do not add up to the whole's.
|
|
1189
|
+
*/
|
|
1190
|
+
export declare function computeBoardMetrics(history: BoardMetricsHistory, input: BoardMetricsInput, now: number): BoardMetrics;
|
|
1191
|
+
//#endregion
|
|
963
1192
|
//#region src/ops/activity.d.ts
|
|
964
1193
|
/**
|
|
965
1194
|
* What the host knows and the board does not: the names of its workspaces, who
|
|
@@ -1231,6 +1460,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1231
1460
|
assertReturnable: (issueId: string, input: {
|
|
1232
1461
|
toStatusName?: string | null;
|
|
1233
1462
|
}, actor: BoardActor) => Promise<{
|
|
1463
|
+
allowedFrom: string | null;
|
|
1234
1464
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1235
1465
|
color: string | null;
|
|
1236
1466
|
createdAt: number;
|
|
@@ -1239,6 +1469,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1239
1469
|
id: string;
|
|
1240
1470
|
name: string;
|
|
1241
1471
|
order: number;
|
|
1472
|
+
wipLimit: number | null;
|
|
1242
1473
|
workspaceId: string;
|
|
1243
1474
|
}>;
|
|
1244
1475
|
readApproval: (issueId: string) => Promise<BoardApproval>;
|
|
@@ -1317,6 +1548,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1317
1548
|
carryTo?: string | null;
|
|
1318
1549
|
}, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<CloseSprintResult>;
|
|
1319
1550
|
listColumns: (workspaceId: string) => Promise<{
|
|
1551
|
+
allowedFrom: string | null;
|
|
1320
1552
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1321
1553
|
color: string | null;
|
|
1322
1554
|
createdAt: number;
|
|
@@ -1325,9 +1557,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1325
1557
|
id: string;
|
|
1326
1558
|
name: string;
|
|
1327
1559
|
order: number;
|
|
1560
|
+
wipLimit: number | null;
|
|
1328
1561
|
workspaceId: string;
|
|
1329
1562
|
}[]>;
|
|
1330
1563
|
findColumn: (workspaceId: string, nameOrId: string) => Promise<{
|
|
1564
|
+
allowedFrom: string | null;
|
|
1331
1565
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1332
1566
|
color: string | null;
|
|
1333
1567
|
createdAt: number;
|
|
@@ -1336,9 +1570,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1336
1570
|
id: string;
|
|
1337
1571
|
name: string;
|
|
1338
1572
|
order: number;
|
|
1573
|
+
wipLimit: number | null;
|
|
1339
1574
|
workspaceId: string;
|
|
1340
1575
|
} | null>;
|
|
1341
1576
|
requireColumn: (workspaceId: string, nameOrId: string) => Promise<{
|
|
1577
|
+
allowedFrom: string | null;
|
|
1342
1578
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1343
1579
|
color: string | null;
|
|
1344
1580
|
createdAt: number;
|
|
@@ -1347,9 +1583,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1347
1583
|
id: string;
|
|
1348
1584
|
name: string;
|
|
1349
1585
|
order: number;
|
|
1586
|
+
wipLimit: number | null;
|
|
1350
1587
|
workspaceId: string;
|
|
1351
1588
|
}>;
|
|
1352
1589
|
ensureDefaultColumns: (workspaceId: string, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1590
|
+
allowedFrom: string | null;
|
|
1353
1591
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1354
1592
|
color: string | null;
|
|
1355
1593
|
createdAt: number;
|
|
@@ -1358,9 +1596,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1358
1596
|
id: string;
|
|
1359
1597
|
name: string;
|
|
1360
1598
|
order: number;
|
|
1599
|
+
wipLimit: number | null;
|
|
1361
1600
|
workspaceId: string;
|
|
1362
1601
|
}[]>;
|
|
1363
1602
|
createColumn: (input: BoardColumnInput, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1603
|
+
allowedFrom: string | null;
|
|
1364
1604
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1365
1605
|
color: string | null;
|
|
1366
1606
|
createdAt: number;
|
|
@@ -1369,9 +1609,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1369
1609
|
id: string;
|
|
1370
1610
|
name: string;
|
|
1371
1611
|
order: number;
|
|
1612
|
+
wipLimit: number | null;
|
|
1372
1613
|
workspaceId: string;
|
|
1373
1614
|
}>;
|
|
1374
1615
|
updateColumn: (statusId: string, patch: BoardColumnPatch, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1616
|
+
allowedFrom: string | null;
|
|
1375
1617
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1376
1618
|
color: string | null;
|
|
1377
1619
|
createdAt: number;
|
|
@@ -1380,9 +1622,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1380
1622
|
id: string;
|
|
1381
1623
|
name: string;
|
|
1382
1624
|
order: number;
|
|
1625
|
+
wipLimit: number | null;
|
|
1383
1626
|
workspaceId: string;
|
|
1384
1627
|
}>;
|
|
1385
1628
|
describeColumn: (workspaceId: string, nameOrId: string, description: string | null, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1629
|
+
allowedFrom: string | null;
|
|
1386
1630
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1387
1631
|
color: string | null;
|
|
1388
1632
|
createdAt: number;
|
|
@@ -1391,9 +1635,24 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1391
1635
|
id: string;
|
|
1392
1636
|
name: string;
|
|
1393
1637
|
order: number;
|
|
1638
|
+
wipLimit: number | null;
|
|
1394
1639
|
workspaceId: string;
|
|
1395
1640
|
}>;
|
|
1396
1641
|
setColumnEntryRules: (workspaceId: string, nameOrId: string, entryRules: readonly string[] | null, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1642
|
+
allowedFrom: string | null;
|
|
1643
|
+
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1644
|
+
color: string | null;
|
|
1645
|
+
createdAt: number;
|
|
1646
|
+
description: string | null;
|
|
1647
|
+
entryRules: string | null;
|
|
1648
|
+
id: string;
|
|
1649
|
+
name: string;
|
|
1650
|
+
order: number;
|
|
1651
|
+
wipLimit: number | null;
|
|
1652
|
+
workspaceId: string;
|
|
1653
|
+
}>;
|
|
1654
|
+
setColumnFlowRules: (columnId: string, rules: ColumnFlowRules, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1655
|
+
allowedFrom: string | null;
|
|
1397
1656
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1398
1657
|
color: string | null;
|
|
1399
1658
|
createdAt: number;
|
|
@@ -1402,8 +1661,22 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1402
1661
|
id: string;
|
|
1403
1662
|
name: string;
|
|
1404
1663
|
order: number;
|
|
1664
|
+
wipLimit: number | null;
|
|
1405
1665
|
workspaceId: string;
|
|
1406
1666
|
}>;
|
|
1667
|
+
applyStandardFlow: (workspaceId: string, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1668
|
+
allowedFrom: string | null;
|
|
1669
|
+
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1670
|
+
color: string | null;
|
|
1671
|
+
createdAt: number;
|
|
1672
|
+
description: string | null;
|
|
1673
|
+
entryRules: string | null;
|
|
1674
|
+
id: string;
|
|
1675
|
+
name: string;
|
|
1676
|
+
order: number;
|
|
1677
|
+
wipLimit: number | null;
|
|
1678
|
+
workspaceId: string;
|
|
1679
|
+
}[]>;
|
|
1407
1680
|
enforceColumnEntryForCards: (issueIds: string[], statusId: string, actor: BoardActor) => Promise<{
|
|
1408
1681
|
issueId: string;
|
|
1409
1682
|
unmet: UnmetEntryRule[];
|
|
@@ -1415,6 +1688,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1415
1688
|
added: string[];
|
|
1416
1689
|
}>;
|
|
1417
1690
|
addColumn: (workspaceId: string, input: AddColumnInput, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1691
|
+
allowedFrom: string | null;
|
|
1418
1692
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1419
1693
|
color: string | null;
|
|
1420
1694
|
createdAt: number;
|
|
@@ -1423,6 +1697,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1423
1697
|
id: string;
|
|
1424
1698
|
name: string;
|
|
1425
1699
|
order: number;
|
|
1700
|
+
wipLimit: number | null;
|
|
1426
1701
|
workspaceId: string;
|
|
1427
1702
|
}>;
|
|
1428
1703
|
applyColumnTemplate: (workspaceId: string, columns: readonly ColumnSpec[], options: ApplyColumnTemplateOptions, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
@@ -1430,6 +1705,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1430
1705
|
added: string[];
|
|
1431
1706
|
}>;
|
|
1432
1707
|
renameColumn: (workspaceId: string, nameOrId: string, newName: string, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1708
|
+
allowedFrom: string | null;
|
|
1433
1709
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1434
1710
|
color: string | null;
|
|
1435
1711
|
createdAt: number;
|
|
@@ -1438,9 +1714,11 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1438
1714
|
id: string;
|
|
1439
1715
|
name: string;
|
|
1440
1716
|
order: number;
|
|
1717
|
+
wipLimit: number | null;
|
|
1441
1718
|
workspaceId: string;
|
|
1442
1719
|
}>;
|
|
1443
1720
|
moveColumn: (workspaceId: string, nameOrId: string, position: ColumnPosition, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1721
|
+
allowedFrom: string | null;
|
|
1444
1722
|
category: "backlog" | "canceled" | "completed" | "started" | "triage" | "unstarted";
|
|
1445
1723
|
color: string | null;
|
|
1446
1724
|
createdAt: number;
|
|
@@ -1449,6 +1727,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1449
1727
|
id: string;
|
|
1450
1728
|
name: string;
|
|
1451
1729
|
order: number;
|
|
1730
|
+
wipLimit: number | null;
|
|
1452
1731
|
workspaceId: string;
|
|
1453
1732
|
}[]>;
|
|
1454
1733
|
removeColumn: (workspaceId: string, nameOrId: string, options: RemoveColumnOptions, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<RemoveColumnResult>;
|
|
@@ -1469,6 +1748,7 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1469
1748
|
state: "failed" | "finished" | "running" | "stopped";
|
|
1470
1749
|
worktreePath: string | null;
|
|
1471
1750
|
}>;
|
|
1751
|
+
claimCard: (input: ClaimCardInput, actor: BoardActor, scope?: BoardWriteScope<TStore>) => Promise<ClaimedCard>;
|
|
1472
1752
|
attachRunExecution: (runId: string, input: AttachRunExecutionInput, scope?: BoardWriteScope<TStore>) => Promise<{
|
|
1473
1753
|
agentId: string | null;
|
|
1474
1754
|
agentName: string;
|
|
@@ -1596,11 +1876,27 @@ export declare function createBoardOps<TStore extends BoardStore>(store: TStore)
|
|
|
1596
1876
|
limit?: number;
|
|
1597
1877
|
offset?: number;
|
|
1598
1878
|
}) => Promise<CardQueryResult>;
|
|
1879
|
+
listColumnEntries: (input: ListColumnEntriesInput) => Promise<ColumnEntry[]>;
|
|
1599
1880
|
buildPrimeText: (workspaceId: string) => Promise<string>;
|
|
1881
|
+
readBoardMetricsHistory: (workspaceIds: readonly string[]) => Promise<BoardMetricsHistory>;
|
|
1882
|
+
boardMetrics: (input: BoardMetricsInput, now?: number) => Promise<BoardMetrics>;
|
|
1600
1883
|
};
|
|
1601
1884
|
/** The board's operations, as a type callers can name. */
|
|
1602
1885
|
type BoardOps = ReturnType<typeof createBoardOps<BoardStore>>;
|
|
1603
1886
|
//#endregion
|
|
1887
|
+
//#region src/domain/iso-week.d.ts
|
|
1888
|
+
/** An ISO 8601 week: its label and the Monday 00:00 UTC it starts at. */
|
|
1889
|
+
interface IsoWeek {
|
|
1890
|
+
/** `2026-W02`: the ISO year, which around 1 January is not always the calendar year. */
|
|
1891
|
+
week: string;
|
|
1892
|
+
/** Monday 00:00 UTC, in unix seconds. */
|
|
1893
|
+
start: number;
|
|
1894
|
+
}
|
|
1895
|
+
/** The ISO week a moment falls in, read in UTC like every board date (ruling 5x-6). */
|
|
1896
|
+
export declare function isoWeekOf(seconds: number): IsoWeek;
|
|
1897
|
+
/** The UTC day a moment falls on, as `2026-01-05`. */
|
|
1898
|
+
export declare function utcDayLabel(seconds: number): string;
|
|
1899
|
+
//#endregion
|
|
1604
1900
|
//#region src/serve/board-error-responses.d.ts
|
|
1605
1901
|
/** What one board failure is over HTTP: the status, the sentence, and the code a client matches on when it is renamed. */
|
|
1606
1902
|
interface BoardErrorResponse {
|
|
@@ -1622,7 +1918,7 @@ interface BoardErrorResponse {
|
|
|
1622
1918
|
* answering for a person — approving a card, sending it back or closing a
|
|
1623
1919
|
* sprint — as anyone but one is 403, dropping a pull request link somebody else made is the same 403
|
|
1624
1920
|
* for the same reason, and acting on a run that has already ended is 409,
|
|
1625
|
-
* because the answer would have been yes a moment earlier. An agent putting a
|
|
1921
|
+
* because the answer would have been yes a moment earlier. Starting a run on a card that has one going, and claiming a card nobody can take right now, are 409 for the same reason. An agent putting a
|
|
1626
1922
|
* card in a column whose entry rules it does not meet yet is 409 for the same
|
|
1627
1923
|
* reason turned around: the answer will be yes once the card meets them, and
|
|
1628
1924
|
* `details.unmet` says what is missing. Deleting a column that still holds
|
|
@@ -1636,4 +1932,4 @@ interface BoardErrorResponse {
|
|
|
1636
1932
|
*/
|
|
1637
1933
|
export declare const BOARD_ERROR_RESPONSES: Record<BoardErrorCode, BoardErrorResponse>;
|
|
1638
1934
|
//#endregion
|
|
1639
|
-
export { type AddColumnInput, type AddCommentInput, type ApplyColumnTemplateOptions, type AttachRunExecutionInput, type BoardActiveRun, type BoardActor, type BoardApproval, type BoardCardPage, type BoardCardQuery, type BoardCardWrite, type BoardColumnInput, type BoardColumnPatch, type BoardErrorCode, type BoardErrorResponse, type BoardLinkedPullRequest, type BoardMilestoneCardCount, type BoardOps, type BoardPullRequestStanding, type BoardRunProjection, type BoardRunProjectionScope, type BoardRunView, type BoardSprint, type BoardStore, type BoardTransactionMode, type BoardWorkspaceIdentity, type BoardWriteScope, type BulkUpdateCardsInput, type BulkUpdateCardsResult, type CardAttention, type CardLastComment, type CardQueryInput, type CardQueryResult, type CloseSprintResult, type ColumnPosition, type ColumnSpec, type ColumnTemplateId, type CreateCardInput, type CreateCommentOnceInput, type CreateMilestoneInput, type CreateRelationInput, ENTRY_RULES, ENTRY_RULE_DESCRIPTIONS, type EntryRule, type EntryRuleFacts, type ExternalSessionRef, type FinishRunInput, type Issue, type IssueActivityAction, type IssueActivityCommentView, type IssueActivityField, type IssueActivityFieldChangeView, type IssueActivityItemView, type IssueActivityLookup, type IssueActivityResolver, type IssueActivityValueToken, type IssueActivityValueView, type IssueActorKind, type IssueActorReference, type IssueComment, type IssueCommentAuthorView, type IssueCommentStore, type IssueContextRefStore, type IssueFieldChange, type IssueFieldChangeStore, type IssueMilestone, type IssueMilestoneStore, type IssueMutationActor, type IssuePullRequest, type IssuePullRequestStore, type IssueRelation, type IssueRelationCounterpart, type IssueRelationStore, type IssueRelationView, type IssueRowStore, type IssueRun, type IssueRunStore, type IssueStatus, type IssueStatusStore, type IssueView, KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, type KanbanMeta, type KanbanMetaStore, type KanboBinding, type KanboCapabilities, type KanboCapabilitiesPackage, type KanboCapabilitiesRoles, type KanboCapabilityCommand, type KanboCapabilityCommandArgument, type KanboCapabilityCommandOption, type KanboCapabilityEntryRule, type KanboCapabilityStorage, type KanboCapabilityTool, type KanboToolCliEquivalent, type KanboToolName, type MigrateCardsInput, type MigrateCardsResult, type PullRequestFactKeys, type RemoveColumnOptions, type RemoveColumnResult, type StartRunInput, UNMET_ENTRY_RULE_REASONS, type UnmetEntryRule, type UpdateCardInput, type UpdateMilestoneInput, evaluateEntryRules, isOutsideWriter, normalizeCommentAuthorKind, readChecklist, readEntryRules, serializeEntryRules, toIssueView };
|
|
1935
|
+
export { type AddColumnInput, type AddCommentInput, type ApplyColumnTemplateOptions, type AttachRunExecutionInput, type BoardActiveRun, type BoardActor, type BoardApproval, type BoardCardPage, type BoardCardQuery, type BoardCardWrite, type BoardColumnInput, type BoardColumnPatch, type BoardErrorCode, type BoardErrorResponse, type BoardFieldChangeQuery, type BoardLinkedPullRequest, type BoardMetrics, type BoardMetricsAgent, type BoardMetricsAgingCard, type BoardMetricsCard, type BoardMetricsColumn, type BoardMetricsColumnTime, type BoardMetricsDurations, type BoardMetricsFinishedCard, type BoardMetricsFlowDay, type BoardMetricsHistory, type BoardMetricsInput, type BoardMetricsPerson, type BoardMetricsReturns, type BoardMetricsWeek, type BoardMetricsWip, type BoardMilestoneCardCount, type BoardOps, type BoardPullRequestStanding, type BoardRunProjection, type BoardRunProjectionScope, type BoardRunView, type BoardSprint, type BoardStore, type BoardTransactionMode, type BoardWorkspaceFieldChange, type BoardWorkspaceIdentity, type BoardWriteScope, type BulkUpdateCardsInput, type BulkUpdateCardsResult, type CardAttention, type CardLastComment, type CardNotReadyReason, type CardQueryInput, type CardQueryResult, type ClaimCardInput, type ClaimedCard, type CloseSprintResult, type ColumnEntry, type ColumnFlowRules, type ColumnPosition, type ColumnSpec, type ColumnTemplateId, type CreateCardInput, type CreateCommentOnceInput, type CreateMilestoneInput, type CreateRelationInput, ENTRY_RULES, ENTRY_RULE_DESCRIPTIONS, type EntryRule, type EntryRuleFacts, type ExternalSessionRef, FLOW_RULES, type FinishRunInput, type FlowRule, type IsoWeek, type Issue, type IssueActivityAction, type IssueActivityCommentView, type IssueActivityField, type IssueActivityFieldChangeView, type IssueActivityItemView, type IssueActivityLookup, type IssueActivityResolver, type IssueActivityValueToken, type IssueActivityValueView, type IssueActorKind, type IssueActorReference, type IssueComment, type IssueCommentAuthorView, type IssueCommentStore, type IssueContextRefStore, type IssueFieldChange, type IssueFieldChangeStore, type IssueMilestone, type IssueMilestoneStore, type IssueMutationActor, type IssuePullRequest, type IssuePullRequestStore, type IssueRelation, type IssueRelationCounterpart, type IssueRelationStore, type IssueRelationView, type IssueRowStore, type IssueRun, type IssueRunStore, type IssueStatus, type IssueStatusStore, type IssueView, KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, type KanbanMeta, type KanbanMetaStore, type KanboBinding, type KanboCapabilities, type KanboCapabilitiesPackage, type KanboCapabilitiesRoles, type KanboCapabilityCommand, type KanboCapabilityCommandArgument, type KanboCapabilityCommandOption, type KanboCapabilityEntryRule, type KanboCapabilityStorage, type KanboCapabilityTool, type KanboToolCliEquivalent, type KanboToolName, type ListColumnEntriesInput, type MigrateCardsInput, type MigrateCardsResult, type PullRequestFactKeys, type RemoveColumnOptions, type RemoveColumnResult, type StartRunInput, UNMET_ENTRY_RULE_REASONS, type UnmetEntryRule, type UpdateCardInput, type UpdateMilestoneInput, evaluateEntryRules, isOutsideWriter, normalizeCommentAuthorKind, readChecklist, readEntryRules, readFlowRules, serializeEntryRules, toIssueView };
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as COLUMN_TEMPLATE_IDS, At as formatIssueId, B as createBoardOps, Ct as formatPlainActivityValue, Dt as isOutsideWriter, Et as readSystemCommentKind, F as BINDING_FILE_PATH, G as ENTRY_RULE_DESCRIPTIONS, H as parseExternalSessionRef, I as ignoreBoardFile, J as readChecklist, K as UNMET_ENTRY_RULE_REASONS, L as readBinding, M as renderCapabilitiesMarkdown, Mt as nextIssueNumber, N as maskDatabaseUrl, Nt as nextIssueOrder, Ot as normalizeCommentAuthorKind, P as maskDatabaseUrls, Pt as readIssuePrefix, Q as COLUMN_TEMPLATES, R as readProjectBinding, St as formatActivityIssueReference, Tt as parseActivityStringArray, U as pullRequestFactKeys, V as formatExternalSessionRef, W as ENTRY_RULES, X as serializeEntryRules, Y as readEntryRules, Z as COLUMN_CATALOGUE, _ as suggestCardKey, _t as currentUnixSeconds, a as BOARD_ERROR_RESPONSES, at as boardMetricsRuns, bt as activityToken, ct as isoWeekOf, dt as readFlowRules, et as readChangeSeq, ft as DEFAULT_STATUSES, g as isValidCardKey, gt as BOARD_ACTOR, h as CARD_KEY_PATTERN, i as KANBO_TOOL_NAMES, it as boardMetricsAgentKey, jt as nextIssueIdentity, kt as toIssueView, lt as utcDayLabel, mt as cardDisplayTitle, n as buildCapabilitiesManifest, nt as TRACKED_FIELDS, ot as computeBoardMetrics, pt as normalizeStatusName, q as evaluateEntryRules, r as KANBO_TOOL_CLI_EQUIVALENTS, rt as diffFieldChanges, st as nearestRank, t as CAPABILITIES_MANIFEST_VERSION, tt as runBoardWrite, ut as FLOW_RULES, v as DEFAULT_BOARD_FILE_PATH, vt as activityKindOrder, wt as isEmptyActivityValue, xt as commentAuthorReference, yt as activityText, z as writeBinding } from "./manifest-DHI1fkoW.mjs";
|
|
2
2
|
import { a as BoardError } from "./migrations-path-ClaYRNwk.mjs";
|
|
3
|
-
export { BINDING_FILE_PATH, BOARD_ACTOR, BOARD_ERROR_RESPONSES, BoardError, CAPABILITIES_MANIFEST_VERSION, CARD_KEY_PATTERN, COLUMN_CATALOGUE, COLUMN_TEMPLATES, COLUMN_TEMPLATE_IDS, DEFAULT_BOARD_FILE_PATH, DEFAULT_STATUSES, ENTRY_RULES, ENTRY_RULE_DESCRIPTIONS, KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, TRACKED_FIELDS, UNMET_ENTRY_RULE_REASONS, activityKindOrder, activityText, activityToken, buildCapabilitiesManifest, cardDisplayTitle, commentAuthorReference, createBoardOps, currentUnixSeconds, diffFieldChanges, evaluateEntryRules, formatActivityIssueReference, formatExternalSessionRef, formatIssueId, formatPlainActivityValue, ignoreBoardFile, isEmptyActivityValue, isOutsideWriter, isValidCardKey, maskDatabaseUrl, maskDatabaseUrls, nextIssueIdentity, nextIssueNumber, nextIssueOrder, normalizeCommentAuthorKind, normalizeStatusName, parseActivityStringArray, parseExternalSessionRef, pullRequestFactKeys, readBinding, readChangeSeq, readChecklist, readEntryRules, readIssuePrefix, readProjectBinding, readSystemCommentKind, renderCapabilitiesMarkdown, runBoardWrite, serializeEntryRules, suggestCardKey, toIssueView, writeBinding };
|
|
3
|
+
export { BINDING_FILE_PATH, BOARD_ACTOR, BOARD_ERROR_RESPONSES, BoardError, CAPABILITIES_MANIFEST_VERSION, CARD_KEY_PATTERN, COLUMN_CATALOGUE, COLUMN_TEMPLATES, COLUMN_TEMPLATE_IDS, DEFAULT_BOARD_FILE_PATH, DEFAULT_STATUSES, ENTRY_RULES, ENTRY_RULE_DESCRIPTIONS, FLOW_RULES, KANBO_TOOL_CLI_EQUIVALENTS, KANBO_TOOL_NAMES, TRACKED_FIELDS, UNMET_ENTRY_RULE_REASONS, activityKindOrder, activityText, activityToken, boardMetricsAgentKey, boardMetricsRuns, buildCapabilitiesManifest, cardDisplayTitle, commentAuthorReference, computeBoardMetrics, createBoardOps, currentUnixSeconds, diffFieldChanges, evaluateEntryRules, formatActivityIssueReference, formatExternalSessionRef, formatIssueId, formatPlainActivityValue, ignoreBoardFile, isEmptyActivityValue, isOutsideWriter, isValidCardKey, isoWeekOf, maskDatabaseUrl, maskDatabaseUrls, nearestRank, nextIssueIdentity, nextIssueNumber, nextIssueOrder, normalizeCommentAuthorKind, normalizeStatusName, parseActivityStringArray, parseExternalSessionRef, pullRequestFactKeys, readBinding, readChangeSeq, readChecklist, readEntryRules, readFlowRules, readIssuePrefix, readProjectBinding, readSystemCommentKind, renderCapabilitiesMarkdown, runBoardWrite, serializeEntryRules, suggestCardKey, toIssueView, utcDayLabel, writeBinding };
|