@tjdals12/agent-bolt 1.2.0-next.2 β†’ 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.ko.md +17 -25
  2. package/README.md +17 -25
  3. package/dist/catalog/commands/add-item.d.ts +7 -23
  4. package/dist/catalog/commands/add-item.d.ts.map +1 -1
  5. package/dist/catalog/commands/add-item.js +23 -270
  6. package/dist/catalog/commands/add-item.js.map +1 -1
  7. package/dist/catalog/commands/remove-item.d.ts +7 -21
  8. package/dist/catalog/commands/remove-item.d.ts.map +1 -1
  9. package/dist/catalog/commands/remove-item.js +22 -246
  10. package/dist/catalog/commands/remove-item.js.map +1 -1
  11. package/dist/cli/format.d.ts +0 -2
  12. package/dist/cli/format.d.ts.map +1 -1
  13. package/dist/cli/format.js +0 -19
  14. package/dist/cli/format.js.map +1 -1
  15. package/dist/cli/index.js +6 -13
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/views/add-item.d.ts.map +1 -1
  18. package/dist/cli/views/add-item.js +19 -47
  19. package/dist/cli/views/add-item.js.map +1 -1
  20. package/dist/cli/views/add-pack.js +1 -1
  21. package/dist/cli/views/add-pack.js.map +1 -1
  22. package/dist/cli/views/remove-item.d.ts.map +1 -1
  23. package/dist/cli/views/remove-item.js +19 -47
  24. package/dist/cli/views/remove-item.js.map +1 -1
  25. package/dist/cli/views/remove-pack.js +1 -1
  26. package/dist/cli/views/remove-pack.js.map +1 -1
  27. package/dist/cli/views/shared/banner.d.ts +0 -2
  28. package/dist/cli/views/shared/banner.d.ts.map +1 -1
  29. package/dist/cli/views/shared/banner.js +0 -8
  30. package/dist/cli/views/shared/banner.js.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/cli/prompts.d.ts +0 -4
  33. package/dist/cli/prompts.d.ts.map +0 -1
  34. package/dist/cli/prompts.js +0 -11
  35. package/dist/cli/prompts.js.map +0 -1
package/README.ko.md CHANGED
@@ -200,14 +200,12 @@ $ agent-bolt add-pack --source=common --packs=common
200
200
  $ agent-bolt add-item --source=common --pack=backend --skills=nestjs-expert
201
201
 
202
202
  β–Œ Agent Bolt: Added 1 item to common/backend
203
- (added new pack 'backend' in source 'common')
203
+ (created pack backend in common)
204
204
 
205
205
  + πŸ”§ nestjs-expert
206
206
  ...
207
207
  ```
208
208
 
209
- μ•„μ΄ν…œ μ˜΅μ…˜μ„ λΉΌλ©΄ μ•„μ΄ν…œμ„ λͺ©λ‘μ—μ„œ 골라 μΆ”κ°€ν•©λ‹ˆλ‹€. `--pack`κΉŒμ§€ λΉΌλ©΄ νŒ©μ„ λ¨Όμ € κ³ λ₯΄κ³ , `--source`κΉŒμ§€ λΉΌλ©΄ μ™„μ „ λŒ€ν™”ν˜•μœΌλ‘œ λ™μž‘ν•΄ μ†ŒμŠ€μ™€ νŒ©μ„ μ˜€κ°€λ©° 계속 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
210
-
211
209
  `remove-pack`Β·`remove-item`으둜 μΆ”κ°€ν•œ νŒ¨ν‚€μ§€Β·μ•„μ΄ν…œμ„ μ‚­μ œν•©λ‹ˆλ‹€.
212
210
 
213
211
  ```text
@@ -219,8 +217,6 @@ $ agent-bolt remove-item --source=common --pack=common --skills=pr-review
219
217
  ...
220
218
  ```
221
219
 
222
- μ•„μ΄ν…œ μ˜΅μ…˜μ„ λΉΌλ©΄ μ•„μ΄ν…œμ„ λͺ©λ‘μ—μ„œ 골라 μ œκ±°ν•©λ‹ˆλ‹€. `--pack`κΉŒμ§€ λΉΌλ©΄ νŒ©μ„ λ¨Όμ € κ³ λ₯΄κ³ , `--source`κΉŒμ§€ λΉΌλ©΄ μ™„μ „ λŒ€ν™”ν˜•μœΌλ‘œ λ™μž‘ν•΄ μ†ŒμŠ€μ™€ νŒ©μ„ μ˜€κ°€λ©° 계속 μ œκ±°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
223
-
224
220
  이 λͺ…령듀은 μ„€μ • νŒŒμΌμ„ λ°”κΏ€ λΏμž…λ‹ˆλ‹€. μ‹€μ œ μ„€μΉ˜λŠ” `sync`μ—μ„œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.
225
221
 
226
222
  ### μ—μ΄μ „νŠΈμ— μ„€μΉ˜ν•˜κΈ°
@@ -567,18 +563,16 @@ agent-bolt add-pack [--source <alias>] [--packs <list>]
567
563
  νŠΉμ • μ•„μ΄ν…œλ§Œ 섀정에 μΆ”κ°€ν•©λ‹ˆλ‹€. νŒ¨ν‚€μ§€ ν•­λͺ©μ΄ μ—†μœΌλ©΄ λ§Œλ“€μ–΄ λ‘‘λ‹ˆλ‹€.
568
564
 
569
565
  ```text
