opencode-backlog 0.2.1 → 0.2.3
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/README.md +25 -23
- package/dist/backlog.d.ts +10 -1
- package/dist/backlog.js +45 -8
- package/dist/backlog.js.map +1 -1
- package/dist/index.js +57 -25
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +3 -2
- package/dist/input.js +12 -4
- package/dist/input.js.map +1 -1
- package/dist/tui.js +120 -53
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ New backlogs contain these categories:
|
|
|
18
18
|
- `doing`
|
|
19
19
|
- `done`
|
|
20
20
|
|
|
21
|
-
You can add, rename,
|
|
21
|
+
You can add, rename, style, reorder, purge, and remove categories. Each category has a stable ID and a modifiable title.
|
|
22
22
|
|
|
23
23
|
The server plugin manages tasks and categories. The TUI plugin provides:
|
|
24
24
|
|
|
@@ -152,13 +152,13 @@ Click a sidebar task to open its details. The detail dialog provides `c`, `e`, a
|
|
|
152
152
|
|
|
153
153
|
| Tool | Purpose |
|
|
154
154
|
| --- | --- |
|
|
155
|
-
| `backlog_list` | List
|
|
155
|
+
| `backlog_list` | List tasks with optional `category` and `query` filters. |
|
|
156
156
|
| `backlog_add` | Add a task at an optional category and position. |
|
|
157
157
|
| `backlog_update` | Change a task title or notes. |
|
|
158
158
|
| `backlog_move` | Change a task category or position. |
|
|
159
159
|
| `backlog_remove` | Permanently remove a task. |
|
|
160
|
-
| `backlog_category_add` | Add a category with a stable ID, title, and
|
|
161
|
-
| `backlog_category_update` | Change a category title or
|
|
160
|
+
| `backlog_category_add` | Add a category with a stable ID, title, color, and icon. |
|
|
161
|
+
| `backlog_category_update` | Change a category title, color, or icon. |
|
|
162
162
|
| `backlog_category_move` | Change a category position. |
|
|
163
163
|
| `backlog_category_remove` | Remove an empty category. |
|
|
164
164
|
| `backlog_category_purge` | Permanently remove all tasks from a category. |
|
|
@@ -173,10 +173,10 @@ The plugin creates `BACKLOG.json` when the first task or category is added:
|
|
|
173
173
|
{
|
|
174
174
|
"version": 2,
|
|
175
175
|
"categories": [
|
|
176
|
-
{ "id": "todo", "title": "Todo", "color": "subdued" },
|
|
177
|
-
{ "id": "doing", "title": "Doing", "color": "warning" },
|
|
178
|
-
{ "id": "blocked", "title": "Blocked", "color": "error" },
|
|
179
|
-
{ "id": "done", "title": "Done", "color": "success" }
|
|
176
|
+
{ "id": "todo", "title": "Todo", "color": "subdued", "icon": "circle" },
|
|
177
|
+
{ "id": "doing", "title": "Doing", "color": "warning", "icon": "dot" },
|
|
178
|
+
{ "id": "blocked", "title": "Blocked", "color": "error", "icon": "cross" },
|
|
179
|
+
{ "id": "done", "title": "Done", "color": "success", "icon": "check" }
|
|
180
180
|
],
|
|
181
181
|
"items": [
|
|
182
182
|
{
|
|
@@ -195,6 +195,20 @@ Category IDs stay stable when titles change. The plugin rejects tasks that refer
|
|
|
195
195
|
|
|
196
196
|
Category colors use theme-aware values: `default`, `subdued`, `error`, `warning`, `success`, or `info`.
|
|
197
197
|
|
|
198
|
+
Category icons use `circle`, `dot`, `check`, `cross`, `pause`, `diamond`, or `none`.
|
|
199
|
+
|
|
200
|
+
Known category IDs provide style presets when color or icon is absent:
|
|
201
|
+
|
|
202
|
+
| ID | Color | Icon |
|
|
203
|
+
| --- | --- | --- |
|
|
204
|
+
| `todo` | `subdued` | `circle` |
|
|
205
|
+
| `doing` | `warning` | `dot` |
|
|
206
|
+
| `blocked` | `error` | `cross` |
|
|
207
|
+
| `review` | `info` | `diamond` |
|
|
208
|
+
| `waiting` | `warning` | `pause` |
|
|
209
|
+
| `done` | `success` | `check` |
|
|
210
|
+
| `cancelled` | `subdued` | `cross` |
|
|
211
|
+
|
|
198
212
|
The plugin reads version 1 files with the default categories. The next backlog change writes the file as version 2.
|
|
199
213
|
|
|
200
214
|
Commit `BACKLOG.json` when the backlog must follow the project. Ignore it when the backlog must remain local.
|
|
@@ -229,33 +243,21 @@ Entering `nix develop` installs the repository pre-commit hook. The hook checks
|
|
|
229
243
|
|
|
230
244
|
## Release
|
|
231
245
|
|
|
232
|
-
|
|
246
|
+
Publish each release from an authenticated workstation:
|
|
233
247
|
|
|
234
248
|
```sh
|
|
235
249
|
npm login
|
|
236
250
|
npm publish
|
|
237
251
|
```
|
|
238
252
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
```text
|
|
242
|
-
Organization or user: sachahjkl
|
|
243
|
-
Repository: opencode-backlog
|
|
244
|
-
Workflow filename: publish.yml
|
|
245
|
-
Environment name: <empty>
|
|
246
|
-
Allowed action: npm publish
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
For later releases, update the package version and push its commit and tag:
|
|
253
|
+
Update the package version, then push its commit and tag:
|
|
250
254
|
|
|
251
255
|
```sh
|
|
252
256
|
npm version patch
|
|
253
257
|
git push origin master --follow-tags
|
|
254
258
|
```
|
|
255
259
|
|
|
256
|
-
Use `minor` or `major` instead of `patch` when the release requires it.
|
|
257
|
-
|
|
258
|
-
The workflow publishes through npm trusted publishing. It uses OIDC and does not store an npm token.
|
|
260
|
+
Use `minor` or `major` instead of `patch` when the release requires it. Keep the tag equal to the `package.json` version.
|
|
259
261
|
|
|
260
262
|
## Compatibility
|
|
261
263
|
|
package/dist/backlog.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
export declare const BACKLOG_FILE = "BACKLOG.json";
|
|
2
2
|
export declare const CATEGORY_COLORS: readonly ["default", "subdued", "error", "warning", "success", "info"];
|
|
3
|
+
export declare const CATEGORY_ICONS: readonly ["circle", "dot", "check", "cross", "pause", "diamond", "none"];
|
|
3
4
|
export type CategoryColor = (typeof CATEGORY_COLORS)[number];
|
|
5
|
+
export type CategoryIcon = (typeof CATEGORY_ICONS)[number];
|
|
4
6
|
export interface Category {
|
|
5
7
|
readonly id: string;
|
|
6
8
|
readonly title: string;
|
|
7
9
|
readonly color?: CategoryColor;
|
|
10
|
+
readonly icon?: CategoryIcon;
|
|
8
11
|
}
|
|
12
|
+
export declare const CATEGORY_PRESETS: Readonly<Record<string, {
|
|
13
|
+
color: CategoryColor;
|
|
14
|
+
icon: CategoryIcon;
|
|
15
|
+
}>>;
|
|
9
16
|
export type Status = string;
|
|
10
17
|
export interface BacklogItem {
|
|
11
18
|
readonly id: string;
|
|
@@ -22,13 +29,15 @@ export declare const DEFAULT_CATEGORIES: readonly Category[];
|
|
|
22
29
|
export declare const EMPTY_BACKLOG: Backlog;
|
|
23
30
|
export declare function isStatus(backlog: Backlog, value: unknown): value is Status;
|
|
24
31
|
export declare function isCategoryColor(value: unknown): value is CategoryColor;
|
|
32
|
+
export declare function isCategoryIcon(value: unknown): value is CategoryIcon;
|
|
25
33
|
export declare function parseBacklog(value: unknown): Backlog;
|
|
26
34
|
export declare function sortByStatus(items: readonly BacklogItem[], categories: readonly Category[]): BacklogItem[];
|
|
27
35
|
export declare function moveItem(items: readonly BacklogItem[], id: string, status: Status | undefined, position: number | undefined, categories: readonly Category[]): BacklogItem[];
|
|
28
|
-
export declare function describeBacklog(backlog: Backlog, statuses?: readonly Status[]): string;
|
|
36
|
+
export declare function describeBacklog(backlog: Backlog, statuses?: readonly Status[], query?: string): string;
|
|
29
37
|
export declare function addCategory(backlog: Backlog, category: Category, position?: number): Backlog;
|
|
30
38
|
export declare function renameCategory(backlog: Backlog, id: string, title: string): Backlog;
|
|
31
39
|
export declare function setCategoryColor(backlog: Backlog, id: string, color: CategoryColor): Backlog;
|
|
40
|
+
export declare function setCategoryIcon(backlog: Backlog, id: string, icon: CategoryIcon): Backlog;
|
|
32
41
|
export declare function moveCategory(backlog: Backlog, id: string, position: number): Backlog;
|
|
33
42
|
export declare function removeCategory(backlog: Backlog, id: string): Backlog;
|
|
34
43
|
export declare function purgeCategory(backlog: Backlog, id: string): Backlog;
|
package/dist/backlog.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
export const BACKLOG_FILE = "BACKLOG.json";
|
|
2
2
|
export const CATEGORY_COLORS = ["default", "subdued", "error", "warning", "success", "info"];
|
|
3
|
+
export const CATEGORY_ICONS = ["circle", "dot", "check", "cross", "pause", "diamond", "none"];
|
|
4
|
+
export const CATEGORY_PRESETS = {
|
|
5
|
+
todo: { color: "subdued", icon: "circle" },
|
|
6
|
+
doing: { color: "warning", icon: "dot" },
|
|
7
|
+
blocked: { color: "error", icon: "cross" },
|
|
8
|
+
review: { color: "info", icon: "diamond" },
|
|
9
|
+
waiting: { color: "warning", icon: "pause" },
|
|
10
|
+
done: { color: "success", icon: "check" },
|
|
11
|
+
cancelled: { color: "subdued", icon: "cross" },
|
|
12
|
+
};
|
|
3
13
|
export const DEFAULT_CATEGORIES = [
|
|
4
|
-
{ id: "todo", title: "Todo",
|
|
5
|
-
{ id: "doing", title: "Doing",
|
|
6
|
-
{ id: "done", title: "Done",
|
|
14
|
+
{ id: "todo", title: "Todo", ...CATEGORY_PRESETS.todo },
|
|
15
|
+
{ id: "doing", title: "Doing", ...CATEGORY_PRESETS.doing },
|
|
16
|
+
{ id: "done", title: "Done", ...CATEGORY_PRESETS.done },
|
|
7
17
|
];
|
|
8
18
|
export const EMPTY_BACKLOG = { version: 2, categories: DEFAULT_CATEGORIES, items: [] };
|
|
9
19
|
function isRecord(value) {
|
|
@@ -22,10 +32,14 @@ function validateCategory(category, index) {
|
|
|
22
32
|
if (category.color !== undefined && !isCategoryColor(category.color)) {
|
|
23
33
|
throw new Error(`${label} has an invalid color`);
|
|
24
34
|
}
|
|
35
|
+
if (category.icon !== undefined && !isCategoryIcon(category.icon)) {
|
|
36
|
+
throw new Error(`${label} has an invalid icon`);
|
|
37
|
+
}
|
|
25
38
|
return {
|
|
26
39
|
id: category.id,
|
|
27
40
|
title: category.title,
|
|
28
41
|
...(category.color === undefined ? {} : { color: category.color }),
|
|
42
|
+
...(category.icon === undefined ? {} : { icon: category.icon }),
|
|
29
43
|
};
|
|
30
44
|
}
|
|
31
45
|
function validateCategories(value) {
|
|
@@ -77,6 +91,9 @@ export function isStatus(backlog, value) {
|
|
|
77
91
|
export function isCategoryColor(value) {
|
|
78
92
|
return typeof value === "string" && CATEGORY_COLORS.includes(value);
|
|
79
93
|
}
|
|
94
|
+
export function isCategoryIcon(value) {
|
|
95
|
+
return typeof value === "string" && CATEGORY_ICONS.includes(value);
|
|
96
|
+
}
|
|
80
97
|
export function parseBacklog(value) {
|
|
81
98
|
if (!isRecord(value))
|
|
82
99
|
throw new Error("BACKLOG.json must contain a backlog object");
|
|
@@ -110,19 +127,30 @@ export function moveItem(items, id, status, position, categories) {
|
|
|
110
127
|
? target
|
|
111
128
|
: remaining.filter((candidate) => candidate.status === categoryId));
|
|
112
129
|
}
|
|
113
|
-
export function describeBacklog(backlog, statuses) {
|
|
130
|
+
export function describeBacklog(backlog, statuses, query) {
|
|
114
131
|
const selected = statuses ?? backlog.categories.map(({ id }) => id);
|
|
115
|
-
|
|
132
|
+
const term = query?.trim().toLocaleLowerCase();
|
|
133
|
+
const sections = selected.map((status) => {
|
|
116
134
|
const category = backlog.categories.find(({ id }) => id === status);
|
|
117
135
|
if (!category)
|
|
118
136
|
throw new Error(`Backlog category ${status} does not exist`);
|
|
119
|
-
const items = backlog.items.filter((item) =>
|
|
137
|
+
const items = backlog.items.filter((item) => {
|
|
138
|
+
if (item.status !== status)
|
|
139
|
+
return false;
|
|
140
|
+
if (!term)
|
|
141
|
+
return true;
|
|
142
|
+
return [item.id, item.title, item.notes ?? ""].some((value) => value.toLocaleLowerCase().includes(term));
|
|
143
|
+
});
|
|
120
144
|
const lines = items.map((item, index) => {
|
|
121
145
|
const notes = item.notes ? `\n Notes: ${item.notes}` : "";
|
|
122
146
|
return `${index}. ${item.id}: ${item.title}${notes}`;
|
|
123
147
|
});
|
|
124
|
-
return
|
|
125
|
-
})
|
|
148
|
+
return { category, items, lines };
|
|
149
|
+
});
|
|
150
|
+
const visible = term ? sections.filter(({ items }) => items.length > 0) : sections;
|
|
151
|
+
if (visible.length === 0)
|
|
152
|
+
return `No backlog tasks match ${JSON.stringify(query?.trim() ?? "")}.`;
|
|
153
|
+
return visible.map(({ category, items, lines }) => `${category.title.toUpperCase()} [${category.id}] (${items.length})\n${lines.length > 0 ? lines.join("\n") : "Empty"}`).join("\n\n");
|
|
126
154
|
}
|
|
127
155
|
export function addCategory(backlog, category, position) {
|
|
128
156
|
const added = validateCategory(category);
|
|
@@ -153,6 +181,15 @@ export function setCategoryColor(backlog, id, color) {
|
|
|
153
181
|
categories: backlog.categories.map((category) => category.id === id ? { ...category, color } : category),
|
|
154
182
|
};
|
|
155
183
|
}
|
|
184
|
+
export function setCategoryIcon(backlog, id, icon) {
|
|
185
|
+
if (!backlog.categories.some((category) => category.id === id)) {
|
|
186
|
+
throw new Error(`Backlog category ${id} does not exist`);
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
...backlog,
|
|
190
|
+
categories: backlog.categories.map((category) => category.id === id ? { ...category, icon } : category),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
156
193
|
export function moveCategory(backlog, id, position) {
|
|
157
194
|
const category = backlog.categories.find((candidate) => candidate.id === id);
|
|
158
195
|
if (!category)
|
package/dist/backlog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../src/backlog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../src/backlog.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AACrG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAU,CAAA;AAYtG,MAAM,CAAC,MAAM,gBAAgB,GAA2E;IACtG,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IACxC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;IAC1C,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;IAC1C,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IACzC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;CAC/C,CAAA;AAiBD,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE;IACvD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE;IAC1D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE;CACxD,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAY,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AAE/F,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiB,EAAE,KAAc;IACzD,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,KAAK,EAAE,CAAA;IAC5E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAA;IACtE,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAA;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sBAAsB,CAAC,CAAA;IACjD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClE,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;KAChE,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC/C,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC7F,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACpB,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,UAA+B;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAE5E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAe,EAAE;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,oBAAoB,CAAC,CAAA;QAC/E,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,2BAA2B,CAAC,CAAA;QACnE,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACjF,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAA;QACxE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAA;QAClE,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,KAAc;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAsB,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAEnF,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,kBAAkB;YAC9B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,CAAC;SACtD,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEhG,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAA6B,EAC7B,UAA+B;IAE/B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,KAA6B,EAC7B,EAAU,EACV,MAA0B,EAC1B,QAA4B,EAC5B,UAA+B;IAE/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAA;IAE/D,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAA;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,iBAAiB,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,YAAY,CAAC,CAAA;IACjF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;IAE3F,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAC/C,UAAU,KAAK,YAAY;QACzB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,CACrE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAgB,EAChB,QAA4B,EAC5B,KAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IACnE,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAA;IAE9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;QACnE,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,iBAAiB,CAAC,CAAA;QAE3E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,KAAK,CAAA;YACxC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YACtB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1G,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3D,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAA;QACtD,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IAClF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,0BAA0B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAA;IACjG,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAChD,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,MAAM,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CACvH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,QAAkB,EAClB,QAAiB;IAEjB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1C,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACvE,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,EAAU,EAAE,KAAa;IACxE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACtF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9C,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CACvD;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,EAAU,EAAE,KAAoB;IACjF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9C,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CACvD;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,EAAU,EAAE,IAAkB;IAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC9C,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CACtD;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,EAAU,EAAE,QAAgB;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IAEvE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAChF,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1E,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,EAAU;IACzD,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACrC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAChG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,EAAU;IACxD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO;QACL,GAAG,OAAO;QACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB,EAAE,EAAU;IAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAClG,CAAC;AAED,SAAS,aAAa,CAAC,QAA4B,EAAE,MAAc;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAC1D,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { Plugin } from "@opencode-ai/plugin";
|
|
4
|
-
import { BACKLOG_FILE, CATEGORY_COLORS, addCategory, describeBacklog, moveItem, moveCategory, purgeCategory, removeCategory, renameCategory, setCategoryColor, sortByStatus, } from "./backlog.js";
|
|
5
|
-
import { optionalNullableString, optionalCategoryColor, optionalPosition, optionalStatus, record, requiredString, } from "./input.js";
|
|
4
|
+
import { BACKLOG_FILE, CATEGORY_COLORS, CATEGORY_ICONS, addCategory, describeBacklog, moveItem, moveCategory, purgeCategory, removeCategory, renameCategory, setCategoryColor, setCategoryIcon, sortByStatus, } from "./backlog.js";
|
|
5
|
+
import { optionalNullableString, optionalCategoryColor, optionalCategoryIcon, optionalPosition, optionalString, optionalStatus, record, requiredString, } from "./input.js";
|
|
6
6
|
import { readBacklog, updateBacklog } from "./store.js";
|
|
7
7
|
const idInput = {
|
|
8
8
|
type: "object",
|
|
@@ -16,6 +16,7 @@ const categoryTitleInput = {
|
|
|
16
16
|
id: { type: "string", minLength: 1 },
|
|
17
17
|
title: { type: "string", minLength: 1 },
|
|
18
18
|
color: { type: "string", enum: CATEGORY_COLORS },
|
|
19
|
+
icon: { type: "string", enum: CATEGORY_ICONS },
|
|
19
20
|
},
|
|
20
21
|
required: ["id"],
|
|
21
22
|
additionalProperties: false,
|
|
@@ -36,6 +37,15 @@ function replaceItem(items, replacement) {
|
|
|
36
37
|
}
|
|
37
38
|
return items.map((item) => (item.id === replacement.id ? replacement : item));
|
|
38
39
|
}
|
|
40
|
+
function itemLocation(backlog, id) {
|
|
41
|
+
const item = backlog.items.find((candidate) => candidate.id === id);
|
|
42
|
+
if (!item)
|
|
43
|
+
throw new Error(`Backlog item ${id} does not exist`);
|
|
44
|
+
const position = backlog.items
|
|
45
|
+
.filter((candidate) => candidate.status === item.status)
|
|
46
|
+
.findIndex((candidate) => candidate.id === id);
|
|
47
|
+
return { item, position };
|
|
48
|
+
}
|
|
39
49
|
export default Plugin.define({
|
|
40
50
|
id: "opencode.backlog",
|
|
41
51
|
tui: true,
|
|
@@ -43,18 +53,23 @@ export default Plugin.define({
|
|
|
43
53
|
await context.tool.transform((tools) => {
|
|
44
54
|
tools.add({
|
|
45
55
|
name: "backlog_list",
|
|
46
|
-
description: "List the ordered project backlog, optionally filtered by category ID.",
|
|
56
|
+
description: "List the ordered project backlog, optionally filtered by category ID and search term.",
|
|
47
57
|
input: {
|
|
48
58
|
type: "object",
|
|
49
|
-
properties: {
|
|
59
|
+
properties: {
|
|
60
|
+
category: { type: "string", minLength: 1 },
|
|
61
|
+
query: { type: "string", minLength: 1 },
|
|
62
|
+
},
|
|
50
63
|
additionalProperties: false,
|
|
51
64
|
},
|
|
52
65
|
options: { codemode: false },
|
|
53
66
|
execute: async (input, toolContext) => {
|
|
54
67
|
const backlog = await readForSession(context, toolContext.sessionID);
|
|
55
|
-
const
|
|
68
|
+
const values = record(input);
|
|
69
|
+
const category = optionalStatus(values, backlog, "category");
|
|
70
|
+
const query = optionalString(values, "query");
|
|
56
71
|
return {
|
|
57
|
-
content: describeBacklog(backlog,
|
|
72
|
+
content: describeBacklog(backlog, category === undefined ? undefined : [category], query),
|
|
58
73
|
};
|
|
59
74
|
},
|
|
60
75
|
});
|
|
@@ -98,7 +113,8 @@ export default Plugin.define({
|
|
|
98
113
|
});
|
|
99
114
|
if (!item)
|
|
100
115
|
throw new Error("Backlog update did not add an item");
|
|
101
|
-
|
|
116
|
+
const location = itemLocation(backlog, item.id);
|
|
117
|
+
return { content: `Added ${item.id} to ${location.item.status} at position ${location.position}.` };
|
|
102
118
|
},
|
|
103
119
|
});
|
|
104
120
|
tools.add({
|
|
@@ -123,7 +139,7 @@ export default Plugin.define({
|
|
|
123
139
|
if (title === undefined && notes === undefined) {
|
|
124
140
|
throw new Error("backlog_update requires a title or notes change");
|
|
125
141
|
}
|
|
126
|
-
|
|
142
|
+
await updateForSession(context, toolContext.sessionID, (current) => {
|
|
127
143
|
const item = current.items.find((candidate) => candidate.id === id);
|
|
128
144
|
if (!item)
|
|
129
145
|
throw new Error(`Backlog item ${id} does not exist`);
|
|
@@ -139,7 +155,7 @@ export default Plugin.define({
|
|
|
139
155
|
items: sortByStatus(replaceItem(current.items, replacement), current.categories),
|
|
140
156
|
};
|
|
141
157
|
});
|
|
142
|
-
return { content: `Updated ${id}
|
|
158
|
+
return { content: `Updated ${id}.` };
|
|
143
159
|
},
|
|
144
160
|
});
|
|
145
161
|
tools.add({
|
|
@@ -171,7 +187,8 @@ export default Plugin.define({
|
|
|
171
187
|
items: moveItem(current.items, id, status, position, current.categories),
|
|
172
188
|
};
|
|
173
189
|
});
|
|
174
|
-
|
|
190
|
+
const location = itemLocation(backlog, id);
|
|
191
|
+
return { content: `Moved ${id} to ${location.item.status} at position ${location.position}.` };
|
|
175
192
|
},
|
|
176
193
|
});
|
|
177
194
|
tools.add({
|
|
@@ -181,7 +198,7 @@ export default Plugin.define({
|
|
|
181
198
|
options: { codemode: false },
|
|
182
199
|
execute: async (input, toolContext) => {
|
|
183
200
|
const id = requiredString(record(input), "id");
|
|
184
|
-
|
|
201
|
+
await updateForSession(context, toolContext.sessionID, (current) => {
|
|
185
202
|
if (!current.items.some((item) => item.id === id)) {
|
|
186
203
|
throw new Error(`Backlog item ${id} does not exist`);
|
|
187
204
|
}
|
|
@@ -191,7 +208,7 @@ export default Plugin.define({
|
|
|
191
208
|
items: current.items.filter((item) => item.id !== id),
|
|
192
209
|
};
|
|
193
210
|
});
|
|
194
|
-
return { content: `Removed ${id}
|
|
211
|
+
return { content: `Removed ${id}.` };
|
|
195
212
|
},
|
|
196
213
|
});
|
|
197
214
|
tools.add({
|
|
@@ -203,6 +220,7 @@ export default Plugin.define({
|
|
|
203
220
|
id: { type: "string", minLength: 1 },
|
|
204
221
|
title: { type: "string", minLength: 1 },
|
|
205
222
|
color: { type: "string", enum: CATEGORY_COLORS },
|
|
223
|
+
icon: { type: "string", enum: CATEGORY_ICONS },
|
|
206
224
|
position: { type: "integer", minimum: 0 },
|
|
207
225
|
},
|
|
208
226
|
required: ["id", "title"],
|
|
@@ -214,14 +232,21 @@ export default Plugin.define({
|
|
|
214
232
|
const id = requiredString(values, "id");
|
|
215
233
|
const title = requiredString(values, "title");
|
|
216
234
|
const color = optionalCategoryColor(values);
|
|
235
|
+
const icon = optionalCategoryIcon(values);
|
|
217
236
|
const position = optionalPosition(values);
|
|
218
|
-
const backlog = await updateForSession(context, toolContext.sessionID, (current) => addCategory(current, {
|
|
219
|
-
|
|
237
|
+
const backlog = await updateForSession(context, toolContext.sessionID, (current) => addCategory(current, {
|
|
238
|
+
id,
|
|
239
|
+
title,
|
|
240
|
+
...(color === undefined ? {} : { color }),
|
|
241
|
+
...(icon === undefined ? {} : { icon }),
|
|
242
|
+
}, position));
|
|
243
|
+
const categoryPosition = backlog.categories.findIndex((category) => category.id === id);
|
|
244
|
+
return { content: `Added category ${id} at position ${categoryPosition}.` };
|
|
220
245
|
},
|
|
221
246
|
});
|
|
222
247
|
tools.add({
|
|
223
248
|
name: "backlog_category_update",
|
|
224
|
-
description: "Change a backlog category title or
|
|
249
|
+
description: "Change a backlog category title, color, or icon.",
|
|
225
250
|
input: categoryTitleInput,
|
|
226
251
|
options: { codemode: false },
|
|
227
252
|
execute: async (input, toolContext) => {
|
|
@@ -229,14 +254,16 @@ export default Plugin.define({
|
|
|
229
254
|
const id = requiredString(values, "id");
|
|
230
255
|
const title = values.title === undefined ? undefined : requiredString(values, "title");
|
|
231
256
|
const color = optionalCategoryColor(values);
|
|
232
|
-
|
|
233
|
-
|
|
257
|
+
const icon = optionalCategoryIcon(values);
|
|
258
|
+
if (title === undefined && color === undefined && icon === undefined) {
|
|
259
|
+
throw new Error("backlog_category_update requires a title, color, or icon change");
|
|
234
260
|
}
|
|
235
|
-
|
|
261
|
+
await updateForSession(context, toolContext.sessionID, (current) => {
|
|
236
262
|
const renamed = title === undefined ? current : renameCategory(current, id, title);
|
|
237
|
-
|
|
263
|
+
const colored = color === undefined ? renamed : setCategoryColor(renamed, id, color);
|
|
264
|
+
return icon === undefined ? colored : setCategoryIcon(colored, id, icon);
|
|
238
265
|
});
|
|
239
|
-
return { content: `Updated category ${id}
|
|
266
|
+
return { content: `Updated category ${id}.` };
|
|
240
267
|
},
|
|
241
268
|
});
|
|
242
269
|
tools.add({
|
|
@@ -259,7 +286,8 @@ export default Plugin.define({
|
|
|
259
286
|
if (position === undefined)
|
|
260
287
|
throw new Error("position is required");
|
|
261
288
|
const backlog = await updateForSession(context, toolContext.sessionID, (current) => moveCategory(current, id, position));
|
|
262
|
-
|
|
289
|
+
const categoryPosition = backlog.categories.findIndex((category) => category.id === id);
|
|
290
|
+
return { content: `Moved category ${id} to position ${categoryPosition}.` };
|
|
263
291
|
},
|
|
264
292
|
});
|
|
265
293
|
tools.add({
|
|
@@ -269,8 +297,8 @@ export default Plugin.define({
|
|
|
269
297
|
options: { codemode: false },
|
|
270
298
|
execute: async (input, toolContext) => {
|
|
271
299
|
const id = requiredString(record(input), "id");
|
|
272
|
-
|
|
273
|
-
return { content: `Removed category ${id}
|
|
300
|
+
await updateForSession(context, toolContext.sessionID, (current) => removeCategory(current, id));
|
|
301
|
+
return { content: `Removed category ${id}.` };
|
|
274
302
|
},
|
|
275
303
|
});
|
|
276
304
|
tools.add({
|
|
@@ -280,8 +308,12 @@ export default Plugin.define({
|
|
|
280
308
|
options: { codemode: false },
|
|
281
309
|
execute: async (input, toolContext) => {
|
|
282
310
|
const id = requiredString(record(input), "id");
|
|
283
|
-
|
|
284
|
-
|
|
311
|
+
let count = 0;
|
|
312
|
+
await updateForSession(context, toolContext.sessionID, (current) => {
|
|
313
|
+
count = current.items.filter((item) => item.status === id).length;
|
|
314
|
+
return purgeCategory(current, id);
|
|
315
|
+
});
|
|
316
|
+
return { content: `Purged ${count} ${count === 1 ? "task" : "tasks"} from category ${id}.` };
|
|
285
317
|
},
|
|
286
318
|
});
|
|
287
319
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/input.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type Backlog, type CategoryColor, type Status } from "./backlog.js";
|
|
1
|
+
import { type Backlog, type CategoryColor, type CategoryIcon, type Status } from "./backlog.js";
|
|
2
2
|
export declare function record(input: unknown): Record<string, unknown>;
|
|
3
3
|
export declare function requiredString(input: Record<string, unknown>, key: string): string;
|
|
4
4
|
export declare function optionalString(input: Record<string, unknown>, key: string): string | undefined;
|
|
5
5
|
export declare function optionalNullableString(input: Record<string, unknown>, key: string): string | null | undefined;
|
|
6
|
-
export declare function optionalStatus(input: Record<string, unknown>, backlog: Backlog): Status | undefined;
|
|
6
|
+
export declare function optionalStatus(input: Record<string, unknown>, backlog: Backlog, key?: string): Status | undefined;
|
|
7
7
|
export declare function optionalCategoryColor(input: Record<string, unknown>): CategoryColor | undefined;
|
|
8
|
+
export declare function optionalCategoryIcon(input: Record<string, unknown>): CategoryIcon | undefined;
|
|
8
9
|
export declare function optionalPosition(input: Record<string, unknown>): number | undefined;
|
package/dist/input.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isCategoryColor, isStatus, } from "./backlog.js";
|
|
1
|
+
import { isCategoryColor, isCategoryIcon, isStatus, } from "./backlog.js";
|
|
2
2
|
export function record(input) {
|
|
3
3
|
if (typeof input !== "object" || input === null || Array.isArray(input)) {
|
|
4
4
|
throw new Error("Tool input must be an object");
|
|
@@ -26,12 +26,12 @@ export function optionalNullableString(input, key) {
|
|
|
26
26
|
return value;
|
|
27
27
|
throw new Error(`${key} must be a string or null`);
|
|
28
28
|
}
|
|
29
|
-
export function optionalStatus(input, backlog) {
|
|
30
|
-
const value = input
|
|
29
|
+
export function optionalStatus(input, backlog, key = "status") {
|
|
30
|
+
const value = input[key];
|
|
31
31
|
if (value === undefined)
|
|
32
32
|
return undefined;
|
|
33
33
|
if (!isStatus(backlog, value))
|
|
34
|
-
throw new Error(
|
|
34
|
+
throw new Error(`${key} must identify a backlog category`);
|
|
35
35
|
return value;
|
|
36
36
|
}
|
|
37
37
|
export function optionalCategoryColor(input) {
|
|
@@ -42,6 +42,14 @@ export function optionalCategoryColor(input) {
|
|
|
42
42
|
throw new Error("color must identify a supported category color");
|
|
43
43
|
return value;
|
|
44
44
|
}
|
|
45
|
+
export function optionalCategoryIcon(input) {
|
|
46
|
+
const value = input.icon;
|
|
47
|
+
if (value === undefined)
|
|
48
|
+
return undefined;
|
|
49
|
+
if (!isCategoryIcon(value))
|
|
50
|
+
throw new Error("icon must identify a supported category icon");
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
45
53
|
export function optionalPosition(input) {
|
|
46
54
|
const value = input.position;
|
|
47
55
|
if (value === undefined)
|
package/dist/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,QAAQ,
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
|
package/dist/tui.js
CHANGED
|
@@ -11,17 +11,26 @@ import { watch } from "node:fs";
|
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import { Plugin } from "@opencode-ai/plugin/tui";
|
|
13
13
|
import { createMemo, createSignal, For, onCleanup, onMount, Show } from "solid-js";
|
|
14
|
-
import { addCategory, BACKLOG_FILE, CATEGORY_COLORS, EMPTY_BACKLOG, moveItem, moveCategory, purgeCategory, removeCategory, renameCategory, setCategoryColor } from "./backlog.js";
|
|
14
|
+
import { addCategory, BACKLOG_FILE, CATEGORY_COLORS, CATEGORY_ICONS, CATEGORY_PRESETS, EMPTY_BACKLOG, moveItem, moveCategory, purgeCategory, removeCategory, renameCategory, setCategoryColor, setCategoryIcon } from "./backlog.js";
|
|
15
15
|
import { readBacklog, readBacklogSync, updateBacklog } from "./store.js";
|
|
16
16
|
function categoryTitle(categories, status) {
|
|
17
17
|
return categories.find(category => category.id === status)?.title ?? status;
|
|
18
18
|
}
|
|
19
19
|
function categoryColorName(category) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
return category.color ?? CATEGORY_PRESETS[category.id]?.color ?? "info";
|
|
21
|
+
}
|
|
22
|
+
function categoryIconName(category) {
|
|
23
|
+
return category.icon ?? CATEGORY_PRESETS[category.id]?.icon ?? "circle";
|
|
24
|
+
}
|
|
25
|
+
function categoryIcon(category) {
|
|
26
|
+
const icon = categoryIconName(category);
|
|
27
|
+
if (icon === "circle") return "○";
|
|
28
|
+
if (icon === "dot") return "●";
|
|
29
|
+
if (icon === "check") return "✓";
|
|
30
|
+
if (icon === "cross") return "×";
|
|
31
|
+
if (icon === "pause") return "‖";
|
|
32
|
+
if (icon === "diamond") return "◆";
|
|
33
|
+
return "";
|
|
25
34
|
}
|
|
26
35
|
function readSnapshot(directory) {
|
|
27
36
|
try {
|
|
@@ -115,8 +124,22 @@ function BacklogView(props) {
|
|
|
115
124
|
var _el$11 = _$createElement("box"),
|
|
116
125
|
_el$12 = _$createElement("text");
|
|
117
126
|
_$insertNode(_el$11, _el$12);
|
|
127
|
+
_$setProp(_el$11, "flexDirection", "row");
|
|
128
|
+
_$setProp(_el$11, "gap", 1);
|
|
118
129
|
_$setProp(_el$11, "minWidth", 0);
|
|
119
130
|
_$setProp(_el$11, "onMouseUp", () => void showTaskDetails(props.context, item, backlog().categories));
|
|
131
|
+
_$insert(_el$11, _$createComponent(Show, {
|
|
132
|
+
get when() {
|
|
133
|
+
return categoryIcon(category);
|
|
134
|
+
},
|
|
135
|
+
children: icon => (() => {
|
|
136
|
+
var _el$13 = _$createElement("text");
|
|
137
|
+
_$setProp(_el$13, "flexShrink", 0);
|
|
138
|
+
_$insert(_el$13, icon);
|
|
139
|
+
_$effect(_$p => _$setProp(_el$13, "fg", color(), _$p));
|
|
140
|
+
return _el$13;
|
|
141
|
+
})()
|
|
142
|
+
}), _el$12);
|
|
120
143
|
_$setProp(_el$12, "wrapMode", "none");
|
|
121
144
|
_$setProp(_el$12, "truncate", true);
|
|
122
145
|
_$setProp(_el$12, "flexGrow", 1);
|
|
@@ -140,24 +163,24 @@ function taskDetails(item, categories) {
|
|
|
140
163
|
}
|
|
141
164
|
function TaskAction(props) {
|
|
142
165
|
return (() => {
|
|
143
|
-
var _el$
|
|
144
|
-
_el$
|
|
145
|
-
_el$
|
|
146
|
-
_$insertNode(_el$
|
|
147
|
-
_$insertNode(_el$
|
|
148
|
-
_$insert(_el$
|
|
149
|
-
_$insert(_el$
|
|
166
|
+
var _el$14 = _$createElement("text"),
|
|
167
|
+
_el$15 = _$createElement("b"),
|
|
168
|
+
_el$16 = _$createTextNode(` `);
|
|
169
|
+
_$insertNode(_el$14, _el$15);
|
|
170
|
+
_$insertNode(_el$14, _el$16);
|
|
171
|
+
_$insert(_el$15, () => props.shortcut);
|
|
172
|
+
_$insert(_el$14, () => props.label, null);
|
|
150
173
|
_$effect(_p$ => {
|
|
151
174
|
var _v$ = props.danger ? props.context.theme.text.feedback.error.default : props.context.theme.text.subdued,
|
|
152
175
|
_v$2 = props.run;
|
|
153
|
-
_v$ !== _p$.e && (_p$.e = _$setProp(_el$
|
|
154
|
-
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
176
|
+
_v$ !== _p$.e && (_p$.e = _$setProp(_el$14, "fg", _v$, _p$.e));
|
|
177
|
+
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$14, "onMouseUp", _v$2, _p$.t));
|
|
155
178
|
return _p$;
|
|
156
179
|
}, {
|
|
157
180
|
e: undefined,
|
|
158
181
|
t: undefined
|
|
159
182
|
});
|
|
160
|
-
return _el$
|
|
183
|
+
return _el$14;
|
|
161
184
|
})();
|
|
162
185
|
}
|
|
163
186
|
function TaskDetailsDialog(props) {
|
|
@@ -195,37 +218,37 @@ function TaskDetailsDialog(props) {
|
|
|
195
218
|
}]
|
|
196
219
|
}));
|
|
197
220
|
return (() => {
|
|
198
|
-
var _el$
|
|
199
|
-
_el$
|
|
200
|
-
_el$
|
|
201
|
-
_el$
|
|
202
|
-
_el$
|
|
203
|
-
_el$
|
|
204
|
-
_el$
|
|
205
|
-
_$insertNode(_el$16, _el$17);
|
|
206
|
-
_$insertNode(_el$16, _el$22);
|
|
207
|
-
_$insertNode(_el$16, _el$23);
|
|
208
|
-
_$setProp(_el$16, "paddingLeft", 2);
|
|
209
|
-
_$setProp(_el$16, "paddingRight", 2);
|
|
210
|
-
_$setProp(_el$16, "gap", 1);
|
|
221
|
+
var _el$17 = _$createElement("box"),
|
|
222
|
+
_el$18 = _$createElement("box"),
|
|
223
|
+
_el$19 = _$createElement("text"),
|
|
224
|
+
_el$20 = _$createElement("b"),
|
|
225
|
+
_el$21 = _$createElement("text"),
|
|
226
|
+
_el$23 = _$createElement("text"),
|
|
227
|
+
_el$24 = _$createElement("box");
|
|
211
228
|
_$insertNode(_el$17, _el$18);
|
|
212
|
-
_$insertNode(_el$17, _el$
|
|
213
|
-
_$
|
|
214
|
-
_$setProp(_el$17, "
|
|
215
|
-
_$setProp(_el$17, "
|
|
229
|
+
_$insertNode(_el$17, _el$23);
|
|
230
|
+
_$insertNode(_el$17, _el$24);
|
|
231
|
+
_$setProp(_el$17, "paddingLeft", 2);
|
|
232
|
+
_$setProp(_el$17, "paddingRight", 2);
|
|
233
|
+
_$setProp(_el$17, "gap", 1);
|
|
216
234
|
_$insertNode(_el$18, _el$19);
|
|
217
|
-
_$
|
|
218
|
-
_$setProp(_el$18, "
|
|
219
|
-
_$
|
|
220
|
-
_$
|
|
221
|
-
_$
|
|
222
|
-
_$setProp(_el$
|
|
223
|
-
_$
|
|
224
|
-
_$
|
|
225
|
-
_$
|
|
226
|
-
_$setProp(_el$
|
|
227
|
-
_$setProp(_el$23, "
|
|
228
|
-
_$insert(_el$23,
|
|
235
|
+
_$insertNode(_el$18, _el$21);
|
|
236
|
+
_$setProp(_el$18, "flexDirection", "row");
|
|
237
|
+
_$setProp(_el$18, "justifyContent", "space-between");
|
|
238
|
+
_$setProp(_el$18, "gap", 2);
|
|
239
|
+
_$insertNode(_el$19, _el$20);
|
|
240
|
+
_$setProp(_el$19, "wrapMode", "word");
|
|
241
|
+
_$setProp(_el$19, "flexGrow", 1);
|
|
242
|
+
_$insert(_el$20, () => props.item.title);
|
|
243
|
+
_$insertNode(_el$21, _$createTextNode(`esc`));
|
|
244
|
+
_$setProp(_el$21, "onMouseUp", () => props.context.ui.dialog.clear());
|
|
245
|
+
_$setProp(_el$23, "wrapMode", "word");
|
|
246
|
+
_$insert(_el$23, () => taskDetails(props.item, props.categories));
|
|
247
|
+
_$setProp(_el$24, "flexDirection", "row");
|
|
248
|
+
_$setProp(_el$24, "justifyContent", "flex-end");
|
|
249
|
+
_$setProp(_el$24, "gap", 2);
|
|
250
|
+
_$setProp(_el$24, "paddingBottom", 1);
|
|
251
|
+
_$insert(_el$24, _$createComponent(TaskAction, {
|
|
229
252
|
get context() {
|
|
230
253
|
return props.context;
|
|
231
254
|
},
|
|
@@ -233,7 +256,7 @@ function TaskDetailsDialog(props) {
|
|
|
233
256
|
label: "status",
|
|
234
257
|
run: changeStatus
|
|
235
258
|
}), null);
|
|
236
|
-
_$insert(_el$
|
|
259
|
+
_$insert(_el$24, _$createComponent(TaskAction, {
|
|
237
260
|
get context() {
|
|
238
261
|
return props.context;
|
|
239
262
|
},
|
|
@@ -241,7 +264,7 @@ function TaskDetailsDialog(props) {
|
|
|
241
264
|
label: "edit",
|
|
242
265
|
run: edit
|
|
243
266
|
}), null);
|
|
244
|
-
_$insert(_el$
|
|
267
|
+
_$insert(_el$24, _$createComponent(TaskAction, {
|
|
245
268
|
get context() {
|
|
246
269
|
return props.context;
|
|
247
270
|
},
|
|
@@ -254,16 +277,16 @@ function TaskDetailsDialog(props) {
|
|
|
254
277
|
var _v$3 = props.context.theme.text.default,
|
|
255
278
|
_v$4 = props.context.theme.text.subdued,
|
|
256
279
|
_v$5 = props.context.theme.text.subdued;
|
|
257
|
-
_v$3 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
258
|
-
_v$4 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
259
|
-
_v$5 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
280
|
+
_v$3 !== _p$.e && (_p$.e = _$setProp(_el$19, "fg", _v$3, _p$.e));
|
|
281
|
+
_v$4 !== _p$.t && (_p$.t = _$setProp(_el$21, "fg", _v$4, _p$.t));
|
|
282
|
+
_v$5 !== _p$.a && (_p$.a = _$setProp(_el$23, "fg", _v$5, _p$.a));
|
|
260
283
|
return _p$;
|
|
261
284
|
}, {
|
|
262
285
|
e: undefined,
|
|
263
286
|
t: undefined,
|
|
264
287
|
a: undefined
|
|
265
288
|
});
|
|
266
|
-
return _el$
|
|
289
|
+
return _el$17;
|
|
267
290
|
})();
|
|
268
291
|
}
|
|
269
292
|
function showTaskDetails(context, item, categories) {
|
|
@@ -466,20 +489,36 @@ async function addBacklogCategory(context) {
|
|
|
466
489
|
value: suggestedID
|
|
467
490
|
});
|
|
468
491
|
if (!id?.trim()) return;
|
|
492
|
+
const preset = CATEGORY_PRESETS[id.trim()];
|
|
469
493
|
const color = await context.ui.dialog.select({
|
|
470
494
|
title: title.trim(),
|
|
471
495
|
placeholder: "Category color",
|
|
472
|
-
current: "info",
|
|
496
|
+
current: preset?.color ?? "info",
|
|
473
497
|
options: CATEGORY_COLORS.map(value => ({
|
|
474
498
|
title: value,
|
|
475
499
|
value
|
|
476
500
|
}))
|
|
477
501
|
});
|
|
478
502
|
if (!color) return;
|
|
503
|
+
const icon = await context.ui.dialog.select({
|
|
504
|
+
title: title.trim(),
|
|
505
|
+
placeholder: "Category icon",
|
|
506
|
+
current: preset?.icon ?? "circle",
|
|
507
|
+
options: CATEGORY_ICONS.map(value => ({
|
|
508
|
+
title: `${categoryIcon({
|
|
509
|
+
id: "",
|
|
510
|
+
title: "",
|
|
511
|
+
icon: value
|
|
512
|
+
}) || " "} ${value}`,
|
|
513
|
+
value
|
|
514
|
+
}))
|
|
515
|
+
});
|
|
516
|
+
if (!icon) return;
|
|
479
517
|
const category = {
|
|
480
518
|
id: id.trim(),
|
|
481
519
|
title: title.trim(),
|
|
482
|
-
color
|
|
520
|
+
color,
|
|
521
|
+
icon
|
|
483
522
|
};
|
|
484
523
|
const {
|
|
485
524
|
path
|
|
@@ -526,6 +565,30 @@ async function colorBacklogCategory(context, category) {
|
|
|
526
565
|
variant: "success"
|
|
527
566
|
});
|
|
528
567
|
}
|
|
568
|
+
async function iconBacklogCategory(context, category) {
|
|
569
|
+
const icon = await context.ui.dialog.select({
|
|
570
|
+
title: `Icon: ${category.title}`,
|
|
571
|
+
placeholder: "Category icon",
|
|
572
|
+
current: categoryIconName(category),
|
|
573
|
+
options: CATEGORY_ICONS.map(value => ({
|
|
574
|
+
title: `${categoryIcon({
|
|
575
|
+
id: "",
|
|
576
|
+
title: "",
|
|
577
|
+
icon: value
|
|
578
|
+
}) || " "} ${value}`,
|
|
579
|
+
value
|
|
580
|
+
}))
|
|
581
|
+
});
|
|
582
|
+
if (!icon || icon === categoryIconName(category)) return;
|
|
583
|
+
const {
|
|
584
|
+
path
|
|
585
|
+
} = backlogLocation(context);
|
|
586
|
+
await updateBacklog(path, current => setCategoryIcon(current, category.id, icon));
|
|
587
|
+
context.ui.toast.show({
|
|
588
|
+
message: `Updated icon for "${category.title}".`,
|
|
589
|
+
variant: "success"
|
|
590
|
+
});
|
|
591
|
+
}
|
|
529
592
|
async function moveBacklogCategory(context, category) {
|
|
530
593
|
const {
|
|
531
594
|
path
|
|
@@ -604,6 +667,9 @@ async function manageBacklogCategories(context) {
|
|
|
604
667
|
}, {
|
|
605
668
|
title: "Change color",
|
|
606
669
|
value: "color"
|
|
670
|
+
}, {
|
|
671
|
+
title: "Change icon",
|
|
672
|
+
value: "icon"
|
|
607
673
|
}, {
|
|
608
674
|
title: "Move",
|
|
609
675
|
value: "move"
|
|
@@ -617,6 +683,7 @@ async function manageBacklogCategories(context) {
|
|
|
617
683
|
});
|
|
618
684
|
if (action === "rename") return renameBacklogCategory(context, category);
|
|
619
685
|
if (action === "color") return colorBacklogCategory(context, category);
|
|
686
|
+
if (action === "icon") return iconBacklogCategory(context, category);
|
|
620
687
|
if (action === "move") return moveBacklogCategory(context, category);
|
|
621
688
|
if (action === "delete") return deleteBacklogCategory(context, category);
|
|
622
689
|
if (action !== "purge") return;
|