@agents-inc/cli 0.81.0 → 0.82.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 +17 -0
- package/dist/{chunk-3C6AXGR7.js → chunk-2E25UBLM.js} +13 -13
- package/dist/chunk-2E25UBLM.js.map +1 -0
- package/dist/{chunk-RJOJUSU4.js → chunk-2GI4NKKO.js} +5 -5
- package/dist/{chunk-633YIZOU.js → chunk-32HQMUEJ.js} +3 -3
- package/dist/{chunk-SQ7WINEU.js → chunk-4QA5TIBU.js} +3 -3
- package/dist/{chunk-FMYAYX6W.js → chunk-6PGL2XMY.js} +11 -2
- package/dist/{chunk-FMYAYX6W.js.map → chunk-6PGL2XMY.js.map} +1 -1
- package/dist/{chunk-K63OEZW7.js → chunk-6XEZLWG5.js} +2 -2
- package/dist/{chunk-A4R2AHH3.js → chunk-A5MK4XJB.js} +6 -6
- package/dist/{chunk-RXQNQXTF.js → chunk-AW7LLMZZ.js} +4 -4
- package/dist/{chunk-M76LNKMY.js → chunk-B7KZLXHV.js} +2 -2
- package/dist/{chunk-NJ2RJLRS.js → chunk-BFLAAMMA.js} +274 -231
- package/dist/chunk-BFLAAMMA.js.map +1 -0
- package/dist/{chunk-C7RO4MAX.js → chunk-DWIB547V.js} +6 -6
- package/dist/{chunk-STPYV6V3.js → chunk-EB5E7IKL.js} +9 -9
- package/dist/{chunk-PZERKWE2.js → chunk-FQTYF3OU.js} +2 -2
- package/dist/{chunk-MG55NDVG.js → chunk-FT46LN7K.js} +3 -3
- package/dist/{chunk-3REKTRAN.js → chunk-HEQVUIHQ.js} +2 -2
- package/dist/{chunk-RU5XLS5Q.js → chunk-HSKKGAOW.js} +3 -3
- package/dist/{chunk-GLUVHKBJ.js → chunk-HWDEPKIR.js} +7 -8
- package/dist/chunk-HWDEPKIR.js.map +1 -0
- package/dist/{chunk-EJ25JDI2.js → chunk-J3ZWLR5Z.js} +6 -6
- package/dist/{chunk-FWGRGNB5.js → chunk-JQNN2SVG.js} +5 -5
- package/dist/{chunk-HZ67BGPS.js → chunk-K2RQU5HR.js} +2 -2
- package/dist/{chunk-H3NQGJMB.js → chunk-L7SKXTUO.js} +3 -3
- package/dist/{chunk-KSWD7FSM.js → chunk-LKDQLCS3.js} +5 -5
- package/dist/{chunk-EYFBODHL.js → chunk-MC5PUGEL.js} +2 -2
- package/dist/{chunk-JOJQ4E6M.js → chunk-MPTXU4VS.js} +19 -19
- package/dist/chunk-MPTXU4VS.js.map +1 -0
- package/dist/{chunk-AGEKXFYP.js → chunk-PY7C6CUI.js} +6 -6
- package/dist/{chunk-WZGROC5L.js → chunk-RLKRDDJD.js} +4 -4
- package/dist/{chunk-A5JSBU65.js → chunk-SB2R5KHJ.js} +3 -3
- package/dist/{chunk-NZAJTLEK.js → chunk-SOEIE4VA.js} +3 -3
- package/dist/{chunk-C22ACAL2.js → chunk-SXGCCUTH.js} +2 -2
- package/dist/{chunk-LVBRC2CP.js → chunk-TEA5KBIA.js} +2 -2
- package/dist/{chunk-MNJAF4K2.js → chunk-TJ62CLXB.js} +5 -5
- package/dist/{chunk-IDII4V66.js → chunk-UXIZK65O.js} +15 -15
- package/dist/{chunk-4R72372U.js → chunk-W642FYQJ.js} +3 -3
- package/dist/{chunk-4R72372U.js.map → chunk-W642FYQJ.js.map} +1 -1
- package/dist/{chunk-FFMWFEUH.js → chunk-WJXWYSBT.js} +2 -2
- package/dist/{chunk-3SCIYMRK.js → chunk-WO433W2G.js} +7 -4
- package/dist/chunk-WO433W2G.js.map +1 -0
- package/dist/{chunk-6SEOOFMV.js → chunk-WVLBGBRU.js} +5 -5
- package/dist/{chunk-BN73X3JN.js → chunk-WYHFSJ7O.js} +12 -6
- package/dist/chunk-WYHFSJ7O.js.map +1 -0
- package/dist/{chunk-A7KWEOOC.js → chunk-WYODBBUA.js} +8 -5
- package/dist/chunk-WYODBBUA.js.map +1 -0
- package/dist/{chunk-TQ363UUH.js → chunk-X2HE3W74.js} +2 -2
- package/dist/{chunk-4R6I6A3U.js → chunk-XNHMUPIJ.js} +1323 -1268
- package/dist/chunk-XNHMUPIJ.js.map +1 -0
- package/dist/{chunk-MLXAZODL.js → chunk-XO6X5QE5.js} +2 -2
- package/dist/{chunk-TZY7WNWO.js → chunk-XTVWVOLD.js} +3 -3
- package/dist/{chunk-LO4X32JC.js → chunk-Y7GAKUM7.js} +20 -20
- package/dist/chunk-Y7GAKUM7.js.map +1 -0
- package/dist/chunk-YVFGISUO.js +171 -0
- package/dist/chunk-YVFGISUO.js.map +1 -0
- package/dist/commands/build/marketplace.js +5 -5
- package/dist/commands/build/plugins.js +9 -9
- package/dist/commands/build/stack.js +9 -9
- package/dist/commands/compile.js +10 -10
- package/dist/commands/config/index.js +9 -9
- package/dist/commands/config/path.js +8 -8
- package/dist/commands/config/show.js +9 -9
- package/dist/commands/diff.js +8 -8
- package/dist/commands/doctor.js +8 -8
- package/dist/commands/edit.js +34 -34
- package/dist/commands/eject.js +8 -8
- package/dist/commands/import/skill.js +9 -9
- package/dist/commands/info.js +9 -9
- package/dist/commands/init.js +34 -34
- package/dist/commands/list.js +8 -8
- package/dist/commands/new/agent.js +9 -9
- package/dist/commands/new/marketplace.js +10 -10
- package/dist/commands/new/skill.js +9 -9
- package/dist/commands/outdated.js +8 -8
- package/dist/commands/search.js +11 -11
- package/dist/commands/uninstall.js +9 -9
- package/dist/commands/update.js +10 -10
- package/dist/commands/validate.js +9 -9
- package/dist/components/common/select-list.js +2 -2
- package/dist/components/skill-search/skill-search.js +3 -3
- package/dist/components/wizard/category-grid.js +4 -4
- package/dist/components/wizard/category-grid.test.js +13 -13
- package/dist/components/wizard/checkbox-grid.js +4 -4
- package/dist/components/wizard/checkbox-grid.test.js +4 -4
- package/dist/components/wizard/domain-selection.js +13 -13
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +1 -1
- package/dist/components/wizard/search-modal.js +3 -3
- package/dist/components/wizard/search-modal.test.js +3 -3
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/selection-card.js +2 -2
- package/dist/components/wizard/source-grid.js +6 -6
- package/dist/components/wizard/source-grid.test.js +15 -15
- package/dist/components/wizard/stack-selection.js +11 -11
- package/dist/components/wizard/stats-panel.js +2 -2
- package/dist/components/wizard/step-agents.js +12 -12
- package/dist/components/wizard/step-agents.test.js +15 -15
- package/dist/components/wizard/step-build.js +12 -12
- package/dist/components/wizard/step-build.test.js +15 -15
- package/dist/components/wizard/step-confirm.js +5 -5
- package/dist/components/wizard/step-confirm.test.js +11 -11
- 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 +10 -10
- package/dist/components/wizard/step-settings.test.js +13 -13
- package/dist/components/wizard/step-sources.js +14 -14
- package/dist/components/wizard/step-sources.test.js +17 -17
- package/dist/components/wizard/step-stack.js +12 -12
- package/dist/components/wizard/step-stack.test.js +13 -13
- package/dist/components/wizard/wizard-layout.js +12 -12
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +2 -2
- package/dist/components/wizard/wizard.js +31 -31
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +34 -34
- package/dist/{loader-LI3EM4VG.js → loader-4XPDVCZK.js} +5 -5
- package/dist/{source-loader-6Z353WKU.js → source-loader-V5MKKNZF.js} +8 -8
- package/dist/source-manager-S64CYXPA.js +19 -0
- package/dist/src/agents/meta/agent-summoner/workflow.md +2 -2
- package/dist/src/agents/meta/skill-summoner/critical-reminders.md +1 -1
- package/dist/src/agents/meta/skill-summoner/examples.md +14 -16
- package/dist/src/agents/meta/skill-summoner/intro.md +1 -1
- package/dist/src/agents/meta/skill-summoner/output-format.md +9 -13
- package/dist/src/agents/meta/skill-summoner/workflow.md +20 -1
- package/dist/stores/wizard-store.js +8 -8
- package/dist/stores/wizard-store.test.js +36 -36
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/meta/agent-summoner/workflow.md +2 -2
- package/src/agents/meta/skill-summoner/critical-reminders.md +1 -1
- package/src/agents/meta/skill-summoner/examples.md +14 -16
- package/src/agents/meta/skill-summoner/intro.md +1 -1
- package/src/agents/meta/skill-summoner/output-format.md +9 -13
- package/src/agents/meta/skill-summoner/workflow.md +20 -1
- package/src/schemas/metadata.schema.json +21 -4
- package/src/schemas/project-config.schema.json +48 -35
- package/dist/chunk-3C6AXGR7.js.map +0 -1
- package/dist/chunk-3SCIYMRK.js.map +0 -1
- package/dist/chunk-4R6I6A3U.js.map +0 -1
- package/dist/chunk-A7KWEOOC.js.map +0 -1
- package/dist/chunk-BN73X3JN.js.map +0 -1
- package/dist/chunk-GLUVHKBJ.js.map +0 -1
- package/dist/chunk-JOJQ4E6M.js.map +0 -1
- package/dist/chunk-LO4X32JC.js.map +0 -1
- package/dist/chunk-NJ2RJLRS.js.map +0 -1
- package/dist/chunk-TJXBRYM4.js +0 -159
- package/dist/chunk-TJXBRYM4.js.map +0 -1
- package/dist/source-manager-IZYZR4SK.js +0 -19
- /package/dist/{chunk-RJOJUSU4.js.map → chunk-2GI4NKKO.js.map} +0 -0
- /package/dist/{chunk-633YIZOU.js.map → chunk-32HQMUEJ.js.map} +0 -0
- /package/dist/{chunk-SQ7WINEU.js.map → chunk-4QA5TIBU.js.map} +0 -0
- /package/dist/{chunk-K63OEZW7.js.map → chunk-6XEZLWG5.js.map} +0 -0
- /package/dist/{chunk-A4R2AHH3.js.map → chunk-A5MK4XJB.js.map} +0 -0
- /package/dist/{chunk-RXQNQXTF.js.map → chunk-AW7LLMZZ.js.map} +0 -0
- /package/dist/{chunk-M76LNKMY.js.map → chunk-B7KZLXHV.js.map} +0 -0
- /package/dist/{chunk-C7RO4MAX.js.map → chunk-DWIB547V.js.map} +0 -0
- /package/dist/{chunk-STPYV6V3.js.map → chunk-EB5E7IKL.js.map} +0 -0
- /package/dist/{chunk-PZERKWE2.js.map → chunk-FQTYF3OU.js.map} +0 -0
- /package/dist/{chunk-MG55NDVG.js.map → chunk-FT46LN7K.js.map} +0 -0
- /package/dist/{chunk-3REKTRAN.js.map → chunk-HEQVUIHQ.js.map} +0 -0
- /package/dist/{chunk-RU5XLS5Q.js.map → chunk-HSKKGAOW.js.map} +0 -0
- /package/dist/{chunk-EJ25JDI2.js.map → chunk-J3ZWLR5Z.js.map} +0 -0
- /package/dist/{chunk-FWGRGNB5.js.map → chunk-JQNN2SVG.js.map} +0 -0
- /package/dist/{chunk-HZ67BGPS.js.map → chunk-K2RQU5HR.js.map} +0 -0
- /package/dist/{chunk-H3NQGJMB.js.map → chunk-L7SKXTUO.js.map} +0 -0
- /package/dist/{chunk-KSWD7FSM.js.map → chunk-LKDQLCS3.js.map} +0 -0
- /package/dist/{chunk-EYFBODHL.js.map → chunk-MC5PUGEL.js.map} +0 -0
- /package/dist/{chunk-AGEKXFYP.js.map → chunk-PY7C6CUI.js.map} +0 -0
- /package/dist/{chunk-WZGROC5L.js.map → chunk-RLKRDDJD.js.map} +0 -0
- /package/dist/{chunk-A5JSBU65.js.map → chunk-SB2R5KHJ.js.map} +0 -0
- /package/dist/{chunk-NZAJTLEK.js.map → chunk-SOEIE4VA.js.map} +0 -0
- /package/dist/{chunk-C22ACAL2.js.map → chunk-SXGCCUTH.js.map} +0 -0
- /package/dist/{chunk-LVBRC2CP.js.map → chunk-TEA5KBIA.js.map} +0 -0
- /package/dist/{chunk-MNJAF4K2.js.map → chunk-TJ62CLXB.js.map} +0 -0
- /package/dist/{chunk-IDII4V66.js.map → chunk-UXIZK65O.js.map} +0 -0
- /package/dist/{chunk-FFMWFEUH.js.map → chunk-WJXWYSBT.js.map} +0 -0
- /package/dist/{chunk-6SEOOFMV.js.map → chunk-WVLBGBRU.js.map} +0 -0
- /package/dist/{chunk-TQ363UUH.js.map → chunk-X2HE3W74.js.map} +0 -0
- /package/dist/{chunk-MLXAZODL.js.map → chunk-XO6X5QE5.js.map} +0 -0
- /package/dist/{chunk-TZY7WNWO.js.map → chunk-XTVWVOLD.js.map} +0 -0
- /package/dist/{loader-LI3EM4VG.js.map → loader-4XPDVCZK.js.map} +0 -0
- /package/dist/{source-loader-6Z353WKU.js.map → source-loader-V5MKKNZF.js.map} +0 -0
- /package/dist/{source-manager-IZYZR4SK.js.map → source-manager-S64CYXPA.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/components/wizard/domain-selection.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { unique } from \"remeda\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport type { Domain } from \"../../types/index.js\";\nimport { typedEntries } from \"../../utils/typed-object.js\";\nimport { CheckboxGrid, type CheckboxItem } from \"./checkbox-grid.js\";\nimport { getDomainDisplayName, orderDomains } from \"./utils.js\";\n\nconst BUILT_IN_DOMAIN_DESCRIPTIONS: Record<Domain, string> = {\n web: \"Frontend web applications\",\n api: \"Backend APIs and services\",\n cli: \"Command-line tools\",\n mobile: \"Mobile applications\",\n shared: \"Shared utilities and methodology\",\n};\n\nexport const DomainSelection: React.FC = () => {\n const { selectedDomains, toggleDomain, setStep, setApproach, selectStack, goBack } =\n useWizardStore();\n\n const availableDomains = useMemo((): CheckboxItem<Domain>[] => {\n const matrixDomains = unique(\n typedEntries(matrix.categories)\n .map(([, cat]) => cat?.domain)\n .filter((d): d is Domain => d != null),\n );\n\n const ordered = orderDomains(matrixDomains);\n\n return ordered.map((domain) => ({\n id: domain,\n label: getDomainDisplayName(domain),\n description: BUILT_IN_DOMAIN_DESCRIPTIONS[domain],\n }));\n }, [matrix]);\n\n const handleBack = () => {\n setApproach(null);\n selectStack(null);\n goBack();\n };\n\n return (\n <CheckboxGrid\n title=\"Select domains to configure\"\n items={availableDomains}\n selectedIds={selectedDomains}\n onToggle={toggleDomain}\n onContinue={() => setStep(\"build\")}\n onBack={handleBack}\n emptyMessage=\"Please select at least one domain\"\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAgB,eAAe;AAC/B,SAAS,cAAc;AA2CnB;AAnCJ,IAAM,+BAAuD;AAAA,EAC3D,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,IAAM,kBAA4B,MAAM;AAC7C,QAAM,EAAE,iBAAiB,cAAc,SAAS,aAAa,aAAa,OAAO,IAC/E,eAAe;AAEjB,QAAM,mBAAmB,QAAQ,MAA8B;AAC7D,UAAM,gBAAgB;AAAA,MACpB,aAAa,OAAO,UAAU,EAC3B,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,MAAM,EAC5B,OAAO,CAAC,MAAmB,KAAK,IAAI;AAAA,IACzC;AAEA,UAAM,UAAU,aAAa,aAAa;AAE1C,WAAO,QAAQ,IAAI,CAAC,YAAY;AAAA,MAC9B,IAAI;AAAA,MACJ,OAAO,qBAAqB,MAAM;AAAA,MAClC,aAAa,6BAA6B,MAAM;AAAA,IAClD,EAAE;AAAA,EACJ,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,aAAa,MAAM;AACvB,gBAAY,IAAI;AAChB,gBAAY,IAAI;AAChB,WAAO;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,YAAY,MAAM,QAAQ,OAAO;AAAA,MACjC,QAAQ;AAAA,MACR,cAAa;AAAA;AAAA,EACf;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/types/generated/source-types.ts"],"sourcesContent":["// AUTO-GENERATED from skills source and agent metadata — do not edit manually\n// Run: bun run generate:types\n\n// ── Skill Map (slug → ID) ─────────────────────────────────────\n\nexport const SKILL_MAP = {\n \"angular-standalone\": \"web-framework-angular-standalone\",\n \"ant-design\": \"web-ui-ant-design\",\n \"anthropic-sdk\": \"api-ai-anthropic-sdk\",\n \"api-performance\": \"api-performance-api-performance\",\n appwrite: \"api-baas-appwrite\",\n astro: \"web-meta-framework-astro\",\n \"auth-security\": \"shared-security-auth-security\",\n \"axiom-pino-sentry\": \"api-observability-axiom-pino-sentry\",\n \"better-auth-drizzle-hono\": \"api-auth-better-auth-drizzle-hono\",\n biome: \"shared-tooling-biome\",\n \"chakra-ui\": \"web-ui-chakra-ui\",\n chroma: \"api-vector-db-chroma\",\n \"claude-vision\": \"api-ai-claude-vision\",\n clerk: \"api-auth-clerk\",\n \"cli-commander\": \"cli-framework-cli-commander\",\n \"cli-reviewing\": \"shared-meta-cli-reviewing\",\n \"cloudflare-workers\": \"shared-ci-cd-cloudflare-workers\",\n cockroachdb: \"api-database-cockroachdb\",\n \"cohere-sdk\": \"api-ai-cohere-sdk\",\n \"css-animations\": \"web-animation-css-animations\",\n cva: \"web-styling-cva\",\n \"cypress-e2e\": \"web-testing-cypress-e2e\",\n \"date-fns\": \"web-utilities-date-fns\",\n docker: \"shared-ci-cd-docker\",\n drizzle: \"api-database-drizzle\",\n edgedb: \"api-database-edgedb\",\n elasticsearch: \"api-search-elasticsearch\",\n elevenlabs: \"api-ai-elevenlabs\",\n elysia: \"api-framework-elysia\",\n \"error-boundaries\": \"web-error-handling-error-boundaries\",\n \"eslint-prettier\": \"shared-tooling-eslint-prettier\",\n expo: \"mobile-framework-expo\",\n express: \"api-framework-express\",\n fastify: \"api-framework-fastify\",\n \"file-upload-patterns\": \"web-files-file-upload-patterns\",\n firebase: \"api-baas-firebase\",\n \"framer-motion\": \"web-animation-framer-motion\",\n \"git-hooks\": \"shared-tooling-git-hooks\",\n \"github-actions\": \"shared-ci-cd-github-actions\",\n \"google-gemini-sdk\": \"api-ai-google-gemini-sdk\",\n \"graphql-apollo\": \"web-data-fetching-graphql-apollo\",\n \"graphql-urql\": \"web-data-fetching-graphql-urql\",\n \"headless-ui\": \"web-ui-headless-ui\",\n hono: \"api-framework-hono\",\n \"huggingface-inference\": \"api-ai-huggingface-inference\",\n \"image-handling\": \"web-files-image-handling\",\n jotai: \"web-state-jotai\",\n knex: \"api-database-knex\",\n langchain: \"api-ai-langchain\",\n langfuse: \"api-ai-langfuse\",\n litellm: \"api-ai-litellm\",\n llamaindex: \"api-ai-llamaindex\",\n mantine: \"web-ui-mantine\",\n meilisearch: \"api-search-meilisearch\",\n \"mistral-sdk\": \"api-ai-mistral-sdk\",\n mobx: \"web-state-mobx\",\n modal: \"api-ai-modal\",\n mongodb: \"api-database-mongodb\",\n mongoose: \"api-database-mongoose\",\n msw: \"web-mocks-msw\",\n mui: \"web-ui-mui\",\n mysql: \"api-database-mysql\",\n \"native-js\": \"web-utilities-native-js\",\n neon: \"api-baas-neon\",\n nestjs: \"api-framework-nestjs\",\n \"next-intl\": \"web-i18n-next-intl\",\n nextauth: \"api-auth-nextauth\",\n nextjs: \"web-meta-framework-nextjs\",\n \"ngrx-signalstore\": \"web-state-ngrx-signalstore\",\n nuxt: \"web-meta-framework-nuxt\",\n nx: \"shared-monorepo-nx\",\n \"oclif-ink\": \"cli-framework-oclif-ink\",\n \"offline-first\": \"web-pwa-offline-first\",\n ollama: \"api-ai-ollama\",\n \"openai-sdk\": \"api-ai-openai-sdk\",\n \"openai-whisper\": \"api-ai-openai-whisper\",\n payload: \"api-cms-payload\",\n pinecone: \"api-vector-db-pinecone\",\n pinia: \"web-state-pinia\",\n planetscale: \"api-baas-planetscale\",\n \"playwright-e2e\": \"web-testing-playwright-e2e\",\n \"pnpm-workspaces\": \"shared-monorepo-pnpm-workspaces\",\n postgresql: \"api-database-postgresql\",\n \"posthog-analytics\": \"api-analytics-posthog-analytics\",\n \"posthog-flags\": \"api-flags-posthog-flags\",\n prisma: \"api-database-prisma\",\n promptfoo: \"api-ai-promptfoo\",\n qdrant: \"api-vector-db-qdrant\",\n qwik: \"web-meta-framework-qwik\",\n \"radix-ui\": \"web-ui-radix-ui\",\n react: \"web-framework-react\",\n \"react-hook-form\": \"web-forms-react-hook-form\",\n \"react-intl\": \"web-i18n-react-intl\",\n \"react-native\": \"mobile-framework-react-native\",\n \"react-query\": \"web-server-state-react-query\",\n \"react-router\": \"web-routing-react-router\",\n \"react-testing-library\": \"web-testing-react-testing-library\",\n redis: \"api-database-redis\",\n \"redux-toolkit\": \"web-state-redux-toolkit\",\n remix: \"web-meta-framework-remix\",\n replicate: \"api-ai-replicate\",\n \"research-methodology\": \"shared-meta-research-methodology\",\n \"resend-react-email\": \"api-email-resend-react-email\",\n \"result-types\": \"web-error-handling-result-types\",\n reviewing: \"shared-meta-reviewing\",\n rxjs: \"web-utilities-rxjs\",\n sanity: \"api-cms-sanity\",\n \"scss-modules\": \"web-styling-scss-modules\",\n sequelize: \"api-database-sequelize\",\n \"service-workers\": \"web-pwa-service-workers\",\n \"setup-axiom-pino-sentry\": \"api-observability-setup-axiom-pino-sentry\",\n \"setup-env\": \"shared-infra-setup-env\",\n \"setup-posthog\": \"api-analytics-setup-posthog\",\n \"setup-resend\": \"api-email-setup-resend\",\n \"shadcn-ui\": \"web-ui-shadcn-ui\",\n \"socket-io\": \"web-realtime-socket-io\",\n solidjs: \"web-framework-solidjs\",\n sse: \"web-realtime-sse\",\n storybook: \"web-tooling-storybook\",\n strapi: \"api-cms-strapi\",\n stripe: \"api-commerce-stripe\",\n supabase: \"api-baas-supabase\",\n surrealdb: \"api-database-surrealdb\",\n svelte: \"web-framework-svelte\",\n sveltekit: \"web-meta-framework-sveltekit\",\n swr: \"web-data-fetching-swr\",\n tailwind: \"web-styling-tailwind\",\n \"tanstack-router\": \"web-routing-tanstack-router\",\n \"tanstack-table\": \"web-ui-tanstack-table\",\n \"together-ai\": \"api-ai-together-ai\",\n \"tool-use-patterns\": \"api-ai-tool-use-patterns\",\n trpc: \"web-data-fetching-trpc\",\n turborepo: \"shared-monorepo-turborepo\",\n turso: \"api-baas-turso\",\n typeorm: \"api-database-typeorm\",\n \"typescript-config\": \"shared-tooling-typescript-config\",\n upstash: \"api-baas-upstash\",\n \"vee-validate\": \"web-forms-vee-validate\",\n \"vercel-ai-sdk\": \"api-ai-vercel-ai-sdk\",\n \"vercel-kv\": \"api-baas-vercel-kv\",\n \"vercel-postgres\": \"api-baas-vercel-postgres\",\n \"view-transitions\": \"web-animation-view-transitions\",\n vite: \"web-tooling-vite\",\n vitest: \"web-testing-vitest\",\n \"vue-composition-api\": \"web-framework-vue-composition-api\",\n \"vue-i18n\": \"web-i18n-vue-i18n\",\n \"vue-test-utils\": \"web-testing-vue-test-utils\",\n vueuse: \"web-utilities-vueuse\",\n weaviate: \"api-vector-db-weaviate\",\n \"web-accessibility\": \"web-accessibility-web-accessibility\",\n \"web-performance\": \"web-performance-web-performance\",\n websockets: \"web-realtime-websockets\",\n \"zod-validation\": \"web-forms-zod-validation\",\n zustand: \"web-state-zustand\",\n} as const;\n\nexport type SkillSlug = keyof typeof SKILL_MAP;\nexport type SkillId = (typeof SKILL_MAP)[SkillSlug];\n\n// Derived arrays for Zod enum compatibility\n// (z.enum() requires a readonly tuple, not Object.keys/values)\nexport const SKILL_SLUGS = [\n \"angular-standalone\",\n \"ant-design\",\n \"anthropic-sdk\",\n \"api-performance\",\n \"appwrite\",\n \"astro\",\n \"auth-security\",\n \"axiom-pino-sentry\",\n \"better-auth-drizzle-hono\",\n \"biome\",\n \"chakra-ui\",\n \"chroma\",\n \"claude-vision\",\n \"clerk\",\n \"cli-commander\",\n \"cli-reviewing\",\n \"cloudflare-workers\",\n \"cockroachdb\",\n \"cohere-sdk\",\n \"css-animations\",\n \"cva\",\n \"cypress-e2e\",\n \"date-fns\",\n \"docker\",\n \"drizzle\",\n \"edgedb\",\n \"elasticsearch\",\n \"elevenlabs\",\n \"elysia\",\n \"error-boundaries\",\n \"eslint-prettier\",\n \"expo\",\n \"express\",\n \"fastify\",\n \"file-upload-patterns\",\n \"firebase\",\n \"framer-motion\",\n \"git-hooks\",\n \"github-actions\",\n \"google-gemini-sdk\",\n \"graphql-apollo\",\n \"graphql-urql\",\n \"headless-ui\",\n \"hono\",\n \"huggingface-inference\",\n \"image-handling\",\n \"jotai\",\n \"knex\",\n \"langchain\",\n \"langfuse\",\n \"litellm\",\n \"llamaindex\",\n \"mantine\",\n \"meilisearch\",\n \"mistral-sdk\",\n \"mobx\",\n \"modal\",\n \"mongodb\",\n \"mongoose\",\n \"msw\",\n \"mui\",\n \"mysql\",\n \"native-js\",\n \"neon\",\n \"nestjs\",\n \"next-intl\",\n \"nextauth\",\n \"nextjs\",\n \"ngrx-signalstore\",\n \"nuxt\",\n \"nx\",\n \"oclif-ink\",\n \"offline-first\",\n \"ollama\",\n \"openai-sdk\",\n \"openai-whisper\",\n \"payload\",\n \"pinecone\",\n \"pinia\",\n \"planetscale\",\n \"playwright-e2e\",\n \"pnpm-workspaces\",\n \"postgresql\",\n \"posthog-analytics\",\n \"posthog-flags\",\n \"prisma\",\n \"promptfoo\",\n \"qdrant\",\n \"qwik\",\n \"radix-ui\",\n \"react\",\n \"react-hook-form\",\n \"react-intl\",\n \"react-native\",\n \"react-query\",\n \"react-router\",\n \"react-testing-library\",\n \"redis\",\n \"redux-toolkit\",\n \"remix\",\n \"replicate\",\n \"research-methodology\",\n \"resend-react-email\",\n \"result-types\",\n \"reviewing\",\n \"rxjs\",\n \"sanity\",\n \"scss-modules\",\n \"sequelize\",\n \"service-workers\",\n \"setup-axiom-pino-sentry\",\n \"setup-env\",\n \"setup-posthog\",\n \"setup-resend\",\n \"shadcn-ui\",\n \"socket-io\",\n \"solidjs\",\n \"sse\",\n \"storybook\",\n \"strapi\",\n \"stripe\",\n \"supabase\",\n \"surrealdb\",\n \"svelte\",\n \"sveltekit\",\n \"swr\",\n \"tailwind\",\n \"tanstack-router\",\n \"tanstack-table\",\n \"together-ai\",\n \"tool-use-patterns\",\n \"trpc\",\n \"turborepo\",\n \"turso\",\n \"typeorm\",\n \"typescript-config\",\n \"upstash\",\n \"vee-validate\",\n \"vercel-ai-sdk\",\n \"vercel-kv\",\n \"vercel-postgres\",\n \"view-transitions\",\n \"vite\",\n \"vitest\",\n \"vue-composition-api\",\n \"vue-i18n\",\n \"vue-test-utils\",\n \"vueuse\",\n \"weaviate\",\n \"web-accessibility\",\n \"web-performance\",\n \"websockets\",\n \"zod-validation\",\n \"zustand\",\n] as const satisfies readonly SkillSlug[];\n\nexport const SKILL_IDS = [\n \"api-ai-anthropic-sdk\",\n \"api-ai-claude-vision\",\n \"api-ai-cohere-sdk\",\n \"api-ai-elevenlabs\",\n \"api-ai-google-gemini-sdk\",\n \"api-ai-huggingface-inference\",\n \"api-ai-langchain\",\n \"api-ai-langfuse\",\n \"api-ai-litellm\",\n \"api-ai-llamaindex\",\n \"api-ai-mistral-sdk\",\n \"api-ai-modal\",\n \"api-ai-ollama\",\n \"api-ai-openai-sdk\",\n \"api-ai-openai-whisper\",\n \"api-ai-promptfoo\",\n \"api-ai-replicate\",\n \"api-ai-together-ai\",\n \"api-ai-tool-use-patterns\",\n \"api-ai-vercel-ai-sdk\",\n \"api-analytics-posthog-analytics\",\n \"api-analytics-setup-posthog\",\n \"api-auth-better-auth-drizzle-hono\",\n \"api-auth-clerk\",\n \"api-auth-nextauth\",\n \"api-baas-appwrite\",\n \"api-baas-firebase\",\n \"api-baas-neon\",\n \"api-baas-planetscale\",\n \"api-baas-supabase\",\n \"api-baas-turso\",\n \"api-baas-upstash\",\n \"api-baas-vercel-kv\",\n \"api-baas-vercel-postgres\",\n \"api-cms-payload\",\n \"api-cms-sanity\",\n \"api-cms-strapi\",\n \"api-commerce-stripe\",\n \"api-database-cockroachdb\",\n \"api-database-drizzle\",\n \"api-database-edgedb\",\n \"api-database-knex\",\n \"api-database-mongodb\",\n \"api-database-mongoose\",\n \"api-database-mysql\",\n \"api-database-postgresql\",\n \"api-database-prisma\",\n \"api-database-redis\",\n \"api-database-sequelize\",\n \"api-database-surrealdb\",\n \"api-database-typeorm\",\n \"api-email-resend-react-email\",\n \"api-email-setup-resend\",\n \"api-flags-posthog-flags\",\n \"api-framework-elysia\",\n \"api-framework-express\",\n \"api-framework-fastify\",\n \"api-framework-hono\",\n \"api-framework-nestjs\",\n \"api-observability-axiom-pino-sentry\",\n \"api-observability-setup-axiom-pino-sentry\",\n \"api-performance-api-performance\",\n \"api-search-elasticsearch\",\n \"api-search-meilisearch\",\n \"api-vector-db-chroma\",\n \"api-vector-db-pinecone\",\n \"api-vector-db-qdrant\",\n \"api-vector-db-weaviate\",\n \"cli-framework-cli-commander\",\n \"cli-framework-oclif-ink\",\n \"mobile-framework-expo\",\n \"mobile-framework-react-native\",\n \"shared-ci-cd-cloudflare-workers\",\n \"shared-ci-cd-docker\",\n \"shared-ci-cd-github-actions\",\n \"shared-infra-setup-env\",\n \"shared-meta-cli-reviewing\",\n \"shared-meta-research-methodology\",\n \"shared-meta-reviewing\",\n \"shared-monorepo-nx\",\n \"shared-monorepo-pnpm-workspaces\",\n \"shared-monorepo-turborepo\",\n \"shared-security-auth-security\",\n \"shared-tooling-biome\",\n \"shared-tooling-eslint-prettier\",\n \"shared-tooling-git-hooks\",\n \"shared-tooling-typescript-config\",\n \"web-accessibility-web-accessibility\",\n \"web-animation-css-animations\",\n \"web-animation-framer-motion\",\n \"web-animation-view-transitions\",\n \"web-data-fetching-graphql-apollo\",\n \"web-data-fetching-graphql-urql\",\n \"web-data-fetching-swr\",\n \"web-data-fetching-trpc\",\n \"web-error-handling-error-boundaries\",\n \"web-error-handling-result-types\",\n \"web-files-file-upload-patterns\",\n \"web-files-image-handling\",\n \"web-forms-react-hook-form\",\n \"web-forms-vee-validate\",\n \"web-forms-zod-validation\",\n \"web-framework-angular-standalone\",\n \"web-framework-react\",\n \"web-framework-solidjs\",\n \"web-framework-svelte\",\n \"web-framework-vue-composition-api\",\n \"web-i18n-next-intl\",\n \"web-i18n-react-intl\",\n \"web-i18n-vue-i18n\",\n \"web-meta-framework-astro\",\n \"web-meta-framework-nextjs\",\n \"web-meta-framework-nuxt\",\n \"web-meta-framework-qwik\",\n \"web-meta-framework-remix\",\n \"web-meta-framework-sveltekit\",\n \"web-mocks-msw\",\n \"web-performance-web-performance\",\n \"web-pwa-offline-first\",\n \"web-pwa-service-workers\",\n \"web-realtime-socket-io\",\n \"web-realtime-sse\",\n \"web-realtime-websockets\",\n \"web-routing-react-router\",\n \"web-routing-tanstack-router\",\n \"web-server-state-react-query\",\n \"web-state-jotai\",\n \"web-state-mobx\",\n \"web-state-ngrx-signalstore\",\n \"web-state-pinia\",\n \"web-state-redux-toolkit\",\n \"web-state-zustand\",\n \"web-styling-cva\",\n \"web-styling-scss-modules\",\n \"web-styling-tailwind\",\n \"web-testing-cypress-e2e\",\n \"web-testing-playwright-e2e\",\n \"web-testing-react-testing-library\",\n \"web-testing-vitest\",\n \"web-testing-vue-test-utils\",\n \"web-tooling-storybook\",\n \"web-tooling-vite\",\n \"web-ui-ant-design\",\n \"web-ui-chakra-ui\",\n \"web-ui-headless-ui\",\n \"web-ui-mantine\",\n \"web-ui-mui\",\n \"web-ui-radix-ui\",\n \"web-ui-shadcn-ui\",\n \"web-ui-tanstack-table\",\n \"web-utilities-date-fns\",\n \"web-utilities-native-js\",\n \"web-utilities-rxjs\",\n \"web-utilities-vueuse\",\n] as const satisfies readonly SkillId[];\n\n// ── Categories ─────────────────────────────────────────────────\n\nexport const CATEGORIES = [\n \"api-ai\",\n \"api-analytics\",\n \"api-api\",\n \"api-auth\",\n \"api-baas\",\n \"api-cms\",\n \"api-commerce\",\n \"api-database\",\n \"api-email\",\n \"api-framework\",\n \"api-observability\",\n \"api-performance\",\n \"api-search\",\n \"api-vector-db\",\n \"cli-framework\",\n \"mobile-framework\",\n \"shared-ci-cd\",\n \"shared-infra\",\n \"shared-meta\",\n \"shared-monorepo\",\n \"shared-security\",\n \"shared-tooling\",\n \"web-accessibility\",\n \"web-animation\",\n \"web-client-state\",\n \"web-error-handling\",\n \"web-file-upload\",\n \"web-files\",\n \"web-forms\",\n \"web-framework\",\n \"web-i18n\",\n \"web-meta-framework\",\n \"web-mocking\",\n \"web-performance\",\n \"web-pwa\",\n \"web-realtime\",\n \"web-routing\",\n \"web-server-state\",\n \"web-styling\",\n \"web-testing\",\n \"web-tooling\",\n \"web-ui-components\",\n \"web-utilities\",\n] as const;\n\nexport type Category = (typeof CATEGORIES)[number];\n\n// ── Domains ────────────────────────────────────────────────────\n\nexport const DOMAINS = [\"api\", \"cli\", \"mobile\", \"shared\", \"web\"] as const;\n\nexport type Domain = (typeof DOMAINS)[number];\n\n// ── Agent Names ────────────────────────────────────────────────\n\nexport const AGENT_NAMES = [\n \"agent-summoner\",\n \"api-developer\",\n \"api-researcher\",\n \"api-reviewer\",\n \"cli-developer\",\n \"cli-reviewer\",\n \"cli-tester\",\n \"convention-keeper\",\n \"pattern-scout\",\n \"scribe\",\n \"skill-summoner\",\n \"web-architecture\",\n \"web-developer\",\n \"web-pattern-critique\",\n \"web-pm\",\n \"web-researcher\",\n \"web-reviewer\",\n \"web-tester\",\n] as const;\n\nexport type AgentName = (typeof AGENT_NAMES)[number];\n"],"mappings":";;;;;;AAAA;AAuKO,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAiKO,IAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMO,IAAM,UAAU,CAAC,OAAO,OAAO,UAAU,UAAU,KAAK;AAMxD,IAAM,cAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/components/wizard/wizard-layout.tsx","../src/cli/components/hooks/use-terminal-dimensions.ts"],"sourcesContent":["import { Box, Static, Text } from \"ink\";\nimport React, { Fragment } from \"react\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport type { StartupMessage } from \"../../utils/logger.js\";\nimport { FEATURE_FLAGS } from \"../../lib/feature-flags.js\";\nimport { useWizardStore, type WizardStep } from \"../../stores/wizard-store.js\";\nimport { useTerminalDimensions } from \"../hooks/use-terminal-dimensions.js\";\nimport { HelpModal } from \"./help-modal.js\";\nimport {\n HOTKEY_HELP,\n HOTKEY_SCOPE,\n HOTKEY_SET_ALL_LOCAL,\n HOTKEY_SET_ALL_PLUGIN,\n HOTKEY_SETTINGS,\n HOTKEY_FILTER_INCOMPATIBLE,\n HOTKEY_TOGGLE_LABELS,\n KEY_LABEL_ENTER,\n KEY_LABEL_ESC,\n KEY_LABEL_SPACE,\n} from \"./hotkeys.js\";\nimport {\n WIZARD_STEPS,\n WizardTabs,\n type DomainNavProps,\n type TabDropdownProps,\n} from \"./wizard-tabs.js\";\nimport { getDomainDisplayName, getStackName, orderDomains } from \"./utils.js\";\nimport type { Domain } from \"../../types/index.js\";\n\ntype KeyHintProps = {\n isVisible?: boolean;\n isActive?: boolean;\n label: string;\n values: string[];\n};\n\nconst DefinitionItem: React.FC<KeyHintProps> = ({\n isVisible = true,\n isActive = false,\n label,\n values,\n}) => {\n if (!isVisible) {\n return null;\n }\n\n return (\n <Text>\n {values.map((value) => (\n <Fragment key={value}>\n <Text\n backgroundColor=\"black\"\n color={isActive ? CLI_COLORS.PRIMARY : CLI_COLORS.UNFOCUSED}\n >\n {\" \"}\n {value}{\" \"}\n </Text>{\" \"}\n </Fragment>\n ))}\n <Text color={isActive ? CLI_COLORS.PRIMARY : undefined}>{label}</Text>\n </Text>\n );\n};\n\nconst HOT_KEYS: { label: string; values: string[] }[] = [\n { label: \"select\", values: [KEY_LABEL_SPACE] },\n { label: \"continue\", values: [KEY_LABEL_ENTER] },\n { label: \"back\", values: [KEY_LABEL_ESC] },\n];\n\nconst WizardFooter = () => {\n return (\n <Box\n columnGap={2}\n borderTop\n borderRight={false}\n borderBottom\n borderLeft={false}\n borderColor=\"blackBright\"\n borderStyle=\"single\"\n paddingLeft={1}\n paddingRight={1}\n >\n {HOT_KEYS.map((hotkey) => (\n <DefinitionItem {...hotkey} key={hotkey.label} />\n ))}\n </Box>\n );\n};\n\ntype WizardLayoutProps = {\n version?: string;\n logo?: string;\n startupMessages?: StartupMessage[];\n children: React.ReactNode;\n};\n\nexport const WizardLayout: React.FC<WizardLayoutProps> = ({\n version,\n logo,\n startupMessages,\n children,\n}) => {\n const store = useWizardStore();\n const { completedSteps, skippedSteps } = store.getStepProgress();\n const { rows: terminalHeight } = useTerminalDimensions();\n\n const handleSelectDomain = (domain: Domain) => {\n const index = store.selectedDomains.indexOf(domain);\n if (index !== -1) {\n useWizardStore.getState().setCurrentDomainIndex(index);\n }\n };\n\n const domainNav: DomainNavProps | undefined =\n store.step === \"build\" && store.selectedDomains.length > 0\n ? {\n domains: orderDomains(store.selectedDomains),\n activeDomain: (store.getCurrentDomain() || store.selectedDomains[0] || \"web\") as Domain,\n getDomainLabel: getDomainDisplayName,\n onSelectDomain: handleSelectDomain,\n }\n : undefined;\n\n // TODO: dropdowns should be in a map\n const dropdowns: Partial<Record<WizardStep, TabDropdownProps>> = {};\n\n if (store.step === \"stack\") {\n const label = \"Choose a stack\";\n dropdowns.stack = { items: [{ id: label, label }] };\n }\n\n if (store.step === \"domains\") {\n const label = \"Select domains\";\n dropdowns.domains = { items: [{ id: label, label }] };\n }\n\n if (store.step === \"sources\") {\n const label = \"Customize skill sources\";\n dropdowns.sources = { items: [{ id: label, label }] };\n }\n\n if (store.step === \"agents\") {\n const label = \"Select agents\";\n dropdowns.agents = { items: [{ id: label, label }] };\n }\n\n if (store.step === \"confirm\") {\n const stackName = getStackName(store.selectedStackId);\n const domainsText = store.selectedDomains.map(getDomainDisplayName).join(\" + \");\n const label = stackName\n ? `Ready to install ${stackName}`\n : `Ready to install your custom stack${domainsText ? ` (${domainsText})` : \"\"}`;\n dropdowns.confirm = { items: [{ id: label, label }] };\n }\n\n return (\n <>\n {startupMessages && startupMessages.length > 0 && (\n <Static items={startupMessages}>\n {(msg, index) => (\n <Box key={index}>\n <Text\n color={msg.level === \"warn\" ? \"yellow\" : msg.level === \"error\" ? \"red\" : undefined}\n >\n {msg.level === \"warn\" ? ` Warning: ${msg.text}` : msg.text}\n </Text>\n </Box>\n )}\n </Static>\n )}\n <Box flexDirection=\"column\" paddingX={1} height={terminalHeight}>\n {logo && store.step === \"stack\" && (\n <Box flexDirection=\"row\" marginTop={1} columnGap={1}>\n <Text>{logo}</Text>\n </Box>\n )}\n <WizardTabs\n steps={WIZARD_STEPS}\n currentStep={store.step}\n completedSteps={completedSteps}\n skippedSteps={skippedSteps}\n version={version}\n domainNav={domainNav}\n dropdowns={dropdowns}\n />\n {store.showHelp ? (\n <HelpModal currentStep={store.step} />\n ) : (\n <>\n <Box flexDirection=\"column\" flexGrow={1} flexBasis={0} marginTop={1}>\n {children}\n </Box>\n <Box paddingX={1} columnGap={2} marginTop={2}>\n <DefinitionItem\n label=\"Labels\"\n values={[HOTKEY_TOGGLE_LABELS.label]}\n isVisible={store.step === \"build\"}\n />\n <DefinitionItem\n label=\"Filter incompatible\"\n values={[HOTKEY_FILTER_INCOMPATIBLE.label]}\n isVisible={store.step === \"build\"}\n isActive={store.filterIncompatible}\n />\n <DefinitionItem\n label=\"Scope\"\n values={[HOTKEY_SCOPE.label]}\n isVisible={store.step === \"build\" || store.step === \"agents\"}\n />\n <DefinitionItem\n label=\"Set all local\"\n values={[HOTKEY_SET_ALL_LOCAL.label]}\n isVisible={store.step === \"sources\"}\n />\n <DefinitionItem\n label=\"Set all plugin\"\n values={[HOTKEY_SET_ALL_PLUGIN.label]}\n isVisible={store.step === \"sources\"}\n />\n <DefinitionItem\n label=\"Settings\"\n values={[HOTKEY_SETTINGS.label]}\n isVisible={store.step === \"sources\" && FEATURE_FLAGS.SOURCE_SEARCH}\n isActive={store.showSettings}\n />\n <DefinitionItem label=\"Help\" values={[HOTKEY_HELP.label]} />\n </Box>\n <WizardFooter />\n </>\n )}\n </Box>\n </>\n );\n};\n","import { useState, useEffect } from \"react\";\nimport { useStdout } from \"ink\";\n\nconst DEFAULT_COLUMNS = 80;\nconst DEFAULT_ROWS = 24;\n\nexport type TerminalDimensions = {\n /** Terminal width in columns */\n columns: number;\n /** Terminal height in rows */\n rows: number;\n};\n\n/**\n * Tracks terminal dimensions reactively. Re-renders on resize.\n *\n * Falls back to DEFAULT_COLUMNS x DEFAULT_ROWS when stdout is not a TTY\n * (e.g., piped output, CI environments, tests).\n */\nexport function useTerminalDimensions(): TerminalDimensions {\n const { stdout } = useStdout();\n\n const [dimensions, setDimensions] = useState<TerminalDimensions>(() => ({\n columns: stdout.columns || DEFAULT_COLUMNS,\n rows: stdout.rows || DEFAULT_ROWS,\n }));\n\n useEffect(() => {\n const handleResize = () => {\n setDimensions({\n columns: stdout.columns || DEFAULT_COLUMNS,\n rows: stdout.rows || DEFAULT_ROWS,\n });\n };\n\n stdout.on(\"resize\", handleResize);\n return () => {\n stdout.off(\"resize\", handleResize);\n };\n }, [stdout]);\n\n return dimensions;\n}\n"],"mappings":"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","names":["Fragment"]}
|