570
- agent-bolt add-item [--source <alias>] [--pack <name>] [options]
566
+ agent-bolt add-item --source <alias> --pack <name> [options]
571
567
  ```
572
568
 
573
- | μ˜΅μ…˜ | μ„€λͺ… | ν•„μˆ˜/선택 | κΈ°λ³Έκ°’ |
574
- | --------------------- | -------------------------------------- | --------- | ----------- |
575
- | `--source <alias>` | λŒ€μƒ μΉ΄νƒˆλ‘œκ·Έ | 선택 | λŒ€ν™”ν˜• 선택 |
576
- | `--pack <name>` | λŒ€μƒ νŒ¨ν‚€μ§€ | 선택 | λŒ€ν™”ν˜• 선택 |
577
- | `--skills <list>` | μΆ”κ°€ν•  μŠ€ν‚¬ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
578
- | `--agents <list>` | μΆ”κ°€ν•  μ„œλΈŒ μ—μ΄μ „νŠΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
579
- | `--guidelines <list>` | μΆ”κ°€ν•  κ°€μ΄λ“œλΌμΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
580
-
581
- μ•„μ΄ν…œ μ˜΅μ…˜μ„ μƒλž΅ν•˜λ©΄ μ•„μ΄ν…œμ„ λŒ€ν™”ν˜•μœΌλ‘œ κ³ λ₯΄κ³ , `--pack`κΉŒμ§€ μƒλž΅ν•˜λ©΄ νŒ©μ„ λ¨Όμ € κ³ λ₯΄λ©°, `--source`κΉŒμ§€ μƒλž΅ν•˜λ©΄ μ—¬λŸ¬ sourceλ₯Ό μ˜€κ°€λ©° λ°˜λ³΅ν•©λ‹ˆλ‹€. `--pack`은 `--source`와, μ•„μ΄ν…œ μ˜΅μ…˜μ€ `--pack`κ³Ό ν•¨κ»˜ 써야 ν•©λ‹ˆλ‹€.
569
+ | μ˜΅μ…˜ | μ„€λͺ… | ν•„μˆ˜/선택 | κΈ°λ³Έκ°’ |
570
+ | --------------------- | -------------------------------------- | --------- | ------ |
571
+ | `--source <alias>` | λŒ€μƒ μΉ΄νƒˆλ‘œκ·Έ | ν•„μˆ˜ | β€” |
572
+ | `--pack <name>` | λŒ€μƒ νŒ¨ν‚€μ§€ | ν•„μˆ˜ | β€” |
573
+ | `--skills <list>` | μΆ”κ°€ν•  μŠ€ν‚¬ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
574
+ | `--agents <list>` | μΆ”κ°€ν•  μ„œλΈŒ μ—μ΄μ „νŠΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
575
+ | `--guidelines <list>` | μΆ”κ°€ν•  κ°€μ΄λ“œλΌμΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
582
576
 
583
577
  ### `agent-bolt remove-pack`
584
578
 
@@ -600,18 +594,16 @@ agent-bolt remove-pack [--source <alias>] [--packs <list>]
600
594
  μ„€μ •μ—μ„œ νŠΉμ • μ•„μ΄ν…œμ„ μ œκ±°ν•©λ‹ˆλ‹€.
601
595
 
602
596
  ```text
603
- agent-bolt remove-item [--source <alias>] [--pack <name>] [options]
597
+ agent-bolt remove-item --source <alias> --pack <name> [options]
604
598
  ```
605
599
 
606
- | μ˜΅μ…˜ | μ„€λͺ… | ν•„μˆ˜/선택 | κΈ°λ³Έκ°’ |
607
- | --------------------- | -------------------------------------- | --------- | ----------- |
608
- | `--source <alias>` | λŒ€μƒ μΉ΄νƒˆλ‘œκ·Έ | 선택 | λŒ€ν™”ν˜• 선택 |
609
- | `--pack <name>` | λŒ€μƒ νŒ¨ν‚€μ§€ | 선택 | λŒ€ν™”ν˜• 선택 |
610
- | `--skills <list>` | μ œκ±°ν•  μŠ€ν‚¬ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
611
- | `--agents <list>` | μ œκ±°ν•  μ„œλΈŒ μ—μ΄μ „νŠΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
612
- | `--guidelines <list>` | μ œκ±°ν•  κ°€μ΄λ“œλΌμΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
613
-
614
- μ•„μ΄ν…œ μ˜΅μ…˜μ„ μƒλž΅ν•˜λ©΄ μ•„μ΄ν…œμ„ λŒ€ν™”ν˜•μœΌλ‘œ κ³ λ₯΄κ³ , `--pack`κΉŒμ§€ μƒλž΅ν•˜λ©΄ νŒ©μ„ λ¨Όμ € κ³ λ₯΄λ©°, `--source`κΉŒμ§€ μƒλž΅ν•˜λ©΄ μ—¬λŸ¬ sourceλ₯Ό μ˜€κ°€λ©° λ°˜λ³΅ν•©λ‹ˆλ‹€. `--pack`은 `--source`와, μ•„μ΄ν…œ μ˜΅μ…˜μ€ `--pack`κ³Ό ν•¨κ»˜ 써야 ν•©λ‹ˆλ‹€.
600
+ | μ˜΅μ…˜ | μ„€λͺ… | ν•„μˆ˜/선택 | κΈ°λ³Έκ°’ |
601
+ | --------------------- | -------------------------------------- | --------- | ------ |
602
+ | `--source <alias>` | λŒ€μƒ μΉ΄νƒˆλ‘œκ·Έ | ν•„μˆ˜ | β€” |
603
+ | `--pack <name>` | λŒ€μƒ νŒ¨ν‚€μ§€ | ν•„μˆ˜ | β€” |
604
+ | `--skills <list>` | μ œκ±°ν•  μŠ€ν‚¬ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
605
+ | `--agents <list>` | μ œκ±°ν•  μ„œλΈŒ μ—μ΄μ „νŠΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
606
+ | `--guidelines <list>` | μ œκ±°ν•  κ°€μ΄λ“œλΌμΈ 이름. 콀마둜 ꡬ뢄 | 선택 | β€” |
615
607
 
616
608
  ### `agent-bolt sync`
617
609
 
package/README.md CHANGED
@@ -200,14 +200,12 @@ Use `add-item` to add just specific items from a package.
200
200
  $ agent-bolt add-item --source=common --pack=backend --skills=nestjs-expert
201
201
 
202
202
  β–Œ Agent Bolt: Added 1 item to common/backend
203
- (added new pack 'backend' in source 'common')
203
+ (created pack backend in common)
204
204
 
205
205
  + πŸ”§ nestjs-expert
206
206
  ...
207
207
  ```
