@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.
Files changed (54) hide show
  1. package/README.ko.md +41 -27
  2. package/README.md +41 -27
  3. package/dist/catalog/commands/add-item.d.ts +23 -7
  4. package/dist/catalog/commands/add-item.d.ts.map +1 -1
  5. package/dist/catalog/commands/add-item.js +270 -23
  6. package/dist/catalog/commands/add-item.js.map +1 -1
  7. package/dist/catalog/commands/add-pack.d.ts +15 -6
  8. package/dist/catalog/commands/add-pack.d.ts.map +1 -1
  9. package/dist/catalog/commands/add-pack.js +161 -51
  10. package/dist/catalog/commands/add-pack.js.map +1 -1
  11. package/dist/catalog/commands/init.d.ts +0 -1
  12. package/dist/catalog/commands/init.d.ts.map +1 -1
  13. package/dist/catalog/commands/init.js +2 -6
  14. package/dist/catalog/commands/init.js.map +1 -1
  15. package/dist/catalog/commands/remove-item.d.ts +21 -7
  16. package/dist/catalog/commands/remove-item.d.ts.map +1 -1
  17. package/dist/catalog/commands/remove-item.js +246 -22
  18. package/dist/catalog/commands/remove-item.js.map +1 -1
  19. package/dist/catalog/commands/remove-pack.d.ts +10 -6
  20. package/dist/catalog/commands/remove-pack.d.ts.map +1 -1
  21. package/dist/catalog/commands/remove-pack.js +103 -15
  22. package/dist/catalog/commands/remove-pack.js.map +1 -1
  23. package/dist/cli/format.d.ts +17 -0
  24. package/dist/cli/format.d.ts.map +1 -1
  25. package/dist/cli/format.js +45 -0
  26. package/dist/cli/format.js.map +1 -1
  27. package/dist/cli/index.js +24 -12
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/prompts.d.ts +4 -0
  30. package/dist/cli/prompts.d.ts.map +1 -0
  31. package/dist/cli/prompts.js +11 -0
  32. package/dist/cli/prompts.js.map +1 -0
  33. package/dist/cli/views/add-item.d.ts.map +1 -1
  34. package/dist/cli/views/add-item.js +47 -19
  35. package/dist/cli/views/add-item.js.map +1 -1
  36. package/dist/cli/views/add-pack.d.ts.map +1 -1
  37. package/dist/cli/views/add-pack.js +46 -23
  38. package/dist/cli/views/add-pack.js.map +1 -1
  39. package/dist/cli/views/remove-item.d.ts.map +1 -1
  40. package/dist/cli/views/remove-item.js +47 -19
  41. package/dist/cli/views/remove-item.js.map +1 -1
  42. package/dist/cli/views/remove-pack.d.ts +1 -1
  43. package/dist/cli/views/remove-pack.d.ts.map +1 -1
  44. package/dist/cli/views/remove-pack.js +36 -23
  45. package/dist/cli/views/remove-pack.js.map +1 -1
  46. package/dist/cli/views/shared/banner.d.ts +4 -0
  47. package/dist/cli/views/shared/banner.d.ts.map +1 -1
  48. package/dist/cli/views/shared/banner.js +16 -0
  49. package/dist/cli/views/shared/banner.js.map +1 -1
  50. package/dist/core/tty.d.ts +2 -0
  51. package/dist/core/tty.d.ts.map +1 -0
  52. package/dist/core/tty.js +6 -0
  53. package/dist/core/tty.js.map +1 -0
  54. 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[this._source];
