@tjdals12/agent-bolt 1.1.0 → 1.2.0-next.2
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.ko.md +41 -27
- package/README.md +41 -27
- package/dist/catalog/commands/add-item.d.ts +23 -7
- package/dist/catalog/commands/add-item.d.ts.map +1 -1
- package/dist/catalog/commands/add-item.js +270 -23
- package/dist/catalog/commands/add-item.js.map +1 -1
- package/dist/catalog/commands/add-pack.d.ts +15 -6
- package/dist/catalog/commands/add-pack.d.ts.map +1 -1
- package/dist/catalog/commands/add-pack.js +161 -51
- package/dist/catalog/commands/add-pack.js.map +1 -1
- package/dist/catalog/commands/init.d.ts +0 -1
- package/dist/catalog/commands/init.d.ts.map +1 -1
- package/dist/catalog/commands/init.js +2 -6
- package/dist/catalog/commands/init.js.map +1 -1
- package/dist/catalog/commands/remove-item.d.ts +21 -7
- package/dist/catalog/commands/remove-item.d.ts.map +1 -1
- package/dist/catalog/commands/remove-item.js +246 -22
- package/dist/catalog/commands/remove-item.js.map +1 -1
- package/dist/catalog/commands/remove-pack.d.ts +10 -6
- package/dist/catalog/commands/remove-pack.d.ts.map +1 -1
- package/dist/catalog/commands/remove-pack.js +103 -15
- package/dist/catalog/commands/remove-pack.js.map +1 -1
- package/dist/cli/format.d.ts +17 -0
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +45 -0
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/index.js +24 -12
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/prompts.d.ts +4 -0
- package/dist/cli/prompts.d.ts.map +1 -0
- package/dist/cli/prompts.js +11 -0
- package/dist/cli/prompts.js.map +1 -0
- package/dist/cli/views/add-item.d.ts.map +1 -1
- package/dist/cli/views/add-item.js +47 -19
- package/dist/cli/views/add-item.js.map +1 -1
- package/dist/cli/views/add-pack.d.ts.map +1 -1
- package/dist/cli/views/add-pack.js +46 -23
- package/dist/cli/views/add-pack.js.map +1 -1
- package/dist/cli/views/remove-item.d.ts.map +1 -1
- package/dist/cli/views/remove-item.js +47 -19
- package/dist/cli/views/remove-item.js.map +1 -1
- package/dist/cli/views/remove-pack.d.ts +1 -1
- package/dist/cli/views/remove-pack.d.ts.map +1 -1
- package/dist/cli/views/remove-pack.js +36 -23
- package/dist/cli/views/remove-pack.js.map +1 -1
- package/dist/cli/views/shared/banner.d.ts +4 -0
- package/dist/cli/views/shared/banner.d.ts.map +1 -1
- package/dist/cli/views/shared/banner.js +16 -0
- package/dist/cli/views/shared/banner.js.map +1 -1
- package/dist/core/tty.d.ts +2 -0
- package/dist/core/tty.d.ts.map +1 -0
- package/dist/core/tty.js +6 -0
- package/dist/core/tty.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { checkbox, select, Separator } from '@inquirer/prompts';
|
|
2
|
+
import chalk from 'chalk';
|
|
1
3
|
import { isMap, isSeq } from 'yaml';
|
|
2
4
|
import { loadConfig } from '#catalog/config/load.js';
|
|
3
5
|
import { editConfigFile } from '#catalog/config/write.js';
|
|
4
6
|
import { ITEM_TYPES } from '#catalog/content/item/model.js';
|
|
5
7
|
import { buildCatalogConfigPath } from '#core/paths.js';
|
|
8
|
+
import { canPrompt } from '#core/tty.js';
|
|
9
|
+
import { alignPackRows, pageSizeFor } from '#cli/format.js';
|
|
10
|
+
import { itemSectionHeader } from '#cli/prompts.js';
|
|
6
11
|
export class RemoveItemCommand {
|
|
7
12
|
_source;
|
|
8
13
|
_pack;
|
|
@@ -16,33 +21,171 @@ export class RemoveItemCommand {
|
|
|
16
21
|
this._agents = options.agents;
|
|
17
22
|
this._guidelines = options.guidelines;
|
|
18
23
|
}
|
|
19
|
-
execute(projectPath) {
|
|
24
|
+
async execute(projectPath) {
|
|
25
|
+
if (this._source !== undefined) {
|
|
26
|
+
const promptPack = this._pack === undefined;
|
|
27
|
+
const promptItems = this._skills === undefined && this._agents === undefined && this._guidelines === undefined;
|
|
28
|
+
if (promptPack && !promptItems) {
|
|
29
|
+
throw new Error('The --pack option is required with --skills, --agents, or --guidelines. e.g. --pack=git-workflow');
|
|
30
|
+
}
|
|
31
|
+
if ((promptPack || promptItems) && !canPrompt()) {
|
|
32
|
+
if (promptPack) {
|
|
33
|
+
throw new Error('The --pack option is required (or run remove-item in an interactive terminal). e.g. --pack=git-workflow');
|
|
34
|
+
}
|
|
35
|
+
throw new Error('No items to remove. Specify at least one of --skills, --agents, --guidelines (or run remove-item in an interactive terminal).');
|
|
36
|
+
}
|
|
37
|
+
const optionItemsByType = promptItems
|
|
38
|
+
? undefined
|
|
39
|
+
: {
|
|
40
|
+
skills: this.parseItemList(this._skills),
|
|
41
|
+
agents: this.parseItemList(this._agents),
|
|
42
|
+
guidelines: this.parseItemList(this._guidelines),
|
|
43
|
+
};
|
|
44
|
+
if (optionItemsByType) {
|
|
45
|
+
const totalInput = ITEM_TYPES.reduce((sum, type) => sum + optionItemsByType[type].length, 0);
|
|
46
|
+
if (totalInput === 0) {
|
|
47
|
+
throw new Error('No items to remove. Specify at least one of --skills, --agents, --guidelines.');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const result = await this.removeItemsFromSource({
|
|
51
|
+
projectPath,
|
|
52
|
+
sourceAlias: this._source,
|
|
53
|
+
packName: this._pack,
|
|
54
|
+
optionItemsByType,
|
|
55
|
+
});
|
|
56
|
+
return { results: [result], failures: [] };
|
|
57
|
+
}
|
|
58
|
+
if (this._pack !== undefined) {
|
|
59
|
+
throw new Error('The --source option is required with --pack. e.g. --source=common');
|
|
60
|
+
}
|
|
61
|
+
const hasItemOptions = this._skills !== undefined || this._agents !== undefined || this._guidelines !== undefined;
|
|
62
|
+
if (hasItemOptions) {
|
|
63
|
+
throw new Error('The --source option is required with --skills, --agents, or --guidelines. e.g. --source=common');
|
|
64
|
+
}
|
|
65
|
+
if (!canPrompt()) {
|
|
66
|
+
throw new Error('The --source option is required (or run remove-item in an interactive terminal). e.g. --source=common');
|
|
67
|
+
}
|
|
68
|
+
const configPath = buildCatalogConfigPath(projectPath);
|
|
69
|
+
const bySource = new Map();
|
|
70
|
+
const failures = [];
|
|
71
|
+
while (true) {
|
|
72
|
+
const config = loadConfig(configPath);
|
|
73
|
+
if (Object.keys(config.sources).length === 0) {
|
|
74
|
+
throw new Error(`no sources configured. run 'agent-bolt init' to add one.`);
|
|
75
|
+
}
|
|
76
|
+
const sourceAlias = await this.promptSourceSelection(config, bySource);
|
|
77
|
+
if (sourceAlias === null)
|
|
78
|
+
break;
|
|
79
|
+
try {
|
|
80
|
+
const result = await this.removeItemsFromSource({
|
|
81
|
+
projectPath,
|
|
82
|
+
sourceAlias,
|
|
83
|
+
packName: undefined,
|
|
84
|
+
optionItemsByType: undefined,
|
|
85
|
+
});
|
|
86
|
+
if (result.packs.length > 0) {
|
|
87
|
+
const merged = bySource.get(sourceAlias);
|
|
88
|
+
if (merged) {
|
|
89
|
+
for (const pack of result.packs) {
|
|
90
|
+
this.mergePackInto(merged.packs, pack);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
bySource.set(sourceAlias, result);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
failures.push(e instanceof Error ? e.message : String(e));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return { results: [...bySource.values()], failures };
|
|
103
|
+
}
|
|
104
|
+
async removeItemsFromSource(options) {
|
|
105
|
+
const { projectPath, sourceAlias, packName, optionItemsByType } = options;
|
|
20
106
|
const configPath = buildCatalogConfigPath(projectPath);
|
|
21
107
|
const config = loadConfig(configPath);
|
|
22
|
-
const source = config.sources[
|
|
108
|
+
const source = config.sources[sourceAlias];
|
|
23
109
|
if (!source) {
|
|
24
|
-
const packs = config.packs[
|
|
110
|
+
const packs = config.packs[sourceAlias];
|
|
25
111
|
if (packs) {
|
|
26
|
-
throw new Error(`source '${
|
|
112
|
+
throw new Error(`source '${sourceAlias}' not found in ${configPath}, but it has orphaned packs. Run 'agent-bolt init' to clean them up`);
|
|
27
113
|
}
|
|
28
|
-
throw new Error(`source '${
|
|
114
|
+
throw new Error(`source '${sourceAlias}' not found in ${configPath}`);
|
|
29
115
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
116
|
+
if (packName !== undefined) {
|
|
117
|
+
const pack = await this.removeItemsFromPack({
|
|
118
|
+
configPath,
|
|
119
|
+
config,
|
|
120
|
+
sourceAlias,
|
|
121
|
+
packName,
|
|
122
|
+
optionItemsByType,
|
|
123
|
+
});
|
|
124
|
+
return { sourceAlias, packs: [pack] };
|
|
125
|
+
}
|
|
126
|
+
if (!config.packs[sourceAlias] || Object.keys(config.packs[sourceAlias]).length === 0) {
|
|
127
|
+
throw new Error(`source '${sourceAlias}' has no packs to remove from.`);
|
|
128
|
+
}
|
|
129
|
+
const packs = [];
|
|
130
|
+
while (true) {
|
|
131
|
+
const freshConfig = loadConfig(configPath);
|
|
132
|
+
const freshPacks = freshConfig.packs[sourceAlias];
|
|
133
|
+
if (!freshPacks || Object.keys(freshPacks).length === 0)
|
|
134
|
+
break;
|
|
135
|
+
const removedByPack = new Map();
|
|
136
|
+
for (const removedPack of packs) {
|
|
137
|
+
const prev = removedByPack.get(removedPack.packName) ?? 0;
|
|
138
|
+
removedByPack.set(removedPack.packName, prev + this.countRemovedItems(removedPack));
|
|
139
|
+
}
|
|
140
|
+
const nextPackName = await this.promptPackSelection(sourceAlias, freshPacks, removedByPack);
|
|
141
|
+
if (nextPackName === null)
|
|
142
|
+
break;
|
|
143
|
+
const pack = await this.removeItemsFromPack({
|
|
144
|
+
configPath,
|
|
145
|
+
config: freshConfig,
|
|
146
|
+
sourceAlias,
|
|
147
|
+
packName: nextPackName,
|
|
148
|
+
optionItemsByType: undefined,
|
|
149
|
+
});
|
|
150
|
+
if (this.countRemovedItems(pack) > 0) {
|
|
151
|
+
this.mergePackInto(packs, pack);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return { sourceAlias, packs };
|
|
155
|
+
}
|
|
156
|
+
countRemovedItems(pack) {
|
|
157
|
+
return ITEM_TYPES.reduce((sum, itemType) => sum + pack.removedItems[itemType].length, 0);
|
|
158
|
+
}
|
|
159
|
+
mergePackInto(packs, pack) {
|
|
160
|
+
const existing = packs.find((existingPack) => existingPack.packName === pack.packName);
|
|
161
|
+
if (!existing) {
|
|
162
|
+
packs.push(pack);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
existing.packPruned = existing.packPruned || pack.packPruned;
|
|
166
|
+
for (const itemType of ITEM_TYPES) {
|
|
167
|
+
existing.removedItems[itemType].push(...pack.removedItems[itemType]);
|
|
168
|
+
existing.skippedItems[itemType].push(...pack.skippedItems[itemType]);
|
|
38
169
|
}
|
|
39
|
-
|
|
40
|
-
|
|
170
|
+
}
|
|
171
|
+
async removeItemsFromPack(options) {
|
|
172
|
+
const { configPath, config, sourceAlias, packName, optionItemsByType } = options;
|
|
173
|
+
const existingPacks = config.packs[sourceAlias];
|
|
174
|
+
const existingPack = existingPacks ? existingPacks[packName] : undefined;
|
|
175
|
+
const existingItemNamesByType = {
|
|
176
|
+
skills: existingPack?.skills ?? [],
|
|
177
|
+
agents: existingPack?.agents ?? [],
|
|
178
|
+
guidelines: Object.keys(existingPack?.guidelines ?? {}),
|
|
179
|
+
};
|
|
41
180
|
const existingItemsByType = {
|
|
42
|
-
skills: new Set(
|
|
43
|
-
agents: new Set(
|
|
44
|
-
guidelines: new Set(
|
|
181
|
+
skills: new Set(existingItemNamesByType.skills),
|
|
182
|
+
agents: new Set(existingItemNamesByType.agents),
|
|
183
|
+
guidelines: new Set(existingItemNamesByType.guidelines),
|
|
45
184
|
};
|
|
185
|
+
let inputItemsByType = optionItemsByType;
|
|
186
|
+
if (inputItemsByType === undefined) {
|
|
187
|
+
inputItemsByType = await this.promptItemSelection(sourceAlias, packName, existingItemNamesByType);
|
|
188
|
+
}
|
|
46
189
|
const removedItems = { skills: [], agents: [], guidelines: [] };
|
|
47
190
|
const skippedItems = { skills: [], agents: [], guidelines: [] };
|
|
48
191
|
for (const itemType of ITEM_TYPES) {
|
|
@@ -61,8 +204,8 @@ export class RemoveItemCommand {
|
|
|
61
204
|
let packPruned = false;
|
|
62
205
|
if (removedCount > 0) {
|
|
63
206
|
editConfigFile(configPath, (document) => {
|
|
64
|
-
const sourcePath = ['packs',
|
|
65
|
-
const packPath = [...sourcePath,
|
|
207
|
+
const sourcePath = ['packs', sourceAlias];
|
|
208
|
+
const packPath = [...sourcePath, packName];
|
|
66
209
|
for (const itemType of ITEM_TYPES) {
|
|
67
210
|
const removedItemNames = new Set(removedItems[itemType]);
|
|
68
211
|
if (removedItemNames.size === 0)
|
|
@@ -102,13 +245,94 @@ export class RemoveItemCommand {
|
|
|
102
245
|
});
|
|
103
246
|
}
|
|
104
247
|
return {
|
|
105
|
-
|
|
106
|
-
packName: this._pack,
|
|
248
|
+
packName,
|
|
107
249
|
packPruned,
|
|
108
250
|
removedItems,
|
|
109
251
|
skippedItems,
|
|
110
252
|
};
|
|
111
253
|
}
|
|
254
|
+
async promptSourceSelection(config, bySource) {
|
|
255
|
+
const entries = Object.entries(config.sources);
|
|
256
|
+
const aliasWidth = Math.max(0, ...entries.map(([alias]) => alias.length));
|
|
257
|
+
const sourceChoices = entries.map(([alias, source]) => {
|
|
258
|
+
const location = source.type === 'local' ? source.path : source.url;
|
|
259
|
+
const hasPacks = Object.keys(config.packs[alias] ?? {}).length > 0;
|
|
260
|
+
const removed = bySource.get(alias);
|
|
261
|
+
const removedCount = removed
|
|
262
|
+
? removed.packs.reduce((sum, pack) => sum + this.countRemovedItems(pack), 0)
|
|
263
|
+
: 0;
|
|
264
|
+
const removedNote = hasPacks && removedCount > 0 ? chalk.dim(` · removed ${removedCount}`) : '';
|
|
265
|
+
return {
|
|
266
|
+
name: `${alias.padEnd(aliasWidth)} ${chalk.dim(`(${source.type} · ${location})`)}${removedNote}`,
|
|
267
|
+
value: alias,
|
|
268
|
+
short: alias,
|
|
269
|
+
disabled: hasPacks ? false : '(nothing to remove)',
|
|
270
|
+
};
|
|
271
|
+
});
|
|
272
|
+
return select({
|
|
273
|
+
message: 'Select a source (or finish)',
|
|
274
|
+
choices: [...sourceChoices, new Separator(), { name: 'Done', value: null }],
|
|
275
|
+
loop: false,
|
|
276
|
+
pageSize: pageSizeFor(sourceChoices.length + 2),
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
async promptPackSelection(sourceAlias, existingPacks, removedByPack) {
|
|
280
|
+
const rows = alignPackRows(Object.entries(existingPacks).map(([name, pack]) => ({
|
|
281
|
+
name,
|
|
282
|
+
counts: {
|
|
283
|
+
skills: pack.skills.length,
|
|
284
|
+
agents: pack.agents.length,
|
|
285
|
+
guidelines: Object.keys(pack.guidelines).length,
|
|
286
|
+
},
|
|
287
|
+
})));
|
|
288
|
+
const packChoices = rows.map((row) => {
|
|
289
|
+
const removed = removedByPack.get(row.name) ?? 0;
|
|
290
|
+
const removedNote = removed > 0 ? chalk.dim(` · removed ${removed}`) : '';
|
|
291
|
+
return {
|
|
292
|
+
name: `${row.paddedName} ${row.counts}${removedNote}`,
|
|
293
|
+
value: row.name,
|
|
294
|
+
short: row.name,
|
|
295
|
+
};
|
|
296
|
+
});
|
|
297
|
+
return select({
|
|
298
|
+
message: `Select a pack in source '${sourceAlias}' (or finish)`,
|
|
299
|
+
choices: [...packChoices, new Separator(), { name: 'Done', value: null }],
|
|
300
|
+
loop: false,
|
|
301
|
+
pageSize: pageSizeFor(packChoices.length + 2),
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
async promptItemSelection(sourceAlias, packName, existingItemNamesByType) {
|
|
305
|
+
const empty = { skills: [], agents: [], guidelines: [] };
|
|
306
|
+
const totalItems = ITEM_TYPES.reduce((sum, itemType) => sum + existingItemNamesByType[itemType].length, 0);
|
|
307
|
+
if (totalItems === 0) {
|
|
308
|
+
console.log(chalk.dim(` pack '${packName}' has no items to remove`));
|
|
309
|
+
return empty;
|
|
310
|
+
}
|
|
311
|
+
const rowWidth = Math.max(0, ...ITEM_TYPES.flatMap((itemType) => existingItemNamesByType[itemType].map((name) => name.length)));
|
|
312
|
+
const choices = [];
|
|
313
|
+
for (const itemType of ITEM_TYPES) {
|
|
314
|
+
const names = existingItemNamesByType[itemType];
|
|
315
|
+
if (names.length === 0)
|
|
316
|
+
continue;
|
|
317
|
+
if (choices.length > 0)
|
|
318
|
+
choices.push(new Separator(' '));
|
|
319
|
+
choices.push(itemSectionHeader(itemType, rowWidth));
|
|
320
|
+
for (const name of names) {
|
|
321
|
+
choices.push({ name, value: { type: itemType, name }, short: name });
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
const selected = await checkbox({
|
|
325
|
+
message: `Select items to remove from '${sourceAlias}/${packName}'`,
|
|
326
|
+
choices,
|
|
327
|
+
loop: false,
|
|
328
|
+
pageSize: pageSizeFor(choices.length),
|
|
329
|
+
});
|
|
330
|
+
const result = { skills: [], agents: [], guidelines: [] };
|
|
331
|
+
for (const { type, name } of selected) {
|
|
332
|
+
result[type].push(name);
|
|
333
|
+
}
|
|
334
|
+
return result;
|
|
335
|
+
}
|
|
112
336
|
parseItemList(value) {
|
|
113
337
|
if (!value)
|
|
114
338
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-item.js","sourceRoot":"","sources":["../../../src/catalog/commands/remove-item.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remove-item.js","sourceRoot":"","sources":["../../../src/catalog/commands/remove-item.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,19 +4,23 @@ export type RemovedPack = {
|
|
|
4
4
|
agents: string[];
|
|
5
5
|
guidelines: string[];
|
|
6
6
|
};
|
|
7
|
-
export type
|
|
7
|
+
export type RemovedSourceResult = {
|
|
8
8
|
sourceAlias: string;
|
|
9
9
|
removedPacks: RemovedPack[];
|
|
10
10
|
skippedPackNames: string[];
|
|
11
11
|
};
|
|
12
|
+
export type RemovePackResult = RemovedSourceResult[];
|
|
12
13
|
export declare class RemovePackCommand {
|
|
13
|
-
private readonly _source
|
|
14
|
-
private readonly _packs
|
|
14
|
+
private readonly _source?;
|
|
15
|
+
private readonly _packs?;
|
|
15
16
|
constructor(options: {
|
|
16
|
-
source
|
|
17
|
-
packs
|
|
17
|
+
source?: string;
|
|
18
|
+
packs?: string;
|
|
18
19
|
});
|
|
19
|
-
execute(projectPath: string): RemovePackResult
|
|
20
|
+
execute(projectPath: string): Promise<RemovePackResult>;
|
|
21
|
+
private removePacksFromSource;
|
|
22
|
+
private promptSourceSelection;
|
|
23
|
+
private promptPackSelection;
|
|
20
24
|
private parsePackNames;
|
|
21
25
|
}
|
|
22
26
|
//# sourceMappingURL=remove-pack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-pack.d.ts","sourceRoot":"","sources":["../../../src/catalog/commands/remove-pack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"remove-pack.d.ts","sourceRoot":"","sources":["../../../src/catalog/commands/remove-pack.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;AAErD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAErB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAKlD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YA2C/C,qBAAqB;YAyErB,qBAAqB;YA2BrB,mBAAmB;IA+BjC,OAAO,CAAC,cAAc;CAOvB"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { checkbox, select, Separator } from '@inquirer/prompts';
|
|
1
2
|
import { isMap } from 'yaml';
|
|
3
|
+
import chalk from 'chalk';
|
|
2
4
|
import { loadConfig } from '#catalog/config/load.js';
|
|
3
5
|
import { editConfigFile } from '#catalog/config/write.js';
|
|
4
6
|
import { buildCatalogConfigPath } from '#core/paths.js';
|
|
7
|
+
import { canPrompt } from '#core/tty.js';
|
|
8
|
+
import { alignPackRows } from '#cli/format.js';
|
|
5
9
|
export class RemovePackCommand {
|
|
6
10
|
_source;
|
|
7
11
|
_packs;
|
|
@@ -9,27 +13,69 @@ export class RemovePackCommand {
|
|
|
9
13
|
this._source = options.source;
|
|
10
14
|
this._packs = options.packs;
|
|
11
15
|
}
|
|
12
|
-
execute(projectPath) {
|
|
16
|
+
async execute(projectPath) {
|
|
17
|
+
if (this._source !== undefined) {
|
|
18
|
+
const result = await this.removePacksFromSource(projectPath, this._source);
|
|
19
|
+
return [result];
|
|
20
|
+
}
|
|
21
|
+
if (this._packs !== undefined) {
|
|
22
|
+
throw new Error(`The --source option is required with --packs. e.g. --source=common`);
|
|
23
|
+
}
|
|
24
|
+
if (!canPrompt()) {
|
|
25
|
+
throw new Error(`The --source option is required (or run remove-pack in an interactive terminal). e.g. --source=common`);
|
|
26
|
+
}
|
|
27
|
+
const configPath = buildCatalogConfigPath(projectPath);
|
|
28
|
+
const bySource = new Map();
|
|
29
|
+
while (true) {
|
|
30
|
+
const config = loadConfig(configPath);
|
|
31
|
+
if (Object.keys(config.sources).length === 0) {
|
|
32
|
+
throw new Error(`no sources configured. run 'agent-bolt init' to add one.`);
|
|
33
|
+
}
|
|
34
|
+
const sourceAlias = await this.promptSourceSelection(config, bySource);
|
|
35
|
+
if (sourceAlias === null)
|
|
36
|
+
break;
|
|
37
|
+
const result = await this.removePacksFromSource(projectPath, sourceAlias);
|
|
38
|
+
if (result.removedPacks.length > 0) {
|
|
39
|
+
const merged = bySource.get(sourceAlias);
|
|
40
|
+
if (merged) {
|
|
41
|
+
merged.removedPacks.push(...result.removedPacks);
|
|
42
|
+
merged.skippedPackNames.push(...result.skippedPackNames);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
bySource.set(sourceAlias, result);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const results = [...bySource.values()];
|
|
50
|
+
return results;
|
|
51
|
+
}
|
|
52
|
+
async removePacksFromSource(projectPath, sourceAlias) {
|
|
53
|
+
const interactive = this._packs === undefined;
|
|
54
|
+
if (interactive && !canPrompt()) {
|
|
55
|
+
throw new Error(`The --packs option is required (or run remove-pack in an interactive terminal). e.g. --packs=git-workflow`);
|
|
56
|
+
}
|
|
13
57
|
const configPath = buildCatalogConfigPath(projectPath);
|
|
14
58
|
const config = loadConfig(configPath);
|
|
15
|
-
const source = config.sources[
|
|
59
|
+
const source = config.sources[sourceAlias];
|
|
16
60
|
if (!source) {
|
|
17
|
-
const hasOrphanedPacks = Object.hasOwn(config.packs,
|
|
61
|
+
const hasOrphanedPacks = Object.hasOwn(config.packs, sourceAlias);
|
|
18
62
|
if (hasOrphanedPacks) {
|
|
19
|
-
throw new Error(`source '${
|
|
63
|
+
throw new Error(`source '${sourceAlias}' not found in ${configPath}, but it has orphaned packs. Run 'agent-bolt init' to clean them up.`);
|
|
20
64
|
}
|
|
21
|
-
throw new Error(`source '${
|
|
65
|
+
throw new Error(`source '${sourceAlias}' not found in ${configPath}`);
|
|
22
66
|
}
|
|
23
|
-
const
|
|
24
|
-
|
|
67
|
+
const existingPacks = new Map(Object.entries(config.packs[sourceAlias] ?? {}));
|
|
68
|
+
const packNames = interactive
|
|
69
|
+
? await this.promptPackSelection(sourceAlias, existingPacks)
|
|
70
|
+
: this.parsePackNames();
|
|
71
|
+
if (!interactive && packNames.length === 0) {
|
|
25
72
|
throw new Error(`no pack names given (use --packs=<name,...>)`);
|
|
26
73
|
}
|
|
27
|
-
const existingPacks = new Map(Object.entries(config.packs[this._source] ?? {}));
|
|
28
74
|
const removedPacks = [];
|
|
29
75
|
const skippedPackNames = [];
|
|
30
76
|
for (const packName of packNames) {
|
|
31
|
-
|
|
32
|
-
|
|
77
|
+
const pack = existingPacks.get(packName);
|
|
78
|
+
if (pack) {
|
|
33
79
|
removedPacks.push({
|
|
34
80
|
name: packName,
|
|
35
81
|
skills: pack.skills,
|
|
@@ -44,22 +90,64 @@ export class RemovePackCommand {
|
|
|
44
90
|
if (removedPacks.length > 0) {
|
|
45
91
|
editConfigFile(configPath, (document) => {
|
|
46
92
|
for (const pack of removedPacks) {
|
|
47
|
-
document.deleteIn(['packs',
|
|
93
|
+
document.deleteIn(['packs', sourceAlias, pack.name]);
|
|
48
94
|
}
|
|
49
|
-
const sourceNode = document.getIn(['packs',
|
|
95
|
+
const sourceNode = document.getIn(['packs', sourceAlias]);
|
|
50
96
|
if (isMap(sourceNode) && sourceNode.items.length === 0) {
|
|
51
|
-
document.deleteIn(['packs',
|
|
97
|
+
document.deleteIn(['packs', sourceAlias]);
|
|
52
98
|
}
|
|
53
99
|
});
|
|
54
100
|
}
|
|
55
101
|
return {
|
|
56
|
-
sourceAlias
|
|
102
|
+
sourceAlias,
|
|
57
103
|
removedPacks,
|
|
58
104
|
skippedPackNames,
|
|
59
105
|
};
|
|
60
106
|
}
|
|
107
|
+
async promptSourceSelection(config, bySource) {
|
|
108
|
+
const entries = Object.entries(config.sources);
|
|
109
|
+
const aliasWidth = Math.max(0, ...entries.map(([alias]) => alias.length));
|
|
110
|
+
const sourceChoices = entries.map(([alias, source]) => {
|
|
111
|
+
const location = source.type === 'local' ? source.path : source.url;
|
|
112
|
+
const hasPacks = Object.keys(config.packs[alias] ?? {}).length > 0;
|
|
113
|
+
const removed = bySource.get(alias);
|
|
114
|
+
const removedNote = hasPacks && removed ? chalk.dim(` · removed ${removed.removedPacks.length}`) : '';
|
|
115
|
+
return {
|
|
116
|
+
name: `${alias.padEnd(aliasWidth)} ${chalk.dim(`(${source.type} · ${location})`)}${removedNote}`,
|
|
117
|
+
value: alias,
|
|
118
|
+
short: alias,
|
|
119
|
+
disabled: hasPacks ? false : '(nothing to remove)',
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
return select({
|
|
123
|
+
message: 'Select a source (or finish)',
|
|
124
|
+
choices: [...sourceChoices, new Separator(), { name: 'Done', value: null }],
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
async promptPackSelection(sourceAlias, existingPacks) {
|
|
128
|
+
if (existingPacks.size === 0) {
|
|
129
|
+
return [];
|
|
130
|
+
}
|
|
131
|
+
const rows = alignPackRows([...existingPacks.entries()].map(([name, pack]) => ({
|
|
132
|
+
name,
|
|
133
|
+
counts: {
|
|
134
|
+
skills: pack.skills.length,
|
|
135
|
+
agents: pack.agents.length,
|
|
136
|
+
guidelines: Object.keys(pack.guidelines).length,
|
|
137
|
+
},
|
|
138
|
+
})));
|
|
139
|
+
const choices = rows.map((row) => ({
|
|
140
|
+
name: `${row.paddedName} ${row.counts}`,
|
|
141
|
+
value: row.name,
|
|
142
|
+
short: row.name,
|
|
143
|
+
}));
|
|
144
|
+
return checkbox({
|
|
145
|
+
message: `Select packs to remove from '${sourceAlias}'`,
|
|
146
|
+
choices,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
61
149
|
parsePackNames() {
|
|
62
|
-
const packs = this._packs
|
|
150
|
+
const packs = (this._packs ?? '')
|
|
63
151
|
.split(',')
|
|
64
152
|
.map((pack) => pack.trim())
|
|
65
153
|
.filter((pack) => pack.length > 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-pack.js","sourceRoot":"","sources":["../../../src/catalog/commands/remove-pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"remove-pack.js","sourceRoot":"","sources":["../../../src/catalog/commands/remove-pack.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/format.d.ts
CHANGED
|
@@ -23,6 +23,23 @@ export declare const ITEM_STYLE: {
|
|
|
23
23
|
};
|
|
24
24
|
export declare function plural(count: number, singular: string): string;
|
|
25
25
|
export declare function countToken(style: ItemStyle, count: number): string;
|
|
26
|
+
export declare function visibleWidth(text: string): number;
|
|
26
27
|
export declare function contentWidth(indent: number): number;
|
|
27
28
|
export declare function wrapText(text: string, width: number): string[];
|
|
29
|
+
export declare function truncate(text: string, maxWidth: number): string;
|
|
30
|
+
export declare function pageSizeFor(choiceCount: number): number;
|
|
31
|
+
export type PackCounts = {
|
|
32
|
+
skills: number;
|
|
33
|
+
agents: number;
|
|
34
|
+
guidelines: number;
|
|
35
|
+
};
|
|
36
|
+
export type AlignedPackRow = {
|
|
37
|
+
name: string;
|
|
38
|
+
paddedName: string;
|
|
39
|
+
counts: string;
|
|
40
|
+
};
|
|
41
|
+
export declare function alignPackRows(rows: {
|
|
42
|
+
name: string;
|
|
43
|
+
counts: PackCounts;
|
|
44
|
+
}[]): AlignedPackRow[];
|
|
28
45
|
//# sourceMappingURL=format.d.ts.map
|
package/dist/cli/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAMlD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAIgB,CAAC;AAExC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAMlD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAIgB,CAAC;AAExC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlE;AA8BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa/D;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,EAAE,GAAG,cAAc,EAAE,CAqB5F"}
|