208
208
 
209
- Omit the item options to pick items from a checklist. Omit `--pack` too and `add-item` picks a pack first; omit `--source` as well and it goes fully interactive, looping over sources and packs until you're done.
210
-
211
209
  Use `remove-pack` and `remove-item` to drop packages or items you've added.
212
210
 
213
211
  ```text
@@ -219,8 +217,6 @@ $ agent-bolt remove-item --source=common --pack=common --skills=pr-review
219
217
  ...
220
218
  ```
221
219
 
222
- Omit the item options to pick items from a checklist. Omit `--pack` too and `remove-item` picks a pack first; omit `--source` as well and it goes fully interactive, looping over sources and packs until you're done.
223
-
224
220
  These commands only edit your config file. The actual installation happens with `sync`.
225
221
 
226
222
  ### Install into your agents
@@ -567,18 +563,16 @@ Omitting `--packs` picks packages interactively; omitting `--source` as well pic
567
563
  Adds specific items to your config. Creates the package entry if it doesn't exist yet.
568
564
 
569
565
  ```text
570
- agent-bolt add-item [--source <alias>] [--pack <name>] [options]
566
+ agent-bolt add-item --source <alias> --pack <name> [options]
571
567
  ```
572
568
 
573
- | Option | Description | Required | Default |
574
- | --------------------- | ------------------------------------------- | -------- | ------------------ |
575
- | `--source <alias>` | Target catalog | Optional | Interactive prompt |
576
- | `--pack <name>` | Target package | Optional | Interactive prompt |
577
- | `--skills <list>` | Names of skills to add. Comma-separated | Optional | β€” |
578
- | `--agents <list>` | Names of subagents to add. Comma-separated | Optional | β€” |
579
- | `--guidelines <list>` | Names of guidelines to add. Comma-separated | Optional | β€” |
580
-
581
- Omitting the item options picks items interactively; omitting `--pack` too picks a pack first; omitting `--source` as well loops over sources. `--pack` requires `--source`, and the item options require `--pack`.
569
+ | Option | Description | Required | Default |
570
+ | --------------------- | ------------------------------------------- | -------- | ------- |
571
+ | `--source <alias>` | Target catalog | Required | β€” |
572
+ | `--pack <name>` | Target package | Required | β€” |
573
+ | `--skills <list>` | Names of skills to add. Comma-separated | Optional | β€” |
574
+ | `--agents <list>` | Names of subagents to add. Comma-separated | Optional | β€” |
575
+ | `--guidelines <list>` | Names of guidelines to add. Comma-separated | Optional | β€” |
582
576
 
583
577
  ### `agent-bolt remove-pack`
584
578
 
@@ -600,18 +594,16 @@ Omitting `--packs` picks packages interactively; omitting `--source` as well pic
600
594
  Removes specific items from your config.
601
595
 
602
596
  ```text
603
- agent-bolt remove-item [--source <alias>] [--pack <name>] [options]
597
+ agent-bolt remove-item --source <alias> --pack <name> [options]
604
598
  ```
605
599
 
606
- | Option | Description | Required | Default |
607
- | --------------------- | ---------------------------------------------- | -------- | ------------------ |
608
- | `--source <alias>` | Target catalog | Optional | Interactive prompt |
609
- | `--pack <name>` | Target package | Optional | Interactive prompt |
610
- | `--skills <list>` | Names of skills to remove. Comma-separated | Optional | β€” |
611
- | `--agents <list>` | Names of subagents to remove. Comma-separated | Optional | β€” |
612
- | `--guidelines <list>` | Names of guidelines to remove. Comma-separated | Optional | β€” |
613
-
614
- Omitting the item options picks items interactively; omitting `--pack` too picks a pack first; omitting `--source` as well loops over sources. `--pack` requires `--source`, and the item options require `--pack`.
600
+ | Option | Description | Required | Default |
601
+ | --------------------- | ---------------------------------------------- | -------- | ------- |
602
+ | `--source <alias>` | Target catalog | Required | β€” |
603
+ | `--pack <name>` | Target package | Required | β€” |
604
+ | `--skills <list>` | Names of skills to remove. Comma-separated | Optional | β€” |
605
+ | `--agents <list>` | Names of subagents to remove. Comma-separated | Optional | β€” |
606
+ | `--guidelines <list>` | Names of guidelines to remove. Comma-separated | Optional | β€” |
615
607
 
