@agents-inc/cli 0.35.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/config/skills-matrix.yaml +17 -17
- package/dist/{chunk-HTTPKSL6.js → chunk-2XX4TMCI.js} +2 -2
- package/dist/{chunk-CEWNZQMH.js → chunk-3E2V5YL3.js} +8 -2
- package/dist/chunk-3E2V5YL3.js.map +1 -0
- package/dist/{chunk-IG7CUREJ.js → chunk-3NQJOJZL.js} +2 -2
- package/dist/chunk-54ZZCWN4.js +51 -0
- package/dist/chunk-54ZZCWN4.js.map +1 -0
- package/dist/{chunk-VEZ2GZEK.js → chunk-ATLRUR3B.js} +2 -2
- package/dist/{chunk-KWF6D7ZP.js → chunk-CYFU3ARY.js} +26 -16
- package/dist/chunk-CYFU3ARY.js.map +1 -0
- package/dist/{chunk-CXWPUVA7.js → chunk-DUQFF45G.js} +7 -7
- package/dist/{chunk-U36YCEBK.js → chunk-EISBUEBL.js} +32 -23
- package/dist/chunk-EISBUEBL.js.map +1 -0
- package/dist/chunk-EXFVAEPY.js +80 -0
- package/dist/chunk-EXFVAEPY.js.map +1 -0
- package/dist/{chunk-YN35L5NE.js → chunk-FWQK3HWB.js} +4 -4
- package/dist/chunk-FWQK3HWB.js.map +1 -0
- package/dist/{chunk-DC5AK3LW.js → chunk-GG4BSB6S.js} +5 -11
- package/dist/chunk-GG4BSB6S.js.map +1 -0
- package/dist/{chunk-GGHH3KR2.js → chunk-HKDE4LJW.js} +2 -2
- package/dist/{chunk-OGXSTJP2.js → chunk-HRMQ2RGY.js} +81 -26
- package/dist/chunk-HRMQ2RGY.js.map +1 -0
- package/dist/{chunk-YPJKOM42.js → chunk-HRW7BIDE.js} +2 -2
- package/dist/{chunk-LFHZBF6N.js → chunk-IVIK776Y.js} +4 -3
- package/dist/chunk-IVIK776Y.js.map +1 -0
- package/dist/{chunk-NVQEHRJY.js → chunk-IWNPFIGY.js} +38 -48
- package/dist/chunk-IWNPFIGY.js.map +1 -0
- package/dist/{chunk-YIKBNGE3.js → chunk-IZRVFC2Z.js} +7 -7
- package/dist/chunk-IZRVFC2Z.js.map +1 -0
- package/dist/{chunk-AQQVSNUX.js → chunk-K77I4XGL.js} +20 -6
- package/dist/chunk-K77I4XGL.js.map +1 -0
- package/dist/{chunk-BPD4VUAU.js → chunk-M6PGIZNS.js} +5 -5
- package/dist/{chunk-5LPPIT6H.js → chunk-NFV4SKH5.js} +4 -4
- package/dist/chunk-NI2RSNWB.js +156 -0
- package/dist/chunk-NI2RSNWB.js.map +1 -0
- package/dist/{chunk-NJ775OJ4.js → chunk-OEX5JDQD.js} +7 -7
- package/dist/chunk-OEX5JDQD.js.map +1 -0
- package/dist/{chunk-OKILA27U.js → chunk-TA6IIQI4.js} +86 -99
- package/dist/chunk-TA6IIQI4.js.map +1 -0
- package/dist/{chunk-PKUIO2Z7.js → chunk-TBDIR6LY.js} +8 -8
- package/dist/chunk-TBDIR6LY.js.map +1 -0
- package/dist/{chunk-XYCN2GCV.js → chunk-TNFACSWF.js} +3 -3
- package/dist/{chunk-ZE355C6C.js → chunk-TY5GELDB.js} +9 -4
- package/dist/chunk-TY5GELDB.js.map +1 -0
- package/dist/{chunk-WMVGRAFB.js → chunk-U5OB5ADP.js} +186 -109
- package/dist/chunk-U5OB5ADP.js.map +1 -0
- package/dist/{chunk-JXMRTHDT.js → chunk-UOMMQ5M6.js} +2 -2
- package/dist/{chunk-XNQJBQ5X.js → chunk-UV6JUGIY.js} +2 -2
- package/dist/{chunk-5YNZJ5TP.js → chunk-VAHVSQIG.js} +2 -2
- package/dist/{chunk-OGJ7DFCL.js → chunk-VAK5PX72.js} +5 -5
- package/dist/chunk-WSGGJKD5.js +113 -0
- package/dist/chunk-WSGGJKD5.js.map +1 -0
- package/dist/{chunk-BLLXNFWP.js → chunk-YHQNTBBN.js} +2 -2
- package/dist/{chunk-OI4WBRC7.js → chunk-YJIJTBSX.js} +77 -102
- package/dist/chunk-YJIJTBSX.js.map +1 -0
- package/dist/{chunk-YCS7GF6Y.js → chunk-ZBJQXDQN.js} +3 -1
- package/dist/{chunk-YCS7GF6Y.js.map → chunk-ZBJQXDQN.js.map} +1 -1
- package/dist/cli/defaults/agent-mappings.yaml +4 -4
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +5 -5
- package/dist/commands/build/stack.js +5 -5
- package/dist/commands/compile.js +12 -17
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config/get.js +8 -8
- package/dist/commands/config/get.js.map +1 -1
- package/dist/commands/config/index.js +5 -5
- package/dist/commands/config/path.js +4 -4
- package/dist/commands/config/set-project.js +7 -7
- package/dist/commands/config/set-project.js.map +1 -1
- package/dist/commands/config/show.js +5 -5
- package/dist/commands/config/unset-project.js +5 -5
- package/dist/commands/config/unset-project.js.map +1 -1
- package/dist/commands/diff.js +8 -8
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/edit.js +30 -27
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +6 -6
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/import/skill.js +16 -16
- package/dist/commands/import/skill.js.map +1 -1
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +29 -26
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js +4 -4
- package/dist/commands/new/agent.js +5 -5
- package/dist/commands/new/skill.js +8 -8
- package/dist/commands/new/skill.js.map +1 -1
- package/dist/commands/outdated.js +4 -4
- package/dist/commands/search.js +7 -7
- package/dist/commands/uninstall.js +109 -102
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +5 -5
- package/dist/commands/version/bump.js +4 -4
- package/dist/commands/version/index.js +4 -4
- package/dist/commands/version/set.js +4 -4
- package/dist/commands/version/show.js +4 -4
- package/dist/components/skill-search/skill-search.js +3 -3
- package/dist/components/wizard/category-grid.js +3 -3
- package/dist/components/wizard/category-grid.test.js +42 -21
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/checkbox-grid.js +10 -0
- package/dist/components/wizard/checkbox-grid.test.js +260 -0
- package/dist/components/wizard/checkbox-grid.test.js.map +1 -0
- package/dist/components/wizard/domain-selection.js +7 -5
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +2 -2
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -2
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/source-grid.js +4 -4
- package/dist/components/wizard/source-grid.test.js +4 -4
- package/dist/components/wizard/stack-selection.js +8 -7
- package/dist/components/wizard/step-agents.js +16 -0
- package/dist/components/wizard/step-agents.js.map +1 -0
- package/dist/components/wizard/step-agents.test.js +185 -0
- package/dist/components/wizard/step-agents.test.js.map +1 -0
- package/dist/components/wizard/step-build.js +9 -8
- package/dist/components/wizard/step-build.test.js +25 -23
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +2 -2
- package/dist/components/wizard/step-confirm.test.js +6 -5
- package/dist/components/wizard/step-confirm.test.js.map +1 -1
- package/dist/components/wizard/step-refine.js +2 -2
- package/dist/components/wizard/step-refine.test.js +2 -2
- package/dist/components/wizard/step-settings.js +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +11 -10
- package/dist/components/wizard/step-sources.test.js +13 -12
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +11 -9
- package/dist/components/wizard/step-stack.test.js +12 -10
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/view-title.js +2 -2
- package/dist/components/wizard/wizard-layout.js +8 -7
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +6 -4
- package/dist/components/wizard/wizard-tabs.test.js.map +1 -1
- package/dist/components/wizard/wizard.js +26 -23
- package/dist/config/skills-matrix.yaml +17 -17
- package/dist/hooks/init.js +3 -3
- package/dist/{source-manager-PTK4P6BF.js → source-manager-FEGVYDFZ.js} +4 -4
- package/dist/source-manager-FEGVYDFZ.js.map +1 -0
- package/dist/stores/wizard-store.js +5 -4
- package/dist/stores/wizard-store.test.js +287 -15
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/schemas/agent.schema.json +3 -3
- package/src/schemas/metadata.schema.json +14 -14
- package/src/schemas/project-config.schema.json +43 -2
- package/src/schemas/project-source-config.schema.json +5 -5
- package/src/schemas/skills-matrix.schema.json +4 -4
- package/src/schemas/stack.schema.json +1 -1
- package/src/schemas/stacks.schema.json +42 -1
- package/dist/chunk-AQQVSNUX.js.map +0 -1
- package/dist/chunk-CEWNZQMH.js.map +0 -1
- package/dist/chunk-DC5AK3LW.js.map +0 -1
- package/dist/chunk-KWF6D7ZP.js.map +0 -1
- package/dist/chunk-LFHZBF6N.js.map +0 -1
- package/dist/chunk-NJ775OJ4.js.map +0 -1
- package/dist/chunk-NVQEHRJY.js.map +0 -1
- package/dist/chunk-OGXSTJP2.js.map +0 -1
- package/dist/chunk-OI4WBRC7.js.map +0 -1
- package/dist/chunk-OKILA27U.js.map +0 -1
- package/dist/chunk-PKUIO2Z7.js.map +0 -1
- package/dist/chunk-U36YCEBK.js.map +0 -1
- package/dist/chunk-UFUQUFV6.js +0 -256
- package/dist/chunk-UFUQUFV6.js.map +0 -1
- package/dist/chunk-WMVGRAFB.js.map +0 -1
- package/dist/chunk-YIKBNGE3.js.map +0 -1
- package/dist/chunk-YN35L5NE.js.map +0 -1
- package/dist/chunk-ZE355C6C.js.map +0 -1
- /package/dist/{chunk-HTTPKSL6.js.map → chunk-2XX4TMCI.js.map} +0 -0
- /package/dist/{chunk-IG7CUREJ.js.map → chunk-3NQJOJZL.js.map} +0 -0
- /package/dist/{chunk-VEZ2GZEK.js.map → chunk-ATLRUR3B.js.map} +0 -0
- /package/dist/{chunk-CXWPUVA7.js.map → chunk-DUQFF45G.js.map} +0 -0
- /package/dist/{chunk-GGHH3KR2.js.map → chunk-HKDE4LJW.js.map} +0 -0
- /package/dist/{chunk-YPJKOM42.js.map → chunk-HRW7BIDE.js.map} +0 -0
- /package/dist/{chunk-BPD4VUAU.js.map → chunk-M6PGIZNS.js.map} +0 -0
- /package/dist/{chunk-5LPPIT6H.js.map → chunk-NFV4SKH5.js.map} +0 -0
- /package/dist/{chunk-XYCN2GCV.js.map → chunk-TNFACSWF.js.map} +0 -0
- /package/dist/{chunk-JXMRTHDT.js.map → chunk-UOMMQ5M6.js.map} +0 -0
- /package/dist/{chunk-XNQJBQ5X.js.map → chunk-UV6JUGIY.js.map} +0 -0
- /package/dist/{chunk-5YNZJ5TP.js.map → chunk-VAHVSQIG.js.map} +0 -0
- /package/dist/{chunk-OGJ7DFCL.js.map → chunk-VAK5PX72.js.map} +0 -0
- /package/dist/{chunk-BLLXNFWP.js.map → chunk-YHQNTBBN.js.map} +0 -0
- /package/dist/{source-manager-PTK4P6BF.js.map → components/wizard/checkbox-grid.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
+
## [0.38.0] - 2026-02-18
|
|
13
|
+
|
|
14
|
+
**Agents selection step, skill-based preselection, strict stacks schema**
|
|
15
|
+
|
|
16
|
+
- New "Agents" wizard step — users can toggle which agents to compile
|
|
17
|
+
- Agents preselected from actually selected skills (not just domains)
|
|
18
|
+
- Stacks schema enforces valid subcategory keys via enum
|
|
19
|
+
- Reusable CheckboxGrid component extracted from domain selection
|
|
20
|
+
|
|
21
|
+
See [changelogs/0.38.0.md](./changelogs/0.38.0.md) for full details.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## [0.37.0] - 2026-02-18
|
|
26
|
+
|
|
27
|
+
**Rename all snake_case config/metadata fields to camelCase (D-27)**
|
|
28
|
+
|
|
29
|
+
- 27 fields renamed across types, schemas, configs, and all implementation code
|
|
30
|
+
- All 6 JSON schemas updated, validation error discriminants renamed
|
|
31
|
+
- Zero backward compatibility shims — clean break
|
|
32
|
+
|
|
33
|
+
See [changelogs/0.37.0.md](./changelogs/0.37.0.md) for full details.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## [0.36.0] - 2026-02-18
|
|
38
|
+
|
|
39
|
+
**Tier-based source sort order, display name rendering, and code standards enforcement**
|
|
40
|
+
|
|
41
|
+
- Sources step sorts by fixed tiers: local → scoped marketplace → default public → third-party
|
|
42
|
+
- Skills render full display names in Sources step (matching Build step)
|
|
43
|
+
- Clean code standards enforced across ~30 files (comments, typedKeys, getErrorMessage, test helpers)
|
|
44
|
+
|
|
45
|
+
See [changelogs/0.36.0.md](./changelogs/0.36.0.md) for full details.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
12
49
|
## [0.35.0] - 2026-02-18
|
|
13
50
|
|
|
14
51
|
**Selective uninstall, expert mode persistence, metadata.yaml requirement, and test infrastructure overhaul**
|
|
@@ -103,7 +103,7 @@ categories:
|
|
|
103
103
|
displayName: Error Handling
|
|
104
104
|
description: Error boundaries, result types, and error patterns
|
|
105
105
|
domain: web-extras
|
|
106
|
-
|
|
106
|
+
parentDomain: web
|
|
107
107
|
exclusive: false
|
|
108
108
|
required: false
|
|
109
109
|
order: 11
|
|
@@ -122,7 +122,7 @@ categories:
|
|
|
122
122
|
displayName: File Upload
|
|
123
123
|
description: File upload patterns and handling
|
|
124
124
|
domain: web-extras
|
|
125
|
-
|
|
125
|
+
parentDomain: web
|
|
126
126
|
exclusive: false
|
|
127
127
|
required: false
|
|
128
128
|
order: 13
|
|
@@ -132,7 +132,7 @@ categories:
|
|
|
132
132
|
displayName: Files & Images
|
|
133
133
|
description: Image handling and file processing
|
|
134
134
|
domain: web-extras
|
|
135
|
-
|
|
135
|
+
parentDomain: web
|
|
136
136
|
exclusive: false
|
|
137
137
|
required: false
|
|
138
138
|
order: 14
|
|
@@ -142,7 +142,7 @@ categories:
|
|
|
142
142
|
displayName: Utilities
|
|
143
143
|
description: Utility libraries (date-fns, native JS patterns)
|
|
144
144
|
domain: web-extras
|
|
145
|
-
|
|
145
|
+
parentDomain: web
|
|
146
146
|
exclusive: false
|
|
147
147
|
required: false
|
|
148
148
|
order: 15
|
|
@@ -152,7 +152,7 @@ categories:
|
|
|
152
152
|
displayName: Realtime
|
|
153
153
|
description: WebSockets, SSE, and real-time communication
|
|
154
154
|
domain: web-extras
|
|
155
|
-
|
|
155
|
+
parentDomain: web
|
|
156
156
|
exclusive: true
|
|
157
157
|
required: false
|
|
158
158
|
order: 16
|
|
@@ -162,7 +162,7 @@ categories:
|
|
|
162
162
|
displayName: Animation
|
|
163
163
|
description: Animation libraries and CSS animations
|
|
164
164
|
domain: web-extras
|
|
165
|
-
|
|
165
|
+
parentDomain: web
|
|
166
166
|
exclusive: false
|
|
167
167
|
required: false
|
|
168
168
|
order: 17
|
|
@@ -172,7 +172,7 @@ categories:
|
|
|
172
172
|
displayName: Progressive Web App
|
|
173
173
|
description: Service workers, offline-first patterns, and PWA features
|
|
174
174
|
domain: web-extras
|
|
175
|
-
|
|
175
|
+
parentDomain: web
|
|
176
176
|
exclusive: false
|
|
177
177
|
required: false
|
|
178
178
|
order: 18
|
|
@@ -182,7 +182,7 @@ categories:
|
|
|
182
182
|
displayName: Accessibility
|
|
183
183
|
description: WCAG compliance, ARIA, and keyboard navigation
|
|
184
184
|
domain: web-extras
|
|
185
|
-
|
|
185
|
+
parentDomain: web
|
|
186
186
|
exclusive: false
|
|
187
187
|
required: false
|
|
188
188
|
order: 19
|
|
@@ -597,12 +597,12 @@ relationships:
|
|
|
597
597
|
# React-specific libraries (note: these libraries have vanilla/other-framework options, but our skills teach React patterns)
|
|
598
598
|
- skill: zustand
|
|
599
599
|
needs: [react, react-native]
|
|
600
|
-
|
|
600
|
+
needsAny: true
|
|
601
601
|
reason: "Our Zustand skill covers React/React Native patterns (zustand/vanilla exists for other frameworks)"
|
|
602
602
|
|
|
603
603
|
- skill: redux-toolkit
|
|
604
604
|
needs: [react, react-native]
|
|
605
|
-
|
|
605
|
+
needsAny: true
|
|
606
606
|
reason: "Our Redux Toolkit skill covers React/React Native patterns (RTK core is framework-agnostic)"
|
|
607
607
|
|
|
608
608
|
- skill: mobx
|
|
@@ -611,17 +611,17 @@ relationships:
|
|
|
611
611
|
|
|
612
612
|
- skill: react-query
|
|
613
613
|
needs: [react, react-native]
|
|
614
|
-
|
|
614
|
+
needsAny: true
|
|
615
615
|
reason: "TanStack Query's React adapter. Note: TanStack Query also supports Vue, Solid, Svelte via separate adapters."
|
|
616
616
|
|
|
617
617
|
- skill: swr
|
|
618
618
|
needs: [react, react-native]
|
|
619
|
-
|
|
619
|
+
needsAny: true
|
|
620
620
|
reason: "SWR is a React Hooks library. For React Native, requires @nandorojo/swr-react-native wrapper."
|
|
621
621
|
|
|
622
622
|
- skill: react-hook-form
|
|
623
623
|
needs: [react, react-native]
|
|
624
|
-
|
|
624
|
+
needsAny: true
|
|
625
625
|
reason: "React Hook Form is React only"
|
|
626
626
|
|
|
627
627
|
- skill: react-testing-library
|
|
@@ -659,7 +659,7 @@ relationships:
|
|
|
659
659
|
# Backend dependencies
|
|
660
660
|
- skill: better-auth
|
|
661
661
|
needs: [drizzle, prisma]
|
|
662
|
-
|
|
662
|
+
needsAny: true
|
|
663
663
|
reason: "Better Auth supports multiple database adapters (Drizzle, Prisma, Kysely, MongoDB). Our skill uses Drizzle adapter."
|
|
664
664
|
|
|
665
665
|
# NOTE: Removed drizzle/prisma requires API framework - ORMs work standalone for scripts, CLI tools, workers, etc.
|
|
@@ -672,12 +672,12 @@ relationships:
|
|
|
672
672
|
# GraphQL clients need a framework
|
|
673
673
|
- skill: graphql-apollo
|
|
674
674
|
needs: [react, vue, angular]
|
|
675
|
-
|
|
675
|
+
needsAny: true
|
|
676
676
|
reason: "Apollo Client - first-party React support, community-maintained Vue/Angular integrations. Note: Svelte/Solid bindings exist but are stale (2020-2022)."
|
|
677
677
|
|
|
678
678
|
- skill: graphql-urql
|
|
679
679
|
needs: [react, vue, solidjs]
|
|
680
|
-
|
|
680
|
+
needsAny: true
|
|
681
681
|
reason: "URQL has first-party support for React, Vue, and Solid (no Angular support). Svelte support exists but skill not yet created."
|
|
682
682
|
|
|
683
683
|
# ─────────────────────────────────────────────────────────────────
|
|
@@ -759,7 +759,7 @@ relationships:
|
|
|
759
759
|
# - Lowercase
|
|
760
760
|
# =============================================================================
|
|
761
761
|
|
|
762
|
-
|
|
762
|
+
skillAliases:
|
|
763
763
|
# ─────────────────────────────────────────────────────────────────
|
|
764
764
|
# Frameworks - normalized skill IDs
|
|
765
765
|
# ─────────────────────────────────────────────────────────────────
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CLI_COLORS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
5
5
|
import {
|
|
6
6
|
init_esm_shims
|
|
7
7
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -28,4 +28,4 @@ var ViewTitle = ({ children }) => {
|
|
|
28
28
|
export {
|
|
29
29
|
ViewTitle
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
31
|
+
//# sourceMappingURL=chunk-2XX4TMCI.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-MZB3GGOH.js";
|
|
5
5
|
import {
|
|
6
6
|
CLI_COLORS
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
8
8
|
import {
|
|
9
9
|
init_esm_shims
|
|
10
10
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -20,6 +20,7 @@ var StepConfirm = ({
|
|
|
20
20
|
domainSelections,
|
|
21
21
|
technologyCount,
|
|
22
22
|
skillCount,
|
|
23
|
+
agentCount,
|
|
23
24
|
installMode,
|
|
24
25
|
onBack
|
|
25
26
|
}) => {
|
|
@@ -62,6 +63,11 @@ var StepConfirm = ({
|
|
|
62
63
|
" ",
|
|
63
64
|
/* @__PURE__ */ jsx(Text, { color: CLI_COLORS.SUCCESS, children: "(all verified)" })
|
|
64
65
|
] }),
|
|
66
|
+
agentCount !== void 0 && /* @__PURE__ */ jsxs(Text, { children: [
|
|
67
|
+
/* @__PURE__ */ jsx(Text, { dimColor: true, children: "Agents:" }),
|
|
68
|
+
" ",
|
|
69
|
+
/* @__PURE__ */ jsx(Text, { bold: true, children: agentCount })
|
|
70
|
+
] }),
|
|
65
71
|
installMode && /* @__PURE__ */ jsxs(Text, { children: [
|
|
66
72
|
/* @__PURE__ */ jsx(Text, { dimColor: true, children: "Install mode:" }),
|
|
67
73
|
" ",
|
|
@@ -75,4 +81,4 @@ var StepConfirm = ({
|
|
|
75
81
|
export {
|
|
76
82
|
StepConfirm
|
|
77
83
|
};
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-3E2V5YL3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/wizard/step-confirm.tsx"],"sourcesContent":["import React from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport type { DomainSelections, Domain } from \"../../types/index.js\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport { getDomainDisplayName } from \"./utils.js\";\n\ntype StepConfirmProps = {\n onComplete: () => void;\n stackName?: string;\n selectedDomains?: Domain[];\n domainSelections?: DomainSelections;\n technologyCount?: number;\n skillCount?: number;\n agentCount?: number;\n installMode?: \"plugin\" | \"local\";\n onBack?: () => void;\n};\n\nexport const StepConfirm: React.FC<StepConfirmProps> = ({\n onComplete,\n stackName,\n selectedDomains,\n domainSelections,\n technologyCount,\n skillCount,\n agentCount,\n installMode,\n onBack,\n}) => {\n useInput((_input, key) => {\n if (key.return) {\n onComplete();\n }\n if (key.escape && onBack) {\n onBack();\n }\n });\n\n const domainsText = selectedDomains?.map(getDomainDisplayName).join(\" + \") || \"\";\n const title = stackName\n ? `Ready to install ${stackName}`\n : `Ready to install your custom stack${domainsText ? ` (${domainsText})` : \"\"}`;\n\n return (\n <Box flexDirection=\"column\" paddingX={2}>\n <Text bold color={CLI_COLORS.SUCCESS}>\n {title}\n </Text>\n <Text> </Text>\n\n {domainSelections && selectedDomains && !stackName && (\n <Box flexDirection=\"column\" marginBottom={1}>\n {selectedDomains.map((domain) => {\n const selections = domainSelections[domain] || {};\n const techs = Object.values(selections).flat();\n if (techs.length === 0) return null;\n return (\n <Text key={domain}>\n <Text bold>{getDomainDisplayName(domain)}:</Text> <Text>{techs.join(\", \")}</Text>\n </Text>\n );\n })}\n </Box>\n )}\n\n <Box flexDirection=\"column\" marginY={1}>\n {technologyCount !== undefined && (\n <Text>\n <Text dimColor>Technologies:</Text> <Text bold>{technologyCount}</Text>\n </Text>\n )}\n {skillCount !== undefined && (\n <Text>\n <Text dimColor>Skills:</Text> <Text bold>{skillCount}</Text>{\" \"}\n <Text color={CLI_COLORS.SUCCESS}>(all verified)</Text>\n </Text>\n )}\n {agentCount !== undefined && (\n <Text>\n <Text dimColor>Agents:</Text> <Text bold>{agentCount}</Text>\n </Text>\n )}\n {installMode && (\n <Text>\n <Text dimColor>Install mode:</Text>{\" \"}\n <Text bold>{installMode === \"plugin\" ? \"Plugin\" : \"Local\"}</Text>\n </Text>\n )}\n </Box>\n\n <Box marginTop={1}>\n <Text dimColor>ENTER install ESC go back</Text>\n </Box>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA,SAAS,KAAK,MAAM,gBAAgB;AA4C9B,cAaU,YAbV;AA3BC,IAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,WAAS,CAAC,QAAQ,QAAQ;AACxB,QAAI,IAAI,QAAQ;AACd,iBAAW;AAAA,IACb;AACA,QAAI,IAAI,UAAU,QAAQ;AACxB,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAED,QAAM,cAAc,iBAAiB,IAAI,oBAAoB,EAAE,KAAK,KAAK,KAAK;AAC9E,QAAM,QAAQ,YACV,oBAAoB,SAAS,KAC7B,qCAAqC,cAAc,KAAK,WAAW,MAAM,EAAE;AAE/E,SACE,qBAAC,OAAI,eAAc,UAAS,UAAU,GACpC;AAAA,wBAAC,QAAK,MAAI,MAAC,OAAO,WAAW,SAC1B,iBACH;AAAA,IACA,oBAAC,QAAK,eAAC;AAAA,IAEN,oBAAoB,mBAAmB,CAAC,aACvC,oBAAC,OAAI,eAAc,UAAS,cAAc,GACvC,0BAAgB,IAAI,CAAC,WAAW;AAC/B,YAAM,aAAa,iBAAiB,MAAM,KAAK,CAAC;AAChD,YAAM,QAAQ,OAAO,OAAO,UAAU,EAAE,KAAK;AAC7C,UAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,aACE,qBAAC,QACC;AAAA,6BAAC,QAAK,MAAI,MAAE;AAAA,+BAAqB,MAAM;AAAA,UAAE;AAAA,WAAC;AAAA,QAAO;AAAA,QAAC,oBAAC,QAAM,gBAAM,KAAK,IAAI,GAAE;AAAA,WADjE,MAEX;AAAA,IAEJ,CAAC,GACH;AAAA,IAGF,qBAAC,OAAI,eAAc,UAAS,SAAS,GAClC;AAAA,0BAAoB,UACnB,qBAAC,QACC;AAAA,4BAAC,QAAK,UAAQ,MAAC,2BAAa;AAAA,QAAO;AAAA,QAAC,oBAAC,QAAK,MAAI,MAAE,2BAAgB;AAAA,SAClE;AAAA,MAED,eAAe,UACd,qBAAC,QACC;AAAA,4BAAC,QAAK,UAAQ,MAAC,qBAAO;AAAA,QAAO;AAAA,QAAC,oBAAC,QAAK,MAAI,MAAE,sBAAW;AAAA,QAAQ;AAAA,QAC7D,oBAAC,QAAK,OAAO,WAAW,SAAS,4BAAc;AAAA,SACjD;AAAA,MAED,eAAe,UACd,qBAAC,QACC;AAAA,4BAAC,QAAK,UAAQ,MAAC,qBAAO;AAAA,QAAO;AAAA,QAAC,oBAAC,QAAK,MAAI,MAAE,sBAAW;AAAA,SACvD;AAAA,MAED,eACC,qBAAC,QACC;AAAA,4BAAC,QAAK,UAAQ,MAAC,2BAAa;AAAA,QAAQ;AAAA,QACpC,oBAAC,QAAK,MAAI,MAAE,0BAAgB,WAAW,WAAW,SAAQ;AAAA,SAC5D;AAAA,OAEJ;AAAA,IAEA,oBAAC,OAAI,WAAW,GACd,8BAAC,QAAK,UAAQ,MAAC,uCAAyB,GAC1C;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-KUV24B5M.js";
|
|
5
5
|
import {
|
|
6
6
|
CLI_COLORS
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
8
8
|
import {
|
|
9
9
|
init_esm_shims
|
|
10
10
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -92,4 +92,4 @@ var SearchModal = ({ results, alias, onBind, onClose }) => {
|
|
|
92
92
|
export {
|
|
93
93
|
SearchModal
|
|
94
94
|
};
|
|
95
|
-
//# sourceMappingURL=chunk-
|
|
95
|
+
//# sourceMappingURL=chunk-3NQJOJZL.js.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
CheckboxGrid
|
|
4
|
+
} from "./chunk-IWNPFIGY.js";
|
|
5
|
+
import {
|
|
6
|
+
useWizardStore
|
|
7
|
+
} from "./chunk-HRMQ2RGY.js";
|
|
8
|
+
import {
|
|
9
|
+
init_esm_shims
|
|
10
|
+
} from "./chunk-DHET7RCE.js";
|
|
11
|
+
|
|
12
|
+
// src/cli/components/wizard/domain-selection.tsx
|
|
13
|
+
init_esm_shims();
|
|
14
|
+
import { jsx } from "react/jsx-runtime";
|
|
15
|
+
var AVAILABLE_DOMAINS = [
|
|
16
|
+
{ id: "web", label: "Web", description: "Frontend web applications" },
|
|
17
|
+
{
|
|
18
|
+
id: "web-extras",
|
|
19
|
+
label: "Web Extras",
|
|
20
|
+
description: "Animation, files, realtime, PWA, accessibility"
|
|
21
|
+
},
|
|
22
|
+
{ id: "api", label: "API", description: "Backend APIs and services" },
|
|
23
|
+
{ id: "cli", label: "CLI", description: "Command-line tools" },
|
|
24
|
+
{ id: "mobile", label: "Mobile", description: "Mobile applications" }
|
|
25
|
+
];
|
|
26
|
+
var DomainSelection = () => {
|
|
27
|
+
const { selectedDomains, toggleDomain, setStep, setApproach, selectStack } = useWizardStore();
|
|
28
|
+
const handleBack = () => {
|
|
29
|
+
setApproach(null);
|
|
30
|
+
selectStack(null);
|
|
31
|
+
};
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
CheckboxGrid,
|
|
34
|
+
{
|
|
35
|
+
title: "Select domains to configure:",
|
|
36
|
+
subtitle: "Select one or more domains, then continue",
|
|
37
|
+
items: AVAILABLE_DOMAINS,
|
|
38
|
+
selectedIds: selectedDomains,
|
|
39
|
+
onToggle: toggleDomain,
|
|
40
|
+
onContinue: () => setStep("build"),
|
|
41
|
+
onBack: handleBack,
|
|
42
|
+
continueLabel: (count) => `Continue with ${count} domain(s)`,
|
|
43
|
+
emptyMessage: "Please select at least one domain"
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export {
|
|
49
|
+
DomainSelection
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=chunk-54ZZCWN4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/wizard/domain-selection.tsx"],"sourcesContent":["import React from \"react\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport type { Domain } from \"../../types/index.js\";\nimport { CheckboxGrid, type CheckboxItem } from \"./checkbox-grid.js\";\n\nconst AVAILABLE_DOMAINS: CheckboxItem<Domain>[] = [\n { id: \"web\", label: \"Web\", description: \"Frontend web applications\" },\n {\n id: \"web-extras\",\n label: \"Web Extras\",\n description: \"Animation, files, realtime, PWA, accessibility\",\n },\n { id: \"api\", label: \"API\", description: \"Backend APIs and services\" },\n { id: \"cli\", label: \"CLI\", description: \"Command-line tools\" },\n { id: \"mobile\", label: \"Mobile\", description: \"Mobile applications\" },\n];\n\nexport const DomainSelection: React.FC = () => {\n const { selectedDomains, toggleDomain, setStep, setApproach, selectStack } = useWizardStore();\n\n const handleBack = () => {\n setApproach(null);\n selectStack(null);\n };\n\n return (\n <CheckboxGrid\n title=\"Select domains to configure:\"\n subtitle=\"Select one or more domains, then continue\"\n items={AVAILABLE_DOMAINS}\n selectedIds={selectedDomains}\n onToggle={toggleDomain}\n onContinue={() => setStep(\"build\")}\n onBack={handleBack}\n continueLabel={(count) => `Continue with ${count} domain(s)`}\n emptyMessage=\"Please select at least one domain\"\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AA0BI;AArBJ,IAAM,oBAA4C;AAAA,EAChD,EAAE,IAAI,OAAO,OAAO,OAAO,aAAa,4BAA4B;AAAA,EACpE;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,EAAE,IAAI,OAAO,OAAO,OAAO,aAAa,4BAA4B;AAAA,EACpE,EAAE,IAAI,OAAO,OAAO,OAAO,aAAa,qBAAqB;AAAA,EAC7D,EAAE,IAAI,UAAU,OAAO,UAAU,aAAa,sBAAsB;AACtE;AAEO,IAAM,kBAA4B,MAAM;AAC7C,QAAM,EAAE,iBAAiB,cAAc,SAAS,aAAa,YAAY,IAAI,eAAe;AAE5F,QAAM,aAAa,MAAM;AACvB,gBAAY,IAAI;AAChB,gBAAY,IAAI;AAAA,EAClB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,UAAS;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,YAAY,MAAM,QAAQ,OAAO;AAAA,MACjC,QAAQ;AAAA,MACR,eAAe,CAAC,UAAU,iBAAiB,KAAK;AAAA,MAChD,cAAa;AAAA;AAAA,EACf;AAEJ;","names":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
CLI_COLORS,
|
|
4
4
|
DEFAULT_BRANDING
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esm_shims
|
|
8
8
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -108,4 +108,4 @@ var StepRefine = ({
|
|
|
108
108
|
export {
|
|
109
109
|
StepRefine
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=chunk-
|
|
111
|
+
//# sourceMappingURL=chunk-ATLRUR3B.js.map
|
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepStack
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-NFV4SKH5.js";
|
|
5
5
|
import {
|
|
6
6
|
WizardLayout
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TBDIR6LY.js";
|
|
8
8
|
import {
|
|
9
9
|
StepConfirm
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3E2V5YL3.js";
|
|
11
11
|
import {
|
|
12
12
|
StepSettings
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-M6PGIZNS.js";
|
|
14
14
|
import {
|
|
15
15
|
StepSources
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-DUQFF45G.js";
|
|
17
|
+
import {
|
|
18
|
+
StepAgents
|
|
19
|
+
} from "./chunk-EXFVAEPY.js";
|
|
17
20
|
import {
|
|
18
21
|
StepBuild
|
|
19
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-NI2RSNWB.js";
|
|
20
23
|
import {
|
|
21
24
|
getStackName
|
|
22
25
|
} from "./chunk-MZB3GGOH.js";
|
|
23
26
|
import {
|
|
24
27
|
cliTheme
|
|
25
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-VAHVSQIG.js";
|
|
26
29
|
import {
|
|
27
30
|
useWizardStore
|
|
28
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-HRMQ2RGY.js";
|
|
29
32
|
import {
|
|
30
33
|
resolveAlias,
|
|
31
34
|
validateSelection
|
|
32
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-U5OB5ADP.js";
|
|
33
36
|
import {
|
|
34
37
|
warn
|
|
35
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-YJIJTBSX.js";
|
|
36
39
|
import {
|
|
37
40
|
CLI_COLORS
|
|
38
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
39
42
|
import {
|
|
40
43
|
init_esm_shims
|
|
41
44
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -112,12 +115,12 @@ function useBuildStepProps({
|
|
|
112
115
|
selectedDomains: effectiveDomains,
|
|
113
116
|
selections: store.domainSelections[activeDomain] || {},
|
|
114
117
|
allSelections,
|
|
115
|
-
|
|
118
|
+
showLabels: store.showLabels,
|
|
116
119
|
expertMode: store.expertMode,
|
|
117
120
|
parentDomainSelections,
|
|
118
121
|
installedSkillIds,
|
|
119
122
|
onToggle,
|
|
120
|
-
|
|
123
|
+
onToggleLabels: store.toggleShowLabels,
|
|
121
124
|
onContinue,
|
|
122
125
|
onBack
|
|
123
126
|
};
|
|
@@ -173,7 +176,7 @@ var Wizard = ({
|
|
|
173
176
|
return;
|
|
174
177
|
}
|
|
175
178
|
if (key.escape) {
|
|
176
|
-
if (store.step !== "build" && store.step !== "confirm" && store.step !== "sources" && store.step !== "stack") {
|
|
179
|
+
if (store.step !== "build" && store.step !== "confirm" && store.step !== "sources" && store.step !== "agents" && store.step !== "stack") {
|
|
177
180
|
store.goBack();
|
|
178
181
|
}
|
|
179
182
|
return;
|
|
@@ -224,6 +227,7 @@ var Wizard = ({
|
|
|
224
227
|
const validation = validateSelection(allSkills, matrix);
|
|
225
228
|
const result = {
|
|
226
229
|
selectedSkills: allSkills,
|
|
230
|
+
selectedAgents: store.selectedAgents,
|
|
227
231
|
selectedStackId: store.selectedStackId,
|
|
228
232
|
domainSelections: store.domainSelections,
|
|
229
233
|
sourceSelections: store.sourceSelections,
|
|
@@ -260,11 +264,16 @@ var Wizard = ({
|
|
|
260
264
|
{
|
|
261
265
|
matrix,
|
|
262
266
|
projectDir,
|
|
263
|
-
onContinue: () =>
|
|
267
|
+
onContinue: () => {
|
|
268
|
+
store.preselectAgentsFromSkills();
|
|
269
|
+
store.setStep("agents");
|
|
270
|
+
},
|
|
264
271
|
onBack: store.goBack
|
|
265
272
|
}
|
|
266
273
|
);
|
|
267
274
|
}
|
|
275
|
+
case "agents":
|
|
276
|
+
return /* @__PURE__ */ jsx(StepAgents, {});
|
|
268
277
|
case "confirm": {
|
|
269
278
|
const stackName = getStackName(store.selectedStackId, matrix);
|
|
270
279
|
const technologyCount = store.getTechnologyCount();
|
|
@@ -277,6 +286,7 @@ var Wizard = ({
|
|
|
277
286
|
domainSelections: store.domainSelections,
|
|
278
287
|
technologyCount,
|
|
279
288
|
skillCount: technologyCount,
|
|
289
|
+
agentCount: store.selectedAgents.length,
|
|
280
290
|
installMode: store.installMode,
|
|
281
291
|
onBack: store.goBack
|
|
282
292
|
}
|
|
@@ -300,4 +310,4 @@ var Wizard = ({
|
|
|
300
310
|
export {
|
|
301
311
|
Wizard
|
|
302
312
|
};
|
|
303
|
-
//# sourceMappingURL=chunk-
|
|
313
|
+
//# sourceMappingURL=chunk-CYFU3ARY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/components/wizard/wizard.tsx","../src/cli/components/hooks/use-wizard-initialization.ts","../src/cli/components/hooks/use-build-step-props.ts"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Box, Text, useApp, useInput, useStdout } from \"ink\";\nimport { ThemeProvider } from \"@inkjs/ui\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport { cliTheme } from \"../themes/default.js\";\nimport { WizardLayout } from \"./wizard-layout.js\";\nimport { StepStack } from \"./step-stack.js\";\nimport { StepBuild } from \"./step-build.js\";\nimport { StepConfirm } from \"./step-confirm.js\";\nimport { StepSources } from \"./step-sources.js\";\nimport { StepSettings } from \"./step-settings.js\";\nimport { StepAgents } from \"./step-agents.js\";\nimport { resolveAlias, validateSelection } from \"../../lib/matrix/index.js\";\nimport type {\n AgentName,\n DomainSelections,\n MergedSkillsMatrix,\n SkillId,\n} from \"../../types/index.js\";\nimport { getStackName } from \"./utils.js\";\nimport { warn } from \"../../utils/logger.js\";\nimport { useWizardInitialization } from \"../hooks/use-wizard-initialization.js\";\nimport { useBuildStepProps } from \"../hooks/use-build-step-props.js\";\n\nexport type WizardResultV2 = {\n selectedSkills: SkillId[];\n selectedAgents: AgentName[];\n selectedStackId: string | null;\n domainSelections: DomainSelections;\n sourceSelections: Partial<Record<SkillId, string>>;\n expertMode: boolean;\n installMode: \"plugin\" | \"local\";\n cancelled: boolean;\n validation: {\n valid: boolean;\n errors: Array<{ message: string }>;\n warnings: Array<{ message: string }>;\n };\n};\n\ntype WizardProps = {\n matrix: MergedSkillsMatrix;\n onComplete: (result: WizardResultV2) => void;\n onCancel: () => void;\n version?: string;\n marketplaceLabel?: string;\n logo?: string;\n initialStep?: WizardStep;\n initialInstallMode?: \"plugin\" | \"local\";\n initialExpertMode?: boolean;\n installedSkillIds?: SkillId[];\n projectDir?: string;\n};\n\nconst MIN_TERMINAL_WIDTH = 80;\nconst MIN_TERMINAL_HEIGHT = 15;\n\nexport const Wizard: React.FC<WizardProps> = ({\n matrix,\n onComplete,\n onCancel,\n version,\n marketplaceLabel,\n logo,\n initialStep,\n initialInstallMode,\n initialExpertMode,\n installedSkillIds,\n projectDir,\n}) => {\n const store = useWizardStore();\n const { exit } = useApp();\n const { stdout } = useStdout();\n\n const terminalWidth = stdout.columns || MIN_TERMINAL_WIDTH;\n const terminalHeight = stdout.rows || MIN_TERMINAL_HEIGHT;\n const isNarrowTerminal = terminalWidth < MIN_TERMINAL_WIDTH;\n const isShortTerminal = terminalHeight < MIN_TERMINAL_HEIGHT;\n\n useWizardInitialization({\n matrix,\n initialStep,\n initialInstallMode,\n initialExpertMode,\n installedSkillIds,\n });\n\n const buildStepProps = useBuildStepProps({ store, matrix, installedSkillIds });\n\n useInput((input, key) => {\n // ESC is handled by step-settings.tsx's own useKeyboardNavigation hook\n if (store.showSettings) {\n if (input === \"g\" || input === \"G\") {\n store.toggleSettings();\n }\n return;\n }\n\n if (store.showHelp) {\n if (key.escape || input === \"?\") {\n store.toggleHelp();\n }\n return;\n }\n\n if (input === \"?\") {\n store.toggleHelp();\n return;\n }\n\n if (key.escape) {\n // At the initial stack/scratch selection (approach not yet set), ESC cancels the wizard.\n // StackSelection handles its own ESC via the onCancel prop.\n // Other steps that don't have their own escape handler use goBack.\n if (\n store.step !== \"build\" &&\n store.step !== \"confirm\" &&\n store.step !== \"sources\" &&\n store.step !== \"agents\" &&\n store.step !== \"stack\"\n ) {\n store.goBack();\n }\n return;\n }\n\n if ((input === \"a\" || input === \"A\") && store.step === \"build\" && store.selectedStackId) {\n store.setStackAction(\"defaults\");\n store.setStep(\"confirm\");\n return;\n }\n\n if ((input === \"g\" || input === \"G\") && store.step === \"sources\") {\n store.toggleSettings();\n return;\n }\n\n if (input === \"e\" || input === \"E\") {\n store.toggleExpertMode();\n return;\n }\n if (input === \"p\" || input === \"P\") {\n store.toggleInstallMode();\n }\n });\n\n const handleComplete = useCallback(() => {\n let allSkills: SkillId[];\n\n if (store.selectedStackId && store.stackAction === \"defaults\") {\n const stack = matrix.suggestedStacks.find((s) => s.id === store.selectedStackId);\n if (!stack) {\n warn(`Stack not found in matrix: '${store.selectedStackId}'`);\n }\n allSkills = [...(stack?.allSkillIds || [])];\n } else {\n const techNames = store.getAllSelectedTechnologies();\n allSkills = techNames.map((tech) => {\n const resolved = resolveAlias(tech, matrix);\n if (!matrix.skills[resolved]) {\n warn(\n `Technology '${tech}' could not be resolved to a skill ID - it may be missing from skill_aliases`,\n );\n }\n return resolved;\n });\n }\n\n const methodologySkills = store.getDefaultMethodologySkills();\n for (const skill of methodologySkills) {\n if (!allSkills.includes(skill)) {\n allSkills.push(skill);\n }\n }\n\n const validation = validateSelection(allSkills, matrix);\n\n const result: WizardResultV2 = {\n selectedSkills: allSkills,\n selectedAgents: store.selectedAgents,\n selectedStackId: store.selectedStackId,\n domainSelections: store.domainSelections,\n sourceSelections: store.sourceSelections,\n expertMode: store.expertMode,\n installMode: store.installMode,\n cancelled: false,\n validation,\n };\n\n onComplete(result);\n exit();\n }, [store, matrix, onComplete, exit]);\n\n const handleCancel = useCallback(() => {\n onCancel();\n exit();\n }, [onCancel, exit]);\n\n const renderStep = () => {\n switch (store.step) {\n case \"stack\":\n return <StepStack matrix={matrix} onCancel={handleCancel} />;\n\n case \"build\":\n return <StepBuild {...buildStepProps} />;\n\n case \"sources\": {\n if (store.showSettings) {\n return (\n <StepSettings\n projectDir={projectDir || process.cwd()}\n onClose={() => store.toggleSettings()}\n />\n );\n }\n return (\n <StepSources\n matrix={matrix}\n projectDir={projectDir}\n onContinue={() => {\n store.preselectAgentsFromSkills();\n store.setStep(\"agents\");\n }}\n onBack={store.goBack}\n />\n );\n }\n\n case \"agents\":\n return <StepAgents />;\n\n case \"confirm\": {\n const stackName = getStackName(store.selectedStackId, matrix);\n const technologyCount = store.getTechnologyCount();\n return (\n <StepConfirm\n onComplete={handleComplete}\n stackName={stackName}\n selectedDomains={store.selectedDomains}\n domainSelections={store.domainSelections}\n technologyCount={technologyCount}\n skillCount={technologyCount}\n agentCount={store.selectedAgents.length}\n installMode={store.installMode}\n onBack={store.goBack}\n />\n );\n }\n\n default:\n return null;\n }\n };\n\n if (isNarrowTerminal || isShortTerminal) {\n const issue = isNarrowTerminal\n ? `too narrow (${terminalWidth} columns, need ${MIN_TERMINAL_WIDTH})`\n : `too short (${terminalHeight} rows, need ${MIN_TERMINAL_HEIGHT})`;\n\n return (\n <ThemeProvider theme={cliTheme}>\n <Box flexDirection=\"column\" padding={1}>\n <Text color={CLI_COLORS.WARNING}>Terminal {issue}. Please resize your terminal.</Text>\n </Box>\n </ThemeProvider>\n );\n }\n\n return (\n <ThemeProvider theme={cliTheme}>\n <WizardLayout version={version} marketplaceLabel={marketplaceLabel} logo={logo}>\n {renderStep()}\n </WizardLayout>\n </ThemeProvider>\n );\n};\n","import { useRef } from \"react\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport type { MergedSkillsMatrix, SkillId } from \"../../types/index.js\";\n\ntype UseWizardInitializationOptions = {\n matrix: MergedSkillsMatrix;\n initialStep?: WizardStep;\n initialInstallMode?: \"plugin\" | \"local\";\n initialExpertMode?: boolean;\n installedSkillIds?: SkillId[];\n};\n\n/**\n * Runs one-time wizard store initialization before the first render.\n * Populates step, approach, install mode, and skill selections from props.\n */\nexport function useWizardInitialization({\n matrix,\n initialStep,\n initialInstallMode,\n initialExpertMode,\n installedSkillIds,\n}: UseWizardInitializationOptions): void {\n const initialized = useRef(false);\n\n if (!initialized.current) {\n initialized.current = true;\n\n if (initialStep) {\n if (installedSkillIds?.length) {\n useWizardStore\n .getState()\n .populateFromSkillIds(installedSkillIds, matrix.skills, matrix.categories);\n }\n useWizardStore.setState({ step: initialStep, approach: \"scratch\" });\n }\n if (initialInstallMode) {\n useWizardStore.setState({ installMode: initialInstallMode });\n }\n if (initialExpertMode) {\n useWizardStore.setState({ expertMode: initialExpertMode });\n }\n }\n}\n","import { useCallback } from \"react\";\nimport type { Domain, MergedSkillsMatrix, SkillId } from \"../../types/index.js\";\nimport type { WizardState } from \"../../stores/wizard-store.js\";\nimport type { StepBuildProps } from \"../wizard/step-build.js\";\n\ntype UseBuildStepPropsOptions = {\n store: WizardState;\n matrix: MergedSkillsMatrix;\n installedSkillIds?: SkillId[];\n};\n\nexport function useBuildStepProps({\n store,\n matrix,\n installedSkillIds,\n}: UseBuildStepPropsOptions): StepBuildProps {\n const currentDomain = store.getCurrentDomain();\n const defaultDomains: Domain[] = [\"web\"];\n const effectiveDomains =\n store.selectedDomains.length > 0 ? store.selectedDomains : defaultDomains;\n\n const allSelections = store.getAllSelectedTechnologies();\n\n const activeDomain: Domain = currentDomain || effectiveDomains[0] || \"web\";\n const parentDomainSelections = store.getParentDomainSelections(activeDomain, matrix);\n\n const onToggle = useCallback(\n (subcategoryId: Parameters<StepBuildProps[\"onToggle\"]>[0], techId: SkillId) => {\n const domain: Domain = store.getCurrentDomain() || \"web\";\n const cat = matrix.categories[subcategoryId];\n store.toggleTechnology(domain, subcategoryId, techId, cat?.exclusive ?? true);\n },\n [store, matrix],\n );\n\n const onContinue = useCallback(() => {\n if (!store.nextDomain()) {\n store.setStep(\"sources\");\n }\n }, [store]);\n\n const onBack = useCallback(() => {\n if (!store.prevDomain()) {\n store.goBack();\n }\n }, [store]);\n\n return {\n matrix,\n domain: activeDomain,\n selectedDomains: effectiveDomains,\n selections: store.domainSelections[activeDomain] || {},\n allSelections,\n showLabels: store.showLabels,\n expertMode: store.expertMode,\n parentDomainSelections,\n installedSkillIds,\n onToggle,\n onToggleLabels: store.toggleShowLabels,\n onContinue,\n onBack,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAgB,eAAAA,oBAAmB;AACnC,SAAS,KAAK,MAAM,QAAQ,UAAU,iBAAiB;AACvD,SAAS,qBAAqB;;;ACF9B;AAAA,SAAS,cAAc;AAgBhB,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAyC;AACvC,QAAM,cAAc,OAAO,KAAK;AAEhC,MAAI,CAAC,YAAY,SAAS;AACxB,gBAAY,UAAU;AAEtB,QAAI,aAAa;AACf,UAAI,mBAAmB,QAAQ;AAC7B,uBACG,SAAS,EACT,qBAAqB,mBAAmB,OAAO,QAAQ,OAAO,UAAU;AAAA,MAC7E;AACA,qBAAe,SAAS,EAAE,MAAM,aAAa,UAAU,UAAU,CAAC;AAAA,IACpE;AACA,QAAI,oBAAoB;AACtB,qBAAe,SAAS,EAAE,aAAa,mBAAmB,CAAC;AAAA,IAC7D;AACA,QAAI,mBAAmB;AACrB,qBAAe,SAAS,EAAE,YAAY,kBAAkB,CAAC;AAAA,IAC3D;AAAA,EACF;AACF;;;AC3CA;AAAA,SAAS,mBAAmB;AAWrB,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAA6C;AAC3C,QAAM,gBAAgB,MAAM,iBAAiB;AAC7C,QAAM,iBAA2B,CAAC,KAAK;AACvC,QAAM,mBACJ,MAAM,gBAAgB,SAAS,IAAI,MAAM,kBAAkB;AAE7D,QAAM,gBAAgB,MAAM,2BAA2B;AAEvD,QAAM,eAAuB,iBAAiB,iBAAiB,CAAC,KAAK;AACrE,QAAM,yBAAyB,MAAM,0BAA0B,cAAc,MAAM;AAEnF,QAAM,WAAW;AAAA,IACf,CAAC,eAA0D,WAAoB;AAC7E,YAAM,SAAiB,MAAM,iBAAiB,KAAK;AACnD,YAAM,MAAM,OAAO,WAAW,aAAa;AAC3C,YAAM,iBAAiB,QAAQ,eAAe,QAAQ,KAAK,aAAa,IAAI;AAAA,IAC9E;AAAA,IACA,CAAC,OAAO,MAAM;AAAA,EAChB;AAEA,QAAM,aAAa,YAAY,MAAM;AACnC,QAAI,CAAC,MAAM,WAAW,GAAG;AACvB,YAAM,QAAQ,SAAS;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,SAAS,YAAY,MAAM;AAC/B,QAAI,CAAC,MAAM,WAAW,GAAG;AACvB,YAAM,OAAO;AAAA,IACf;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,YAAY,MAAM,iBAAiB,YAAY,KAAK,CAAC;AAAA,IACrD;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,YAAY,MAAM;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB,MAAM;AAAA,IACtB;AAAA,IACA;AAAA,EACF;AACF;;;AF4Ie,cA6DL,YA7DK;AAnJf,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAErB,IAAM,SAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,QAAQ,eAAe;AAC7B,QAAM,EAAE,KAAK,IAAI,OAAO;AACxB,QAAM,EAAE,OAAO,IAAI,UAAU;AAE7B,QAAM,gBAAgB,OAAO,WAAW;AACxC,QAAM,iBAAiB,OAAO,QAAQ;AACtC,QAAM,mBAAmB,gBAAgB;AACzC,QAAM,kBAAkB,iBAAiB;AAEzC,0BAAwB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,iBAAiB,kBAAkB,EAAE,OAAO,QAAQ,kBAAkB,CAAC;AAE7E,WAAS,CAAC,OAAO,QAAQ;AAEvB,QAAI,MAAM,cAAc;AACtB,UAAI,UAAU,OAAO,UAAU,KAAK;AAClC,cAAM,eAAe;AAAA,MACvB;AACA;AAAA,IACF;AAEA,QAAI,MAAM,UAAU;AAClB,UAAI,IAAI,UAAU,UAAU,KAAK;AAC/B,cAAM,WAAW;AAAA,MACnB;AACA;AAAA,IACF;AAEA,QAAI,UAAU,KAAK;AACjB,YAAM,WAAW;AACjB;AAAA,IACF;AAEA,QAAI,IAAI,QAAQ;AAId,UACE,MAAM,SAAS,WACf,MAAM,SAAS,aACf,MAAM,SAAS,aACf,MAAM,SAAS,YACf,MAAM,SAAS,SACf;AACA,cAAM,OAAO;AAAA,MACf;AACA;AAAA,IACF;AAEA,SAAK,UAAU,OAAO,UAAU,QAAQ,MAAM,SAAS,WAAW,MAAM,iBAAiB;AACvF,YAAM,eAAe,UAAU;AAC/B,YAAM,QAAQ,SAAS;AACvB;AAAA,IACF;AAEA,SAAK,UAAU,OAAO,UAAU,QAAQ,MAAM,SAAS,WAAW;AAChE,YAAM,eAAe;AACrB;AAAA,IACF;AAEA,QAAI,UAAU,OAAO,UAAU,KAAK;AAClC,YAAM,iBAAiB;AACvB;AAAA,IACF;AACA,QAAI,UAAU,OAAO,UAAU,KAAK;AAClC,YAAM,kBAAkB;AAAA,IAC1B;AAAA,EACF,CAAC;AAED,QAAM,iBAAiBC,aAAY,MAAM;AACvC,QAAI;AAEJ,QAAI,MAAM,mBAAmB,MAAM,gBAAgB,YAAY;AAC7D,YAAM,QAAQ,OAAO,gBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,MAAM,eAAe;AAC/E,UAAI,CAAC,OAAO;AACV,aAAK,+BAA+B,MAAM,eAAe,GAAG;AAAA,MAC9D;AACA,kBAAY,CAAC,GAAI,OAAO,eAAe,CAAC,CAAE;AAAA,IAC5C,OAAO;AACL,YAAM,YAAY,MAAM,2BAA2B;AACnD,kBAAY,UAAU,IAAI,CAAC,SAAS;AAClC,cAAM,WAAW,aAAa,MAAM,MAAM;AAC1C,YAAI,CAAC,OAAO,OAAO,QAAQ,GAAG;AAC5B;AAAA,YACE,eAAe,IAAI;AAAA,UACrB;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,UAAM,oBAAoB,MAAM,4BAA4B;AAC5D,eAAW,SAAS,mBAAmB;AACrC,UAAI,CAAC,UAAU,SAAS,KAAK,GAAG;AAC9B,kBAAU,KAAK,KAAK;AAAA,MACtB;AAAA,IACF;AAEA,UAAM,aAAa,kBAAkB,WAAW,MAAM;AAEtD,UAAM,SAAyB;AAAA,MAC7B,gBAAgB;AAAA,MAChB,gBAAgB,MAAM;AAAA,MACtB,iBAAiB,MAAM;AAAA,MACvB,kBAAkB,MAAM;AAAA,MACxB,kBAAkB,MAAM;AAAA,MACxB,YAAY,MAAM;AAAA,MAClB,aAAa,MAAM;AAAA,MACnB,WAAW;AAAA,MACX;AAAA,IACF;AAEA,eAAW,MAAM;AACjB,SAAK;AAAA,EACP,GAAG,CAAC,OAAO,QAAQ,YAAY,IAAI,CAAC;AAEpC,QAAM,eAAeA,aAAY,MAAM;AACrC,aAAS;AACT,SAAK;AAAA,EACP,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,QAAM,aAAa,MAAM;AACvB,YAAQ,MAAM,MAAM;AAAA,MAClB,KAAK;AACH,eAAO,oBAAC,aAAU,QAAgB,UAAU,cAAc;AAAA,MAE5D,KAAK;AACH,eAAO,oBAAC,aAAW,GAAG,gBAAgB;AAAA,MAExC,KAAK,WAAW;AACd,YAAI,MAAM,cAAc;AACtB,iBACE;AAAA,YAAC;AAAA;AAAA,cACC,YAAY,cAAc,QAAQ,IAAI;AAAA,cACtC,SAAS,MAAM,MAAM,eAAe;AAAA;AAAA,UACtC;AAAA,QAEJ;AACA,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA,YAAY,MAAM;AAChB,oBAAM,0BAA0B;AAChC,oBAAM,QAAQ,QAAQ;AAAA,YACxB;AAAA,YACA,QAAQ,MAAM;AAAA;AAAA,QAChB;AAAA,MAEJ;AAAA,MAEA,KAAK;AACH,eAAO,oBAAC,cAAW;AAAA,MAErB,KAAK,WAAW;AACd,cAAM,YAAY,aAAa,MAAM,iBAAiB,MAAM;AAC5D,cAAM,kBAAkB,MAAM,mBAAmB;AACjD,eACE;AAAA,UAAC;AAAA;AAAA,YACC,YAAY;AAAA,YACZ;AAAA,YACA,iBAAiB,MAAM;AAAA,YACvB,kBAAkB,MAAM;AAAA,YACxB;AAAA,YACA,YAAY;AAAA,YACZ,YAAY,MAAM,eAAe;AAAA,YACjC,aAAa,MAAM;AAAA,YACnB,QAAQ,MAAM;AAAA;AAAA,QAChB;AAAA,MAEJ;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,MAAI,oBAAoB,iBAAiB;AACvC,UAAM,QAAQ,mBACV,eAAe,aAAa,kBAAkB,kBAAkB,MAChE,cAAc,cAAc,eAAe,mBAAmB;AAElE,WACE,oBAAC,iBAAc,OAAO,UACpB,8BAAC,OAAI,eAAc,UAAS,SAAS,GACnC,+BAAC,QAAK,OAAO,WAAW,SAAS;AAAA;AAAA,MAAU;AAAA,MAAM;AAAA,OAA8B,GACjF,GACF;AAAA,EAEJ;AAEA,SACE,oBAAC,iBAAc,OAAO,UACpB,8BAAC,gBAAa,SAAkB,kBAAoC,MACjE,qBAAW,GACd,GACF;AAEJ;","names":["useCallback","useCallback"]}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
SourceGrid
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EISBUEBL.js";
|
|
5
5
|
import {
|
|
6
6
|
useMeasuredHeight
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-K77I4XGL.js";
|
|
8
8
|
import {
|
|
9
9
|
ViewTitle
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2XX4TMCI.js";
|
|
11
11
|
import {
|
|
12
12
|
useWizardStore
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HRMQ2RGY.js";
|
|
14
14
|
import {
|
|
15
15
|
resolveAllSources,
|
|
16
16
|
searchExtraSources
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-U5OB5ADP.js";
|
|
18
18
|
import {
|
|
19
19
|
CLI_COLORS,
|
|
20
20
|
DEFAULT_BRANDING
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
22
22
|
import {
|
|
23
23
|
init_esm_shims
|
|
24
24
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -191,4 +191,4 @@ var StepSources = ({
|
|
|
191
191
|
export {
|
|
192
192
|
StepSources
|
|
193
193
|
};
|
|
194
|
-
//# sourceMappingURL=chunk-
|
|
194
|
+
//# sourceMappingURL=chunk-DUQFF45G.js.map
|
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
import {
|
|
3
3
|
useModalState
|
|
4
4
|
} from "./chunk-7SOPVGDV.js";
|
|
5
|
-
import {
|
|
6
|
-
useFocusedListItem
|
|
7
|
-
} from "./chunk-DC5AK3LW.js";
|
|
8
5
|
import {
|
|
9
6
|
SearchModal
|
|
10
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3NQJOJZL.js";
|
|
8
|
+
import {
|
|
9
|
+
useFocusedListItem
|
|
10
|
+
} from "./chunk-GG4BSB6S.js";
|
|
11
11
|
import {
|
|
12
12
|
CLI_COLORS,
|
|
13
|
-
SCROLL_VIEWPORT
|
|
14
|
-
|
|
15
|
-
} from "./chunk-YCS7GF6Y.js";
|
|
13
|
+
SCROLL_VIEWPORT
|
|
14
|
+
} from "./chunk-ZBJQXDQN.js";
|
|
16
15
|
import {
|
|
17
16
|
init_esm_shims
|
|
18
17
|
} from "./chunk-DHET7RCE.js";
|
|
@@ -88,18 +87,28 @@ var SourceTag = ({
|
|
|
88
87
|
option,
|
|
89
88
|
isFocused
|
|
90
89
|
}) => {
|
|
91
|
-
const
|
|
92
|
-
|
|
90
|
+
const getBorderColor = () => {
|
|
91
|
+
if (isFocused) {
|
|
92
|
+
return option.selected ? CLI_COLORS.PRIMARY : CLI_COLORS.UNFOCUSED;
|
|
93
|
+
}
|
|
94
|
+
return CLI_COLORS.NEUTRAL;
|
|
95
|
+
};
|
|
96
|
+
const textColor = option.selected ? CLI_COLORS.PRIMARY : CLI_COLORS.NEUTRAL;
|
|
93
97
|
const isBold = isFocused || option.selected;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
return /* @__PURE__ */ jsx(
|
|
99
|
+
Box,
|
|
100
|
+
{
|
|
101
|
+
marginRight: 1,
|
|
102
|
+
borderColor: getBorderColor(),
|
|
103
|
+
borderStyle: "single",
|
|
104
|
+
borderDimColor: !isFocused,
|
|
105
|
+
children: /* @__PURE__ */ jsxs(Text, { color: textColor, bold: isBold, dimColor: false, children: [
|
|
106
|
+
" ",
|
|
107
|
+
option.label,
|
|
108
|
+
" "
|
|
109
|
+
] })
|
|
110
|
+
}
|
|
111
|
+
);
|
|
103
112
|
};
|
|
104
113
|
var SourceSection = ({
|
|
105
114
|
row,
|
|
@@ -257,13 +266,13 @@ var SourceGrid = ({
|
|
|
257
266
|
}
|
|
258
267
|
);
|
|
259
268
|
if (!scrollEnabled) {
|
|
260
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", flexGrow: 1,
|
|
261
|
-
sectionElements,
|
|
269
|
+
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [
|
|
270
|
+
/* @__PURE__ */ jsx(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: sectionElements }),
|
|
262
271
|
searchModalElement
|
|
263
272
|
] });
|
|
264
273
|
}
|
|
265
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", height: availableHeight,
|
|
266
|
-
/* @__PURE__ */ jsx(Box, { flexDirection: "column", marginTop: scrollTopPx > 0 ? -scrollTopPx : 0, flexShrink: 0, children: sectionElements }),
|
|
274
|
+
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", height: availableHeight, children: [
|
|
275
|
+
/* @__PURE__ */ jsx(Box, { flexDirection: "column", overflow: "hidden", flexGrow: 1, children: /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginTop: scrollTopPx > 0 ? -scrollTopPx : 0, flexShrink: 0, children: sectionElements }) }),
|
|
267
276
|
searchModalElement
|
|
268
277
|
] });
|
|
269
278
|
};
|
|
@@ -271,4 +280,4 @@ var SourceGrid = ({
|
|
|
271
280
|
export {
|
|
272
281
|
SourceGrid
|
|
273
282
|
};
|
|
274
|
-
//# sourceMappingURL=chunk-
|
|
283
|
+
//# sourceMappingURL=chunk-EISBUEBL.js.map
|