108
+ const source = config.sources[sourceAlias];
23
109
  if (!source) {
24
- const packs = config.packs[this._source];
110
+ const packs = config.packs[sourceAlias];
25
111
  if (packs) {
26
- throw new Error(`source '${this._source}' not found in ${configPath}, but it has orphaned packs. Run 'agent-bolt init' to clean them up`);
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 '${this._source}' not found in ${configPath}`);
114
+ throw new Error(`source '${sourceAlias}' not found in ${configPath}`);
29
115
  }
30
- const inputItemsByType = {
31
- skills: this.parseItemList(this._skills),
32
- agents: this.parseItemList(this._agents),
33
- guidelines: this.parseItemList(this._guidelines),
34
- };
35
- const totalInput = ITEM_TYPES.reduce((sum, type) => sum + inputItemsByType[type].length, 0);
36
- if (totalInput === 0) {
37
- throw new Error('No items to remove. Specify at least one of --skills, --agents, --guidelines.');
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
- const existingPacks = config.packs[this._source];
40
- const existingPack = existingPacks ? existingPacks[this._pack] : undefined;
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(existingPack?.skills ?? []),
43
- agents: new Set(existingPack?.agents ?? []),
44
- guidelines: new Set(Object.keys(existingPack?.guidelines ?? {})),
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', this._source];
65
- const packPath = [...sourcePath, this._pack];
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
- sourceAlias: this._source,
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 RemovePackResult = {
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: string;
17
- packs: string;
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":"AAOA,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,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAKtD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IA4D9C,OAAO,CAAC,cAAc;CAOvB"}
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[this._source];
59
+ const source = config.sources[sourceAlias];
16
60
  if (!source) {
17
- const hasOrphanedPacks = Object.hasOwn(config.packs, this._source);
61
+ const hasOrphanedPacks = Object.hasOwn(config.packs, sourceAlias);
18
62
  if (hasOrphanedPacks) {
19
- throw new Error(`source '${this._source}' not found in ${configPath}, but it has orphaned packs. Run 'agent-bolt init' to clean them up.`);
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 '${this._source}' not found in ${configPath}`);
65
+ throw new Error(`source '${sourceAlias}' not found in ${configPath}`);
22
66
  }
23
- const packNames = this.parsePackNames();
24
- if (packNames.length === 0) {
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
- if (existingPacks.has(packName)) {
32
- const pack = existingPacks.get(packName);
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', this._source, pack.name]);
93
+ document.deleteIn(['packs', sourceAlias, pack.name]);
48
94
  }
49
- const sourceNode = document.getIn(['packs', this._source]);
95
+ const sourceNode = document.getIn(['packs', sourceAlias]);
50
96
  if (isMap(sourceNode) && sourceNode.items.length === 0) {
51
- document.deleteIn(['packs', this._source]);
97
+ document.deleteIn(['packs', sourceAlias]);
52
98
  }
53
99
  });
54
100
  }
55
101
  return {
56
- sourceAlias: this._source,
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":"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"}
1
+ {"version":3,"file":"remove-pack.js","sourceRoot":"","sources":["../../../src/catalog/commands/remove-pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAiB/C,MAAM,OAAO,iBAAiB;IACX,OAAO,CAAU;IACjB,MAAM,CAAU;IAEjC,YAAY,OAA4C;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAmB;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;QAExD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,WAAW,KAAK,IAAI;gBAAE,MAAM;YAEhC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC1E,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBACjD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,WAAmB,EACnB,WAAmB;QAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;QAC9C,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAClE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,WAAW,WAAW,kBAAkB,UAAU,sEAAsE,CACzH,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,kBAAkB,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAChD,CAAC;QAEF,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1B,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;iBACzC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,cAAc,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACtC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;oBAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,CAAC;gBAED,MAAM,UAAU,GAAY,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBACnE,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvD,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,WAAW;YACX,YAAY;YACZ,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,MAAc,EACd,QAA0C;QAE1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,WAAW,GACf,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO;gBACL,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,EAAE;gBACjG,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;aACnD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAgB;YAC3B,OAAO,EAAE,6BAA6B;YACtC,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,IAAI,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC5E,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,aAAyC;QAEzC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,aAAa,CACxB,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI;YACJ,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM;aAChD;SACF,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,MAAM,EAAE;YACxC,KAAK,EAAE,GAAG,CAAC,IAAI;YACf,KAAK,EAAE,GAAG,CAAC,IAAI;SAChB,CAAC,CAAC,CAAC;QAEJ,OAAO,QAAQ,CAAC;YACd,OAAO,EAAE,gCAAgC,WAAW,GAAG;YACvD,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -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
@@ -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;AA2BD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D"}
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"}