616
608
  ### `agent-bolt sync`
617
609
 
@@ -1,41 +1,25 @@
1
1
  import { type ItemType } from '#catalog/content/item/model.js';
2
- import type { ProgressReporter } from '#core/progress.js';
3
- export type AddedItemPack = {
2
+ export type AddItemResult = {
3
+ sourceAlias: string;
4
4
  packName: string;
5
5
  packCreated: boolean;
6
6
  addedItems: Record<ItemType, string[]>;
7
7
  skippedItems: Record<ItemType, string[]>;
8
8
  };
9
- export type AddedItemSourceResult = {
10
- sourceAlias: string;
11
- packs: AddedItemPack[];
12
- };
13
- export type AddItemResult = {
14
- results: AddedItemSourceResult[];
15
- failures: string[];
16
- };
17
9
  export declare class AddItemCommand {
18
- private readonly _source?;
19
- private readonly _pack?;
10
+ private readonly _source;
11
+ private readonly _pack;
20
12
  private readonly _skills?;
21
13
  private readonly _agents?;
22
14
  private readonly _guidelines?;
23
15
  constructor(options: {
24
- source?: string;
25
- pack?: string;
16
+ source: string;
17
+ pack: string;
26
18
  skills?: string;
27
19
  agents?: string;
28
20
  guidelines?: string;
29
21
  });
30
- execute(projectPath: string, reporter: ProgressReporter): Promise<AddItemResult>;
31
- private addItemsFromSource;
32
- private mergePackInto;
33
- private addItemsToPack;
34
- private resolveCatalogDetail;
35
- private promptSourceSelection;
36
- private promptPackSelection;
37
- private promptItemSelection;
38
- private countAddedItems;
22
+ execute(projectPath: string): AddItemResult;
39
23
  private parseItemNames;
40
24
  }
41
25
  //# sourceMappingURL=add-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../src/catalog/commands/add-item.ts"],"names":[],"mappings":"AASA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAM3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,EAAE;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAQK,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;YA0GxE,kBAAkB;IA2EhC,OAAO,CAAC,aAAa;YAcP,cAAc;IA2H5B,OAAO,CAAC,oBAAoB;YAwBd,qBAAqB;YA6BrB,mBAAmB;YAkCnB,mBAAmB;IAgFjC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../src/catalog/commands/add-item.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG3E,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAQD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAwI3C,OAAO,CAAC,cAAc;CAQvB"}
@@ -1,14 +1,9 @@
1
- import { checkbox, select, Separator } from '@inquirer/prompts';
2
- import chalk from 'chalk';
3
1
  import { buildCatalogConfigPath } from '#core/paths.js';
4
- import { canPrompt } from '#core/tty.js';
5
2
  import { loadConfig } from '#catalog/config/load.js';
6
3
  import { editConfigFile } from '#catalog/config/write.js';
7
4
  import { resolveCatalogDir } from '#catalog/source/resolve.js';
8
5
  import { ITEM_TYPES } from '#catalog/content/item/model.js';
9
6
  import { parseCatalogDetail } from '#catalog/content/parse.js';
10
- import { alignPackRows, pageSizeFor, truncate, visibleWidth } from '#cli/format.js';
11
- import { itemSectionHeader } from '#cli/prompts.js';
12
7
  export class AddItemCommand {
13
8
  _source;
14
9
  _pack;
@@ -22,172 +17,41 @@ export class AddItemCommand {
22
17
  this._agents = options.agents;
23
18
  this._guidelines = options.guidelines;
24
19
  }
25
- async execute(projectPath, reporter) {
26
- if (this._source !== undefined) {
27
- const promptPack = this._pack === undefined;
28
- const promptItems = this._skills === undefined && this._agents === undefined && this._guidelines === undefined;
29
- if (promptPack && !promptItems) {
30
- throw new Error('The --pack option is required with --skills, --agents, or --guidelines. e.g. --pack=git-workflow');
31
- }
32
- if ((promptPack || promptItems) && !canPrompt()) {
33
- if (promptPack) {
34
- throw new Error('The --pack option is required (or run add-item in an interactive terminal). e.g. --pack=git-workflow');
35
- }
36
- throw new Error('No items to add. Specify at least one of --skills, --agents, or --guidelines (or run add-item in an interactive terminal).');
37
- }
38
- const optionItemsByType = promptItems
39
- ? undefined
40
- : {
41
- skills: this.parseItemNames(this._skills),
42
- agents: this.parseItemNames(this._agents),
43
- guidelines: this.parseItemNames(this._guidelines),
44
- };
45
- if (optionItemsByType) {
46
- const totalInput = ITEM_TYPES.reduce((sum, type) => sum + optionItemsByType[type].length, 0);
47
- if (totalInput === 0) {
48
- throw new Error('No items to add. Specify at least one of --skills, --agents, or --guidelines.');
49
- }
50
- }
51
- const result = await this.addItemsFromSource({
52
- projectPath,
53
- sourceAlias: this._source,
54
- packName: this._pack,
55
- optionItemsByType,
56
- reporter,
57
- });
58
- return { results: [result], failures: [] };
59
- }
60
- if (this._pack !== undefined) {
61
- throw new Error('The --source option is required with --pack. e.g. --source=common');
62
- }
63
- const hasItemOptions = this._skills !== undefined || this._agents !== undefined || this._guidelines !== undefined;
64
- if (hasItemOptions) {
65
- throw new Error('The --source option is required with --skills, --agents, or --guidelines. e.g. --source=common');
66
- }
67
- if (!canPrompt()) {
68
- throw new Error('The --source option is required (or run add-item in an interactive terminal). e.g. --source=common');
69
- }
70
- const configPath = buildCatalogConfigPath(projectPath);
71
- const bySource = new Map();
72
- const failures = [];
73
- while (true) {
74
- const config = loadConfig(configPath);
75
- if (Object.keys(config.sources).length === 0) {
76
- throw new Error(`no sources configured. run 'agent-bolt init' to add one.`);
77
- }
78
- const sourceAlias = await this.promptSourceSelection(config.sources, bySource);
79
- if (sourceAlias === null)
80
- break;
81
- try {
82
- const result = await this.addItemsFromSource({
83
- projectPath,
84
- sourceAlias,
85
- packName: undefined,
86
- optionItemsByType: undefined,
87
- reporter,
88
- });
89
- if (result.packs.length > 0) {
90
- const merged = bySource.get(sourceAlias);
91
- if (merged) {
92
- for (const pack of result.packs) {
93
- this.mergePackInto(merged.packs, pack);
94
- }
95
- }
96
- else {
97
- bySource.set(sourceAlias, result);
98
- }
99
- }
100
- }
101
- catch (e) {
102
- failures.push(e instanceof Error ? e.message : String(e));
103
- }
104
- }
105
- return { results: [...bySource.values()], failures };
106
- }
107
- async addItemsFromSource(options) {
108
- const { projectPath, sourceAlias, packName, optionItemsByType, reporter } = options;
20
+ execute(projectPath) {
109
21
  const configPath = buildCatalogConfigPath(projectPath);
110
22
  const config = loadConfig(configPath);
111
- const source = config.sources[sourceAlias];
23
+ const source = config.sources[this._source];
112
24
  if (!source) {
113
- throw new Error(`source '${sourceAlias}' not found in ${configPath}`);
114
- }
115
- const interactive = packName === undefined || optionItemsByType === undefined;
116
- const catalogDetail = this.resolveCatalogDetail(projectPath, sourceAlias, source, reporter, interactive);
117
- if (packName !== undefined) {
118
- const packDetail = catalogDetail.find((pack) => pack.name === packName);
119
- if (!packDetail) {
120
- throw new Error(`unknown pack in source '${sourceAlias}': ${packName}. run 'agent-bolt list-packs --source=${sourceAlias}' to see available packs.`);
121
- }
122
- const pack = await this.addItemsToPack({
123
- configPath,
124
- config,
125
- sourceAlias,
126
- packDetail,
127
- optionItemsByType,
128
- });
129
- return { sourceAlias, packs: [pack] };
25
+ throw new Error(`source '${this._source}' not found in ${configPath}`);
130
26
  }
131
- if (catalogDetail.length === 0) {
132
- throw new Error(`source '${sourceAlias}' has no packs.`);
133
- }
134
- const packs = [];
135
- while (true) {
136
- const addedByPack = new Map();
137
- for (const addedPack of packs) {
138
- const prev = addedByPack.get(addedPack.packName) ?? 0;
139
- addedByPack.set(addedPack.packName, prev + this.countAddedItems(addedPack));
140
- }
141
- const nextPackName = await this.promptPackSelection(catalogDetail, sourceAlias, addedByPack);
142
- if (nextPackName === null)
143
- break;
144
- const packDetail = catalogDetail.find((pack) => pack.name === nextPackName);
145
- const freshConfig = loadConfig(configPath);
146
- const pack = await this.addItemsToPack({
147
- configPath,
148
- config: freshConfig,
149
- sourceAlias,
150
- packDetail,
151
- optionItemsByType: undefined,
152
- });
153
- if (this.countAddedItems(pack) > 0) {
154
- this.mergePackInto(packs, pack);
155
- }
156
- }
157
- return { sourceAlias, packs };
158
- }
159
- mergePackInto(packs, pack) {
160
- const existing = packs.find((existingPack) => existingPack.packName === pack.packName);
161
- if (!existing) {
162
- packs.push(pack);
163
- return;
27
+ const inputItemsByType = {
28
+ skills: this.parseItemNames(this._skills),
29
+ agents: this.parseItemNames(this._agents),
30
+ guidelines: this.parseItemNames(this._guidelines),
31
+ };
32
+ const totalInput = ITEM_TYPES.reduce((sum, type) => sum + inputItemsByType[type].length, 0);
33
+ if (totalInput === 0) {
34
+ throw new Error('No items to add. Specify at least one of --skills, --agents, or --guidelines.');
164
35
  }
165
- existing.packCreated = existing.packCreated || pack.packCreated;
166
- for (const itemType of ITEM_TYPES) {
167
- existing.addedItems[itemType].push(...pack.addedItems[itemType]);
168
- existing.skippedItems[itemType].push(...pack.skippedItems[itemType]);
36
+ const catalogDir = resolveCatalogDir(projectPath, this._source, source);
37
+ const catalogDetail = parseCatalogDetail(catalogDir);
38
+ const packDetail = catalogDetail.find((packDetail) => packDetail.name === this._pack);
39
+ if (!packDetail) {
40
+ throw new Error(`unknown pack in source '${this._source}': ${this._pack}. run 'agent-bolt list-packs --source=${this._source}' to see available packs.`);
169
41
  }
170
- }
171
- async addItemsToPack(options) {
172
- const { configPath, config, sourceAlias, packDetail, optionItemsByType } = options;
173
- const packName = packDetail.name;
174
42
  const validItemsByType = {
175
43
  skills: new Set(packDetail.items.skills.map((item) => item.name)),
176
44
  agents: new Set(packDetail.items.agents.map((item) => item.name)),
177
45
  guidelines: new Set(packDetail.items.guidelines.map((item) => item.name)),
178
46
  };
179
47
  const guidelineRecommendations = new Map(packDetail.items.guidelines.map((guideline) => [guideline.name, guideline.recommended]));
180
- const existingPacks = config.packs[sourceAlias];
181
- const existingPack = existingPacks ? existingPacks[packName] : undefined;
48
+ const existingPacks = config.packs[this._source];
49
+ const existingPack = existingPacks ? existingPacks[this._pack] : undefined;
182
50
  const existingItemsByType = {
183
51
  skills: new Set(existingPack?.skills ?? []),
184
52
  agents: new Set(existingPack?.agents ?? []),
185
53
  guidelines: new Set(Object.keys(existingPack?.guidelines ?? {})),
186
54
  };
187
- let inputItemsByType = optionItemsByType;
188
- if (inputItemsByType === undefined) {
189
- inputItemsByType = await this.promptItemSelection(sourceAlias, packDetail, existingItemsByType);
190
- }
191
55
  const unknownItems = { skills: [], agents: [], guidelines: [] };
192
56
  const skippedItems = { skills: [], agents: [], guidelines: [] };
193
57
  const addedItems = { skills: [], agents: [], guidelines: [] };
@@ -211,15 +75,15 @@ export class AddItemCommand {
211
75
  if (hasUnknown) {
212
76
  const lines = ITEM_TYPES.filter((itemType) => unknownItems[itemType].length > 0).map((itemType) => ` ${itemType}: ${unknownItems[itemType].join(', ')}`);
213
77
  throw new Error([
214
- `unknown items in pack '${packName}':`,
78
+ `unknown items in pack '${this._pack}':`,
215
79
  lines.join('\n'),
216
- `run 'agent-bolt list-items --source=${sourceAlias} --pack=${packName}' to see available items.`,
80
+ `run 'agent-bolt list-items --source=${this._source} --pack=${this._pack}' to see available items.`,
217
81
  ].join('\n'));
218
82
  }
219
83
  const addedCount = ITEM_TYPES.reduce((sum, type) => sum + addedItems[type].length, 0);
220
84
  if (addedCount > 0) {
221
85
  editConfigFile(configPath, (document) => {
222
- const packPath = ['packs', sourceAlias, packName];
86
+ const packPath = ['packs', this._source, this._pack];
223
87
  if (existingPack) {
224
88
  for (const itemType of ITEM_TYPES) {
225
89
  const itemNames = addedItems[itemType];
@@ -259,124 +123,13 @@ export class AddItemCommand {
259
123
  });
260
124
  }
261
125
  return {
262
- packName,
126
+ sourceAlias: this._source,
127
+ packName: this._pack,
263
128
  packCreated: existingPack === undefined,
264
129
  addedItems,
265
130
  skippedItems,
266
131
  };
267
132
  }
268
- resolveCatalogDetail(projectPath, sourceAlias, source, reporter, interactive) {
269
- if (!interactive) {
270
- const catalogDir = resolveCatalogDir(projectPath, sourceAlias, source);
271
- return parseCatalogDetail(catalogDir);
272
- }
273
- reporter.start(`Resolving source '${sourceAlias}'`);
274
- try {
275
- const catalogDir = resolveCatalogDir(projectPath, sourceAlias, source);
276
- const catalogDetail = parseCatalogDetail(catalogDir);
277
- reporter.succeed(`source '${sourceAlias}'`);
278
- return catalogDetail;
279
- }
280
- catch (e) {
281
- reporter.stop();
282
- throw e;
283
- }
284
- }
285
- async promptSourceSelection(sources, bySource) {
286
- const entries = Object.entries(sources);
287
- const aliasWidth = Math.max(0, ...entries.map(([alias]) => alias.length));
288
- const sourceChoices = entries.map(([alias, source]) => {
289
- const location = source.type === 'local' ? source.path : source.url;
290
- const added = bySource.get(alias);
291
- const addedCount = added
292
- ? added.packs.reduce((sum, pack) => sum + this.countAddedItems(pack), 0)
293
- : 0;
294
- const addedNote = addedCount > 0 ? chalk.dim(` Β· added ${addedCount}`) : '';
295
- return {
296
- name: `${alias.padEnd(aliasWidth)} ${chalk.dim(`(${source.type} Β· ${location})`)}${addedNote}`,
297
- value: alias,
298
- short: alias,
299
- };
300
- });
301
- return select({
302
- message: 'Select a source (or finish)',
303
- choices: [...sourceChoices, new Separator(), { name: 'Done', value: null }],
304
- loop: false,
305
- pageSize: pageSizeFor(sourceChoices.length + 2),
306
- });
307
- }
308
- async promptPackSelection(catalogDetail, sourceAlias, addedByPack) {
309
- const rows = alignPackRows(catalogDetail.map((pack) => ({
310
- name: pack.name,
311
- counts: {
312
- skills: pack.items.skills.length,
313
- agents: pack.items.agents.length,
314
- guidelines: pack.items.guidelines.length,
315
- },
316
- })));
317
- const packChoices = rows.map((row) => {
318
- const added = addedByPack.get(row.name) ?? 0;
319
- const addedNote = added > 0 ? chalk.dim(` Β· added ${added}`) : '';
320
- return {
321
- name: `${row.paddedName} ${row.counts}${addedNote}`,
322
- value: row.name,
323
- short: row.name,
324
- };
325
- });
326
- return select({
327
- message: `Select a pack in source '${sourceAlias}' (or finish)`,
328
- choices: [...packChoices, new Separator(), { name: 'Done', value: null }],
329
- loop: false,
330
- pageSize: pageSizeFor(packChoices.length + 2),
331
- });
332
- }
333
- async promptItemSelection(sourceAlias, packDetail, existingItemsByType) {
334
- const empty = { skills: [], agents: [], guidelines: [] };
335
- const nameWidth = Math.max(0, ...ITEM_TYPES.flatMap((itemType) => packDetail.items[itemType].map((item) => item.name.length)));
336
- const hasSelectable = ITEM_TYPES.some((itemType) => packDetail.items[itemType].some((item) => !existingItemsByType[itemType].has(item.name)));
337
- if (!hasSelectable) {
338
- const totalItems = ITEM_TYPES.reduce((sum, itemType) => sum + packDetail.items[itemType].length, 0);
339
- const note = totalItems === 0
340
- ? `pack '${packDetail.name}' has no items`
341
- : `all items in '${packDetail.name}' are already added`;
342
- console.log(chalk.dim(` ${note}`));
343
- return empty;
344
- }
345
- const choices = [];
346
- const rowWidth = Math.max(0, ...ITEM_TYPES.flatMap((itemType) => packDetail.items[itemType].map((item) => nameWidth + 2 + visibleWidth(truncate(item.description, 50)))));
347
- for (const itemType of ITEM_TYPES) {
348
- const items = packDetail.items[itemType];
349
- if (items.length === 0)
350
- continue;
351
- if (choices.length > 0)
352
- choices.push(new Separator(' '));
353
- choices.push(itemSectionHeader(itemType, rowWidth));
354
- for (const item of items) {
355
- const alreadyAdded = existingItemsByType[itemType].has(item.name);
356
- choices.push({
357
- name: `${item.name.padEnd(nameWidth)} ${chalk.dim(truncate(item.description, 50))}`,
358
- value: { type: itemType, name: item.name },
359
- short: item.name,
360
- disabled: alreadyAdded ? '(already added)' : false,
361
- });
362
- }
363
- }
364
- const selected = await checkbox({
365
- message: `Select items to add to '${sourceAlias}/${packDetail.name}'`,
366
- choices,
367
- loop: false,
368
- pageSize: pageSizeFor(choices.length),
369
- theme: { icon: { disabledUnchecked: 'βœ“' } },
370
- });
371
- const result = { skills: [], agents: [], guidelines: [] };
372
- for (const { type, name } of selected) {
373
- result[type].push(name);
374
- }
375
- return result;
376
- }
377
- countAddedItems(pack) {
378
- return ITEM_TYPES.reduce((sum, itemType) => sum + pack.addedItems[itemType].length, 0);
379
- }
380
133
  parseItemNames(value) {
381
134
  if (!value)
382
135
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"add-item.js","sourceRoot":"","sources":["../../../src/catalog/commands/add-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAiB,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAsBpD,MAAM,OAAO,cAAc;IACR,OAAO,CAAU;IACjB,KAAK,CAAU;IACf,OAAO,CAAU;IACjB,OAAO,CAAU;IACjB,WAAW,CAAU;IAEtC,YAAY,OAMX;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,QAA0B;QAC3D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;YAC5C,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;YAE7F,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBAChD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;YACJ,CAAC;YAED,MAAM,iBAAiB,GAAG,WAAW;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;oBACzC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;oBACzC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;iBAClD,CAAC;YACN,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EACnD,CAAC,CACF,CAAC;gBACF,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAC3C,WAAW;gBACX,WAAW,EAAE,IAAI,CAAC,OAAO;gBACzB,QAAQ,EAAE,IAAI,CAAC,KAAK;gBACpB,iBAAiB;gBACjB,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,cAAc,GAClB,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;QAC7F,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;QAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,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,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/E,IAAI,WAAW,KAAK,IAAI;gBAAE,MAAM;YAEhC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAC3C,WAAW;oBACX,WAAW;oBACX,QAAQ,EAAE,SAAS;oBACnB,iBAAiB,EAAE,SAAS;oBAC5B,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzC,IAAI,MAAM,EAAE,CAAC;wBACX,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;4BAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAMhC;QACC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAEpF,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,IAAI,KAAK,CAAC,WAAW,WAAW,kBAAkB,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,CAAC;QAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAC7C,WAAW,EACX,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAW,CACZ,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACxE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CACb,2BAA2B,WAAW,MAAM,QAAQ,yCAAyC,WAAW,2BAA2B,CACpI,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;gBACrC,UAAU;gBACV,MAAM;gBACN,WAAW;gBACX,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,iBAAiB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC9C,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtD,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC7F,IAAI,YAAY,KAAK,IAAI;gBAAE,MAAM;YAEjC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAE,CAAC;YAC7E,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;gBACrC,UAAU;gBACV,MAAM,EAAE,WAAW;gBACnB,WAAW;gBACX,UAAU;gBACV,iBAAiB,EAAE,SAAS;aAC7B,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAEO,aAAa,CAAC,KAAsB,EAAE,IAAmB;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;QAChE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAM5B;QACC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAEnF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;QAEjC,MAAM,gBAAgB,GAAkC;YACtD,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,UAAU,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1E,CAAC;QACF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CACtC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CACxF,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,MAAM,mBAAmB,GAAkC;YACzD,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;YAC3C,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;YAC3C,UAAU,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;SACjE,CAAC;QAEF,IAAI,gBAAgB,GAA2C,iBAAiB,CAAC;QACjF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC/C,WAAW,EACX,UAAU,EACV,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAA+B,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,YAAY,GAA+B,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC5F,MAAM,UAAU,GAA+B,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC1F,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBACvC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7C,CAAC;qBAAM,IAAI,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7C,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAClF,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;YACF,MAAM,IAAI,KAAK,CACb;gBACE,0BAA0B,QAAQ,IAAI;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChB,uCAAuC,WAAW,WAAW,QAAQ,2BAA2B;aACjG,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,cAAc,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACtC,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,YAAY,EAAE,CAAC;oBACjB,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;wBAClC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;4BAAE,SAAS;wBAErC,MAAM,YAAY,GAAG,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAE7C,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;4BAC9B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gCACjC,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gCAC5D,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;4BAChF,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;4BACxD,CAAC;4BAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gCACjC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;4BACzC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC;oBAClE,MAAM,UAAU,GAAuC,EAAE,CAAC;oBAC1D,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;wBACvC,MAAM,WAAW,GAAG,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;wBACjE,UAAU,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,QAAQ,CAAC,KAAK,CACZ,QAAQ,EACR,QAAQ,CAAC,UAAU,CAAC;wBAClB,MAAM;wBACN,MAAM;wBACN,UAAU;qBACX,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ;YACR,WAAW,EAAE,YAAY,KAAK,SAAS;YACvC,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,WAAmB,EACnB,WAAmB,EACnB,MAAc,EACd,QAA0B,EAC1B,WAAoB;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACvE,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC,qBAAqB,WAAW,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACrD,QAAQ,CAAC,OAAO,CAAC,WAAW,WAAW,GAAG,CAAC,CAAC;YAC5C,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAA+B,EAC/B,QAA4C;QAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,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,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK;gBACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,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,SAAS,EAAE;gBAC/F,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK;aACb,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;YAC3E,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,aAA2B,EAC3B,WAAmB,EACnB,WAAgC;QAEhC,MAAM,IAAI,GAAG,aAAa,CACxB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;gBAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;gBAChC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;aACzC;SACF,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,OAAO;gBACL,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE;gBACpD,KAAK,EAAE,GAAG,CAAC,IAAI;gBACf,KAAK,EAAE,GAAG,CAAC,IAAI;aAChB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAgB;YAC3B,OAAO,EAAE,4BAA4B,WAAW,eAAe;YAC/D,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,IAAI,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,UAAsB,EACtB,mBAAkD;QAElD,MAAM,KAAK,GAA+B,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAErF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,CAAC,EACD,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3D,CACF,CAAC;QAEF,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjD,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACzF,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,EAC1D,CAAC,CACF,CAAC;YACF,MAAM,IAAI,GACR,UAAU,KAAK,CAAC;gBACd,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,gBAAgB;gBAC1C,CAAC,CAAC,iBAAiB,UAAU,CAAC,IAAI,qBAAqB,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAQD,MAAM,OAAO,GAA+B,EAAE,CAAC;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CACvE,CACF,CACF,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAEpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE;oBACpF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBAC1C,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK;iBACnD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC9B,OAAO,EAAE,2BAA2B,WAAW,IAAI,UAAU,CAAC,IAAI,GAAG;YACrE,OAAO;YACP,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YACrC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE;SAC5C,CAAC,CAAC;QAEH,MAAM,MAAM,GAA+B,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACtF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,IAAmB;QACzC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,cAAc,CAAC,KAAc;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,KAAK;aAChB,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"}
1
+ {"version":3,"file":"add-item.js","sourceRoot":"","sources":["../../../src/catalog/commands/add-item.ts"],"names":[],"mappings":"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"}