@agents-inc/cli 0.60.1 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{chunk-6G3KZSO4.js → chunk-46DQG2N7.js} +9 -9
  3. package/dist/{chunk-BMJZBLP7.js → chunk-6DAZG54T.js} +2 -2
  4. package/dist/{chunk-TZXYBG3R.js → chunk-FWMWWE3X.js} +2 -3
  5. package/dist/{chunk-52M2XF3W.js → chunk-GH2RQ4MI.js} +2 -2
  6. package/dist/{chunk-MKCHLXMY.js → chunk-H5DASUX5.js} +4 -4
  7. package/dist/{chunk-RO6LX3UV.js → chunk-IEEVXLJB.js} +2 -2
  8. package/dist/{chunk-WF6RM73R.js → chunk-IGM6HA3S.js} +2 -2
  9. package/dist/{chunk-TC3NHO34.js → chunk-KD2YS76O.js} +2 -2
  10. package/dist/{chunk-TGLRDEEL.js → chunk-KDO6WU76.js} +2 -2
  11. package/dist/{chunk-SZRK3VOR.js → chunk-M6YWRMXH.js} +3 -3
  12. package/dist/{chunk-K6OLORQL.js → chunk-SDLDPFNV.js} +2 -2
  13. package/dist/{chunk-YHCYKUA3.js → chunk-SRBN6RRD.js} +2 -2
  14. package/dist/{chunk-EMIUPGPL.js → chunk-WHISPMAQ.js} +2 -2
  15. package/dist/{chunk-G6WHCALR.js → chunk-YHOHLNHM.js} +3 -3
  16. package/dist/{chunk-SEJF7CGJ.js → chunk-Z3TM4N37.js} +2 -2
  17. package/dist/commands/build/plugins.js +2 -2
  18. package/dist/commands/build/stack.js +2 -2
  19. package/dist/commands/compile.js +84 -74
  20. package/dist/commands/compile.js.map +1 -1
  21. package/dist/commands/config/index.js +2 -2
  22. package/dist/commands/config/path.js +1 -1
  23. package/dist/commands/config/show.js +2 -2
  24. package/dist/commands/diff.js +1 -1
  25. package/dist/commands/doctor.js +1 -1
  26. package/dist/commands/edit.js +12 -12
  27. package/dist/commands/eject.js +1 -1
  28. package/dist/commands/import/skill.js +1 -1
  29. package/dist/commands/info.js +1 -1
  30. package/dist/commands/init.js +12 -12
  31. package/dist/commands/list.js +1 -1
  32. package/dist/commands/new/agent.js +2 -2
  33. package/dist/commands/new/marketplace.js +2 -2
  34. package/dist/commands/new/skill.js +2 -2
  35. package/dist/commands/outdated.js +1 -1
  36. package/dist/commands/search.js +1 -1
  37. package/dist/commands/uninstall.js +1 -1
  38. package/dist/commands/update.js +2 -2
  39. package/dist/commands/validate.js +1 -1
  40. package/dist/components/wizard/domain-selection.js +3 -3
  41. package/dist/components/wizard/stack-selection.js +3 -3
  42. package/dist/components/wizard/step-agents.js +3 -3
  43. package/dist/components/wizard/step-agents.test.js +3 -3
  44. package/dist/components/wizard/step-build.js +3 -3
  45. package/dist/components/wizard/step-build.test.js +3 -3
  46. package/dist/components/wizard/step-confirm.test.js +2 -2
  47. package/dist/components/wizard/step-settings.js +2 -2
  48. package/dist/components/wizard/step-settings.test.js +5 -5
  49. package/dist/components/wizard/step-sources.js +3 -3
  50. package/dist/components/wizard/step-sources.test.js +3 -3
  51. package/dist/components/wizard/step-stack.js +5 -5
  52. package/dist/components/wizard/step-stack.test.js +5 -5
  53. package/dist/components/wizard/wizard-layout.js +3 -3
  54. package/dist/components/wizard/wizard.js +11 -11
  55. package/dist/hooks/init.js +12 -12
  56. package/dist/{source-loader-A6B3NDI4.js → source-loader-KMEBBZCQ.js} +2 -2
  57. package/dist/{source-manager-Q7IQSGIX.js → source-manager-5XBSPJNR.js} +2 -2
  58. package/dist/stores/wizard-store.js +2 -2
  59. package/dist/stores/wizard-store.test.js +2 -2
  60. package/package.json +1 -1
  61. /package/dist/{chunk-6G3KZSO4.js.map → chunk-46DQG2N7.js.map} +0 -0
  62. /package/dist/{chunk-BMJZBLP7.js.map → chunk-6DAZG54T.js.map} +0 -0
  63. /package/dist/{chunk-TZXYBG3R.js.map → chunk-FWMWWE3X.js.map} +0 -0
  64. /package/dist/{chunk-52M2XF3W.js.map → chunk-GH2RQ4MI.js.map} +0 -0
  65. /package/dist/{chunk-MKCHLXMY.js.map → chunk-H5DASUX5.js.map} +0 -0
  66. /package/dist/{chunk-RO6LX3UV.js.map → chunk-IEEVXLJB.js.map} +0 -0
  67. /package/dist/{chunk-WF6RM73R.js.map → chunk-IGM6HA3S.js.map} +0 -0
  68. /package/dist/{chunk-TC3NHO34.js.map → chunk-KD2YS76O.js.map} +0 -0
  69. /package/dist/{chunk-TGLRDEEL.js.map → chunk-KDO6WU76.js.map} +0 -0
  70. /package/dist/{chunk-SZRK3VOR.js.map → chunk-M6YWRMXH.js.map} +0 -0
  71. /package/dist/{chunk-K6OLORQL.js.map → chunk-SDLDPFNV.js.map} +0 -0
  72. /package/dist/{chunk-YHCYKUA3.js.map → chunk-SRBN6RRD.js.map} +0 -0
  73. /package/dist/{chunk-EMIUPGPL.js.map → chunk-WHISPMAQ.js.map} +0 -0
  74. /package/dist/{chunk-G6WHCALR.js.map → chunk-YHOHLNHM.js.map} +0 -0
  75. /package/dist/{chunk-SEJF7CGJ.js.map → chunk-Z3TM4N37.js.map} +0 -0
  76. /package/dist/{source-loader-A6B3NDI4.js.map → source-loader-KMEBBZCQ.js.map} +0 -0
  77. /package/dist/{source-manager-Q7IQSGIX.js.map → source-manager-5XBSPJNR.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/compile.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\nimport os from \"os\";\nimport path from \"path\";\nimport { BaseCommand } from \"../base-command\";\nimport { setVerbose, verbose, warn } from \"../utils/logger\";\nimport { discoverAllPluginSkills } from \"../lib/plugins\";\nimport { getAgentDefinitions } from \"../lib/agents\";\nimport { resolveSource, loadProjectConfigFromDir } from \"../lib/configuration\";\nimport { directoryExists, ensureDir, glob, readFile, fileExists } from \"../utils/fs\";\nimport { recompileAgents } from \"../lib/agents\";\nimport { parseFrontmatter } from \"../lib/loading\";\nimport { CLI_BIN_NAME, GLOBAL_INSTALL_ROOT, LOCAL_SKILLS_PATH, STANDARD_FILES } from \"../consts\";\nimport { EXIT_CODES } from \"../lib/exit-codes\";\nimport {\n ERROR_MESSAGES,\n SUCCESS_MESSAGES,\n STATUS_MESSAGES,\n INFO_MESSAGES,\n} from \"../utils/messages\";\nimport { detectInstallation, type Installation } from \"../lib/installation\";\nimport type { AgentSourcePaths, SkillDefinition, SkillDefinitionMap, SkillId } from \"../types\";\nimport { getStackSkillIds } from \"../lib/stacks/stacks-loader\";\nimport { typedEntries, typedKeys } from \"../utils/typed-object\";\n\nasync function loadSkillsFromDir(skillsDir: string, pathPrefix = \"\"): Promise<SkillDefinitionMap> {\n const skills: SkillDefinitionMap = {};\n\n if (!(await directoryExists(skillsDir))) {\n return skills;\n }\n\n const skillFiles = await glob(\"**/SKILL.md\", skillsDir);\n\n for (const skillFile of skillFiles) {\n const skillPath = path.join(skillsDir, skillFile);\n const skillDir = path.dirname(skillPath);\n const relativePath = path.relative(skillsDir, skillDir);\n const skillDirName = path.basename(skillDir);\n\n const metadataPath = path.join(skillDir, STANDARD_FILES.METADATA_YAML);\n if (!(await fileExists(metadataPath))) {\n const displayPath = pathPrefix ? `${pathPrefix}/${relativePath}/` : `${relativePath}/`;\n warn(\n `Skill '${skillDirName}' in '${displayPath}' is missing ${STANDARD_FILES.METADATA_YAML} — skipped. Add ${STANDARD_FILES.METADATA_YAML} to register it with the CLI.`,\n );\n continue;\n }\n\n try {\n const content = await readFile(skillPath);\n const frontmatter = parseFrontmatter(content, skillPath);\n\n const skillName = frontmatter?.name || path.basename(skillDir);\n // Boundary cast: skill name from frontmatter/directory is an untyped string\n const canonicalId = skillName as SkillId;\n\n const skill: SkillDefinition = {\n id: canonicalId,\n path: pathPrefix ? `${pathPrefix}/${relativePath}/` : `${relativePath}/`,\n description: frontmatter?.description || \"\",\n };\n\n skills[canonicalId] = skill;\n verbose(` Loaded skill: ${canonicalId}`);\n } catch (error) {\n verbose(` Failed to load skill: ${skillFile} - ${error}`);\n }\n }\n\n return skills;\n}\n\nasync function discoverLocalProjectSkills(projectDir: string): Promise<SkillDefinitionMap> {\n const localSkillsDir = path.join(projectDir, LOCAL_SKILLS_PATH);\n return loadSkillsFromDir(localSkillsDir, LOCAL_SKILLS_PATH);\n}\n\n/** Later sources take precedence over earlier ones */\nfunction mergeSkills(...skillSources: SkillDefinitionMap[]): SkillDefinitionMap {\n const merged: SkillDefinitionMap = {};\n\n for (const source of skillSources) {\n for (const [id, skill] of typedEntries<SkillId, SkillDefinition | undefined>(source)) {\n if (skill) {\n merged[id] = skill;\n }\n }\n }\n\n return merged;\n}\n\ntype CompileFlags = {\n source?: string;\n \"agent-source\"?: string;\n verbose: boolean;\n};\n\ntype DiscoveredSkills = {\n allSkills: SkillDefinitionMap;\n totalSkillCount: number;\n};\n\nexport default class Compile extends BaseCommand {\n static summary = \"Compile agents using local skills and agent definitions\";\n\n static description =\n \"Compile agents with resolved skill references. By default, compiles to the Claude plugin directory. Use --output to compile to a custom directory.\";\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --verbose\",\n \"<%= config.bin %> <%= command.id %> --output ./agents\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n verbose: Flags.boolean({\n char: \"v\",\n description: \"Enable verbose logging\",\n default: false,\n }),\n \"agent-source\": Flags.string({\n description: \"Remote agent partials source (default: local CLI)\",\n }),\n output: Flags.string({\n char: \"o\",\n description: \"Output directory for compiled agents (skips plugin mode)\",\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Compile);\n\n setVerbose(flags.verbose);\n\n if (flags.output) {\n await this.runCustomOutputCompile({\n ...flags,\n output: flags.output,\n });\n return;\n }\n\n const installation = await detectInstallation();\n\n if (!installation) {\n this.error(ERROR_MESSAGES.NO_INSTALLATION, {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n if (installation.projectDir === os.homedir()) {\n this.log(\"Using global installation from ~/.claude-src/\");\n }\n\n if (installation.mode === \"local\") {\n this.log(\"\");\n this.log(\"Local Mode Compile (auto-detected)\");\n this.log(\"\");\n await this.runCustomOutputCompile({\n ...flags,\n output: installation.agentsDir,\n });\n } else {\n await this.runPluginModeCompile(flags, installation);\n }\n }\n\n private async discoverAllSkills(projectDir: string = process.cwd()): Promise<DiscoveredSkills> {\n this.log(STATUS_MESSAGES.DISCOVERING_SKILLS);\n\n const pluginSkills = await discoverAllPluginSkills(projectDir);\n const pluginSkillCount = typedKeys<SkillId>(pluginSkills).length;\n verbose(` Found ${pluginSkillCount} skills from installed plugins`);\n\n // Load global local skills (skip if projectDir is already the home directory to avoid double-loading)\n const isGlobalProject = projectDir === GLOBAL_INSTALL_ROOT;\n const globalLocalSkillsDir = path.join(GLOBAL_INSTALL_ROOT, LOCAL_SKILLS_PATH);\n const globalLocalSkills = isGlobalProject\n ? {}\n : await loadSkillsFromDir(globalLocalSkillsDir, LOCAL_SKILLS_PATH);\n const globalLocalSkillCount = typedKeys<SkillId>(globalLocalSkills).length;\n if (globalLocalSkillCount > 0) {\n verbose(` Found ${globalLocalSkillCount} global local skills from ~/.claude/skills/`);\n }\n\n const localSkills = await discoverLocalProjectSkills(projectDir);\n const localSkillCount = typedKeys<SkillId>(localSkills).length;\n verbose(` Found ${localSkillCount} local skills from .claude/skills/`);\n\n // Global skills loaded first, project skills second — project wins on conflict (later sources override)\n const allSkills = mergeSkills(pluginSkills, globalLocalSkills, localSkills);\n const totalSkillCount = typedKeys<SkillId>(allSkills).length;\n\n if (totalSkillCount === 0) {\n this.log(ERROR_MESSAGES.NO_SKILLS_FOUND);\n this.error(\n `No skills found. Add skills with '${CLI_BIN_NAME} add <skill>' or create in .claude/skills/.`,\n { exit: EXIT_CODES.ERROR },\n );\n }\n\n if (pluginSkillCount > 0 && totalSkillCount > pluginSkillCount) {\n const localCount = totalSkillCount - pluginSkillCount;\n this.log(\n `Discovered ${totalSkillCount} skills (${pluginSkillCount} from plugins, ${localCount} local)`,\n );\n } else if (pluginSkillCount > 0) {\n this.log(`Discovered ${pluginSkillCount} skills from plugins`);\n } else {\n this.log(`Discovered ${totalSkillCount} local skills`);\n }\n\n return { allSkills, totalSkillCount };\n }\n\n private async resolveSourceForCompile(flags: CompileFlags): Promise<void> {\n this.log(STATUS_MESSAGES.RESOLVING_SOURCE);\n try {\n const sourceConfig = await resolveSource(flags.source);\n this.log(`Source: ${sourceConfig.sourceOrigin}`);\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_RESOLVE_SOURCE);\n this.handleError(error);\n }\n }\n\n private async loadAgentDefsForCompile(flags: CompileFlags): Promise<AgentSourcePaths> {\n const projectDir = process.cwd();\n this.log(\n flags[\"agent-source\"]\n ? STATUS_MESSAGES.FETCHING_AGENT_PARTIALS\n : STATUS_MESSAGES.LOADING_AGENT_PARTIALS,\n );\n\n try {\n const agentDefs = await getAgentDefinitions(flags[\"agent-source\"], {\n projectDir,\n });\n this.log(flags[\"agent-source\"] ? \"Agent partials fetched\" : \"Agent partials loaded\");\n verbose(` Agents: ${agentDefs.agentsDir}`);\n verbose(` Templates: ${agentDefs.templatesDir}`);\n return agentDefs;\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_LOAD_AGENT_PARTIALS);\n return this.handleError(error);\n }\n }\n\n private async runPluginModeCompile(\n flags: CompileFlags,\n installation: Installation,\n ): Promise<void> {\n this.log(\"\");\n this.log(\"Plugin Mode Compile\");\n this.log(\"\");\n\n const projectDir = installation.projectDir;\n const agentsDir = installation.agentsDir;\n\n this.log(\"Using individual plugin mode\");\n verbose(` Project: ${projectDir}`);\n verbose(` Agents: ${agentsDir}`);\n\n const loaded = await loadProjectConfigFromDir(projectDir);\n if (loaded) {\n const config = loaded.config;\n const agentCount = config.agents?.length ?? 0;\n const stackSkillCount = config.stack ? getStackSkillIds(config.stack).length : 0;\n this.log(`Using config (${agentCount} agents, ${stackSkillCount} skills)`);\n verbose(` Config: ${loaded.configPath}`);\n } else {\n verbose(` No config found - using defaults`);\n }\n\n const { allSkills } = await this.discoverAllSkills(projectDir);\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);\n try {\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n projectDir,\n outputDir: agentsDir,\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Recompiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Recompiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.PLUGIN_COMPILE_COMPLETE);\n this.log(\"\");\n }\n\n private async runCustomOutputCompile(flags: CompileFlags & { output: string }): Promise<void> {\n const outputDir = path.resolve(process.cwd(), flags.output);\n this.log(\"\");\n this.log(\"Custom Output Compile\");\n this.log(\"\");\n this.log(`Output directory: ${outputDir}`);\n this.log(\"\");\n\n await ensureDir(outputDir);\n\n const { allSkills } = await this.discoverAllSkills();\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n const projectDir = process.cwd();\n\n this.log(STATUS_MESSAGES.COMPILING_AGENTS);\n try {\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n outputDir,\n projectDir,\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Compiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Compiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_COMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n this.log(\"\");\n this.log(\"Agents compiled to:\");\n this.log(` ${outputDir}`);\n for (const agentName of recompileResult.compiled) {\n this.log(` ${agentName}.md`);\n }\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.CUSTOM_COMPILE_COMPLETE);\n this.log(\"\");\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/compile.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\nimport os from \"os\";\nimport path from \"path\";\nimport { BaseCommand } from \"../base-command\";\nimport { setVerbose, verbose, warn } from \"../utils/logger\";\nimport { discoverAllPluginSkills } from \"../lib/plugins\";\nimport { getAgentDefinitions } from \"../lib/agents\";\nimport { resolveSource } from \"../lib/configuration\";\nimport { directoryExists, ensureDir, glob, readFile, fileExists } from \"../utils/fs\";\nimport { recompileAgents } from \"../lib/agents\";\nimport { parseFrontmatter } from \"../lib/loading\";\nimport { CLI_BIN_NAME, GLOBAL_INSTALL_ROOT, LOCAL_SKILLS_PATH, STANDARD_FILES } from \"../consts\";\nimport { EXIT_CODES } from \"../lib/exit-codes\";\nimport {\n ERROR_MESSAGES,\n SUCCESS_MESSAGES,\n STATUS_MESSAGES,\n INFO_MESSAGES,\n} from \"../utils/messages\";\nimport {\n detectGlobalInstallation,\n detectProjectInstallation,\n type Installation,\n} from \"../lib/installation\";\nimport type { AgentSourcePaths, SkillDefinition, SkillDefinitionMap, SkillId } from \"../types\";\nimport { typedEntries, typedKeys } from \"../utils/typed-object\";\n\nasync function loadSkillsFromDir(skillsDir: string, pathPrefix = \"\"): Promise<SkillDefinitionMap> {\n const skills: SkillDefinitionMap = {};\n\n if (!(await directoryExists(skillsDir))) {\n return skills;\n }\n\n const skillFiles = await glob(\"**/SKILL.md\", skillsDir);\n\n for (const skillFile of skillFiles) {\n const skillPath = path.join(skillsDir, skillFile);\n const skillDir = path.dirname(skillPath);\n const relativePath = path.relative(skillsDir, skillDir);\n const skillDirName = path.basename(skillDir);\n\n const metadataPath = path.join(skillDir, STANDARD_FILES.METADATA_YAML);\n if (!(await fileExists(metadataPath))) {\n const displayPath = pathPrefix ? `${pathPrefix}/${relativePath}/` : `${relativePath}/`;\n warn(\n `Skill '${skillDirName}' in '${displayPath}' is missing ${STANDARD_FILES.METADATA_YAML} — skipped. Add ${STANDARD_FILES.METADATA_YAML} to register it with the CLI.`,\n );\n continue;\n }\n\n try {\n const content = await readFile(skillPath);\n const frontmatter = parseFrontmatter(content, skillPath);\n\n const skillName = frontmatter?.name || path.basename(skillDir);\n // Boundary cast: skill name from frontmatter/directory is an untyped string\n const canonicalId = skillName as SkillId;\n\n const skill: SkillDefinition = {\n id: canonicalId,\n path: pathPrefix ? `${pathPrefix}/${relativePath}/` : `${relativePath}/`,\n description: frontmatter?.description || \"\",\n };\n\n skills[canonicalId] = skill;\n verbose(` Loaded skill: ${canonicalId}`);\n } catch (error) {\n verbose(` Failed to load skill: ${skillFile} - ${error}`);\n }\n }\n\n return skills;\n}\n\nasync function discoverLocalProjectSkills(projectDir: string): Promise<SkillDefinitionMap> {\n const localSkillsDir = path.join(projectDir, LOCAL_SKILLS_PATH);\n return loadSkillsFromDir(localSkillsDir, LOCAL_SKILLS_PATH);\n}\n\n/** Later sources take precedence over earlier ones */\nfunction mergeSkills(...skillSources: SkillDefinitionMap[]): SkillDefinitionMap {\n const merged: SkillDefinitionMap = {};\n\n for (const source of skillSources) {\n for (const [id, skill] of typedEntries<SkillId, SkillDefinition | undefined>(source)) {\n if (skill) {\n merged[id] = skill;\n }\n }\n }\n\n return merged;\n}\n\ntype CompileFlags = {\n source?: string;\n \"agent-source\"?: string;\n verbose: boolean;\n};\n\ntype DiscoveredSkills = {\n allSkills: SkillDefinitionMap;\n totalSkillCount: number;\n};\n\nexport default class Compile extends BaseCommand {\n static summary = \"Compile agents using local skills and agent definitions\";\n\n static description =\n \"Compile agents with resolved skill references. By default, compiles to the Claude plugin directory. Use --output to compile to a custom directory.\";\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --verbose\",\n \"<%= config.bin %> <%= command.id %> --output ./agents\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n verbose: Flags.boolean({\n char: \"v\",\n description: \"Enable verbose logging\",\n default: false,\n }),\n \"agent-source\": Flags.string({\n description: \"Remote agent partials source (default: local CLI)\",\n }),\n output: Flags.string({\n char: \"o\",\n description: \"Output directory for compiled agents (skips plugin mode)\",\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Compile);\n\n setVerbose(flags.verbose);\n\n if (flags.output) {\n await this.runCustomOutputCompile({\n ...flags,\n output: flags.output,\n });\n return;\n }\n\n const cwd = process.cwd();\n const homeDir = os.homedir();\n\n const globalInstallation = await detectGlobalInstallation();\n // Skip project detection when cwd is home directory to avoid double-compile\n const projectInstallation = cwd === homeDir ? null : await detectProjectInstallation(cwd);\n\n if (!globalInstallation && !projectInstallation) {\n this.error(ERROR_MESSAGES.NO_INSTALLATION, {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n let totalPassesWithSkills = 0;\n\n if (globalInstallation) {\n const hadSkills = await this.runCompilePass({\n label: \"Global\",\n projectDir: homeDir,\n installation: globalInstallation,\n agentDefs,\n flags,\n });\n if (hadSkills) totalPassesWithSkills++;\n }\n\n if (projectInstallation) {\n const hadSkills = await this.runCompilePass({\n label: \"Project\",\n projectDir: cwd,\n installation: projectInstallation,\n agentDefs,\n flags,\n });\n if (hadSkills) totalPassesWithSkills++;\n }\n\n if (totalPassesWithSkills === 0) {\n this.error(\n `No skills found. Add skills with '${CLI_BIN_NAME} add <skill>' or create in .claude/skills/.`,\n { exit: EXIT_CODES.ERROR },\n );\n }\n }\n\n private async discoverAllSkills(projectDir: string = process.cwd()): Promise<DiscoveredSkills> {\n this.log(STATUS_MESSAGES.DISCOVERING_SKILLS);\n\n const pluginSkills = await discoverAllPluginSkills(projectDir);\n const pluginSkillCount = typedKeys<SkillId>(pluginSkills).length;\n verbose(` Found ${pluginSkillCount} skills from installed plugins`);\n\n // Load global local skills (skip if projectDir is already the home directory to avoid double-loading)\n const isGlobalProject = projectDir === GLOBAL_INSTALL_ROOT;\n const globalLocalSkillsDir = path.join(GLOBAL_INSTALL_ROOT, LOCAL_SKILLS_PATH);\n const globalLocalSkills = isGlobalProject\n ? {}\n : await loadSkillsFromDir(globalLocalSkillsDir, LOCAL_SKILLS_PATH);\n const globalLocalSkillCount = typedKeys<SkillId>(globalLocalSkills).length;\n if (globalLocalSkillCount > 0) {\n verbose(` Found ${globalLocalSkillCount} global local skills from ~/.claude/skills/`);\n }\n\n const localSkills = await discoverLocalProjectSkills(projectDir);\n const localSkillCount = typedKeys<SkillId>(localSkills).length;\n verbose(` Found ${localSkillCount} local skills from .claude/skills/`);\n\n // Global skills loaded first, project skills second — project wins on conflict (later sources override)\n const allSkills = mergeSkills(pluginSkills, globalLocalSkills, localSkills);\n const totalSkillCount = typedKeys<SkillId>(allSkills).length;\n\n if (totalSkillCount === 0) {\n return { allSkills, totalSkillCount };\n }\n\n if (pluginSkillCount > 0 && totalSkillCount > pluginSkillCount) {\n const localCount = totalSkillCount - pluginSkillCount;\n this.log(\n `Discovered ${totalSkillCount} skills (${pluginSkillCount} from plugins, ${localCount} local)`,\n );\n } else if (pluginSkillCount > 0) {\n this.log(`Discovered ${pluginSkillCount} skills from plugins`);\n } else {\n this.log(`Discovered ${totalSkillCount} local skills`);\n }\n\n return { allSkills, totalSkillCount };\n }\n\n private async runCompilePass(params: {\n label: string;\n projectDir: string;\n installation: Installation;\n agentDefs: AgentSourcePaths;\n flags: CompileFlags;\n }): Promise<boolean> {\n const { label, projectDir, installation, agentDefs, flags } = params;\n\n this.log(\"\");\n this.log(`Compiling ${label.toLowerCase()} agents...`);\n this.log(\"\");\n\n verbose(` Project: ${projectDir}`);\n verbose(` Agents: ${installation.agentsDir}`);\n\n const { allSkills, totalSkillCount } = await this.discoverAllSkills(projectDir);\n\n if (totalSkillCount === 0) {\n this.log(`No skills found for ${label.toLowerCase()} pass, skipping`);\n return false;\n }\n\n this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);\n try {\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n projectDir,\n outputDir: installation.agentsDir,\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Recompiled ${recompileResult.compiled.length} ${label.toLowerCase()} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Recompiled ${recompileResult.compiled.length} ${label.toLowerCase()} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(`${label} compile complete!`);\n this.log(\"\");\n\n return true;\n }\n\n private async resolveSourceForCompile(flags: CompileFlags): Promise<void> {\n this.log(STATUS_MESSAGES.RESOLVING_SOURCE);\n try {\n const sourceConfig = await resolveSource(flags.source);\n this.log(`Source: ${sourceConfig.sourceOrigin}`);\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_RESOLVE_SOURCE);\n this.handleError(error);\n }\n }\n\n private async loadAgentDefsForCompile(flags: CompileFlags): Promise<AgentSourcePaths> {\n const projectDir = process.cwd();\n this.log(\n flags[\"agent-source\"]\n ? STATUS_MESSAGES.FETCHING_AGENT_PARTIALS\n : STATUS_MESSAGES.LOADING_AGENT_PARTIALS,\n );\n\n try {\n const agentDefs = await getAgentDefinitions(flags[\"agent-source\"], {\n projectDir,\n });\n this.log(flags[\"agent-source\"] ? \"Agent partials fetched\" : \"Agent partials loaded\");\n verbose(` Agents: ${agentDefs.agentsDir}`);\n verbose(` Templates: ${agentDefs.templatesDir}`);\n return agentDefs;\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_LOAD_AGENT_PARTIALS);\n return this.handleError(error);\n }\n }\n\n private async runCustomOutputCompile(flags: CompileFlags & { output: string }): Promise<void> {\n const outputDir = path.resolve(process.cwd(), flags.output);\n this.log(\"\");\n this.log(\"Custom Output Compile\");\n this.log(\"\");\n this.log(`Output directory: ${outputDir}`);\n this.log(\"\");\n\n await ensureDir(outputDir);\n\n const { allSkills, totalSkillCount } = await this.discoverAllSkills();\n\n if (totalSkillCount === 0) {\n this.error(\n `No skills found. Add skills with '${CLI_BIN_NAME} add <skill>' or create in .claude/skills/.`,\n { exit: EXIT_CODES.ERROR },\n );\n }\n\n await this.resolveSourceForCompile(flags);\n const agentDefs = await this.loadAgentDefsForCompile(flags);\n\n const projectDir = process.cwd();\n\n this.log(STATUS_MESSAGES.COMPILING_AGENTS);\n try {\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: agentDefs.sourcePath,\n skills: allSkills,\n outputDir,\n projectDir,\n });\n\n if (recompileResult.failed.length > 0) {\n this.log(\n `Compiled ${recompileResult.compiled.length} agents (${recompileResult.failed.length} failed)`,\n );\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n } else if (recompileResult.compiled.length > 0) {\n this.log(`Compiled ${recompileResult.compiled.length} agents`);\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_COMPILE);\n }\n\n if (recompileResult.compiled.length > 0) {\n verbose(` Compiled: ${recompileResult.compiled.join(\", \")}`);\n this.log(\"\");\n this.log(\"Agents compiled to:\");\n this.log(` ${outputDir}`);\n for (const agentName of recompileResult.compiled) {\n this.log(` ${agentName}.md`);\n }\n }\n } catch (error) {\n this.log(ERROR_MESSAGES.FAILED_COMPILE_AGENTS);\n this.handleError(error);\n }\n\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.CUSTOM_COMPILE_COMPLETE);\n this.log(\"\");\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigShow
4
- } from "../../chunk-K6OLORQL.js";
5
- import "../../chunk-TZXYBG3R.js";
4
+ } from "../../chunk-SDLDPFNV.js";
5
+ import "../../chunk-FWMWWE3X.js";
6
6
  import "../../chunk-OCEFD7V6.js";
7
7
  import "../../chunk-T4EXUIBY.js";
8
8
  import "../../chunk-VR3CDXDT.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getProjectConfigPath
4
- } from "../../chunk-TZXYBG3R.js";
4
+ } from "../../chunk-FWMWWE3X.js";
5
5
  import "../../chunk-OCEFD7V6.js";
6
6
  import "../../chunk-T4EXUIBY.js";
7
7
  import {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigShow
4
- } from "../../chunk-K6OLORQL.js";
5
- import "../../chunk-TZXYBG3R.js";
4
+ } from "../../chunk-SDLDPFNV.js";
5
+ import "../../chunk-FWMWWE3X.js";
6
6
  import "../../chunk-OCEFD7V6.js";
7
7
  import "../../chunk-T4EXUIBY.js";
8
8
  import "../../chunk-VR3CDXDT.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  loadSkillsMatrixFromSource,
4
4
  readForkedFromMetadata
5
- } from "../chunk-TZXYBG3R.js";
5
+ } from "../chunk-FWMWWE3X.js";
6
6
  import "../chunk-OCEFD7V6.js";
7
7
  import "../chunk-T4EXUIBY.js";
8
8
  import {
@@ -5,7 +5,7 @@ import {
5
5
  loadProjectConfig,
6
6
  loadSkillsMatrixFromSource,
7
7
  validateProjectConfig
8
- } from "../chunk-TZXYBG3R.js";
8
+ } from "../chunk-FWMWWE3X.js";
9
9
  import "../chunk-OCEFD7V6.js";
10
10
  import "../chunk-T4EXUIBY.js";
11
11
  import {
@@ -1,39 +1,39 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Wizard
4
- } from "../chunk-6G3KZSO4.js";
5
- import "../chunk-52M2XF3W.js";
6
- import "../chunk-SZRK3VOR.js";
7
- import "../chunk-MKCHLXMY.js";
8
- import "../chunk-EMIUPGPL.js";
4
+ } from "../chunk-46DQG2N7.js";
5
+ import "../chunk-GH2RQ4MI.js";
6
+ import "../chunk-M6YWRMXH.js";
7
+ import "../chunk-H5DASUX5.js";
8
+ import "../chunk-WHISPMAQ.js";
9
9
  import "../chunk-MMFQNJPE.js";
10
10
  import "../chunk-HGTC76BX.js";
11
- import "../chunk-SEJF7CGJ.js";
12
- import "../chunk-TC3NHO34.js";
11
+ import "../chunk-Z3TM4N37.js";
12
+ import "../chunk-KD2YS76O.js";
13
13
  import "../chunk-K77I4XGL.js";
14
14
  import "../chunk-KIWFEBKH.js";
15
15
  import "../chunk-O6BA7Q2B.js";
16
16
  import "../chunk-7SOPVGDV.js";
17
17
  import "../chunk-SDKCQXWE.js";
18
18
  import "../chunk-KUV24B5M.js";
19
- import "../chunk-BMJZBLP7.js";
19
+ import "../chunk-6DAZG54T.js";
20
20
  import "../chunk-X5EG4EFP.js";
21
21
  import "../chunk-H7WJK7NJ.js";
22
22
  import "../chunk-GG4BSB6S.js";
23
- import "../chunk-TGLRDEEL.js";
23
+ import "../chunk-KDO6WU76.js";
24
24
  import "../chunk-BKJHAJQW.js";
25
25
  import "../chunk-CIG7IKX3.js";
26
26
  import "../chunk-WYVDNGJB.js";
27
27
  import "../chunk-MGNYPVOJ.js";
28
28
  import "../chunk-BNQ5O6LE.js";
29
29
  import "../chunk-52XO4ULK.js";
30
- import "../chunk-WF6RM73R.js";
30
+ import "../chunk-IGM6HA3S.js";
31
31
  import "../chunk-XUDTFI4M.js";
32
32
  import "../chunk-U3IGFMCY.js";
33
33
  import {
34
34
  getAgentDefinitions,
35
35
  recompileAgents
36
- } from "../chunk-YHCYKUA3.js";
36
+ } from "../chunk-SRBN6RRD.js";
37
37
  import {
38
38
  ERROR_MESSAGES,
39
39
  INFO_MESSAGES,
@@ -55,7 +55,7 @@ import {
55
55
  migrateLocalSkillScope,
56
56
  splitConfigByScope,
57
57
  writeConfigFile
58
- } from "../chunk-TZXYBG3R.js";
58
+ } from "../chunk-FWMWWE3X.js";
59
59
  import "../chunk-OCEFD7V6.js";
60
60
  import "../chunk-T4EXUIBY.js";
61
61
  import {
@@ -5,7 +5,7 @@ import {
5
5
  loadSkillsMatrixFromSource,
6
6
  resolveSource,
7
7
  saveSourceToProjectConfig
8
- } from "../chunk-TZXYBG3R.js";
8
+ } from "../chunk-FWMWWE3X.js";
9
9
  import "../chunk-OCEFD7V6.js";
10
10
  import {
11
11
  typedKeys
@@ -8,7 +8,7 @@ import {
8
8
  computeFileHash,
9
9
  fetchFromSource,
10
10
  getCurrentDate
11
- } from "../../chunk-TZXYBG3R.js";
11
+ } from "../../chunk-FWMWWE3X.js";
12
12
  import "../../chunk-OCEFD7V6.js";
13
13
  import "../../chunk-T4EXUIBY.js";
14
14
  import {
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  discoverLocalSkills,
7
7
  loadSkillsMatrixFromSource
8
- } from "../chunk-TZXYBG3R.js";
8
+ } from "../chunk-FWMWWE3X.js";
9
9
  import "../chunk-OCEFD7V6.js";
10
10
  import "../chunk-T4EXUIBY.js";
11
11
  import {
@@ -4,38 +4,38 @@ import {
4
4
  formatDashboardText,
5
5
  getDashboardData,
6
6
  showDashboard
7
- } from "../chunk-G6WHCALR.js";
8
- import "../chunk-6G3KZSO4.js";
9
- import "../chunk-52M2XF3W.js";
10
- import "../chunk-SZRK3VOR.js";
11
- import "../chunk-MKCHLXMY.js";
12
- import "../chunk-EMIUPGPL.js";
7
+ } from "../chunk-YHOHLNHM.js";
8
+ import "../chunk-46DQG2N7.js";
9
+ import "../chunk-GH2RQ4MI.js";
10
+ import "../chunk-M6YWRMXH.js";
11
+ import "../chunk-H5DASUX5.js";
12
+ import "../chunk-WHISPMAQ.js";
13
13
  import "../chunk-MMFQNJPE.js";
14
14
  import "../chunk-HGTC76BX.js";
15
- import "../chunk-SEJF7CGJ.js";
16
- import "../chunk-TC3NHO34.js";
15
+ import "../chunk-Z3TM4N37.js";
16
+ import "../chunk-KD2YS76O.js";
17
17
  import "../chunk-K77I4XGL.js";
18
18
  import "../chunk-KIWFEBKH.js";
19
19
  import "../chunk-O6BA7Q2B.js";
20
20
  import "../chunk-7SOPVGDV.js";
21
21
  import "../chunk-SDKCQXWE.js";
22
22
  import "../chunk-KUV24B5M.js";
23
- import "../chunk-BMJZBLP7.js";
23
+ import "../chunk-6DAZG54T.js";
24
24
  import "../chunk-X5EG4EFP.js";
25
25
  import "../chunk-H7WJK7NJ.js";
26
26
  import "../chunk-GG4BSB6S.js";
27
- import "../chunk-TGLRDEEL.js";
27
+ import "../chunk-KDO6WU76.js";
28
28
  import "../chunk-BKJHAJQW.js";
29
29
  import "../chunk-CIG7IKX3.js";
30
30
  import "../chunk-WYVDNGJB.js";
31
31
  import "../chunk-MGNYPVOJ.js";
32
32
  import "../chunk-BNQ5O6LE.js";
33
33
  import "../chunk-52XO4ULK.js";
34
- import "../chunk-WF6RM73R.js";
34
+ import "../chunk-IGM6HA3S.js";
35
35
  import "../chunk-XUDTFI4M.js";
36
36
  import "../chunk-U3IGFMCY.js";
37
37
  import "../chunk-MR6OBL3B.js";
38
- import "../chunk-TZXYBG3R.js";
38
+ import "../chunk-FWMWWE3X.js";
39
39
  import "../chunk-OCEFD7V6.js";
40
40
  import "../chunk-T4EXUIBY.js";
41
41
  import "../chunk-VR3CDXDT.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  formatInstallationDisplay,
4
4
  getInstallationInfo
5
- } from "../chunk-TZXYBG3R.js";
5
+ } from "../chunk-FWMWWE3X.js";
6
6
  import "../chunk-OCEFD7V6.js";
7
7
  import "../chunk-T4EXUIBY.js";
8
8
  import {
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getAgentDefinitions
4
- } from "../../chunk-YHCYKUA3.js";
4
+ } from "../../chunk-SRBN6RRD.js";
5
5
  import {
6
6
  isClaudeCLIAvailable,
7
7
  loadConfigTypesDataInBackground,
8
8
  regenerateConfigTypes,
9
9
  resolveSource
10
- } from "../../chunk-TZXYBG3R.js";
10
+ } from "../../chunk-FWMWWE3X.js";
11
11
  import "../../chunk-OCEFD7V6.js";
12
12
  import "../../chunk-T4EXUIBY.js";
13
13
  import {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  generateSkillCategoriesTs,
4
4
  generateSkillRulesTs
5
- } from "../../chunk-RO6LX3UV.js";
5
+ } from "../../chunk-IEEVXLJB.js";
6
6
  import {
7
7
  generateMarketplace,
8
8
  writeMarketplace
@@ -13,7 +13,7 @@ import {
13
13
  loadConfigTypesDataInBackground,
14
14
  regenerateConfigTypes,
15
15
  saveProjectConfig
16
- } from "../../chunk-TZXYBG3R.js";
16
+ } from "../../chunk-FWMWWE3X.js";
17
17
  import "../../chunk-OCEFD7V6.js";
18
18
  import "../../chunk-T4EXUIBY.js";
19
19
  import {
@@ -7,8 +7,8 @@ import {
7
7
  generateSkillRulesTs,
8
8
  toTitleCase,
9
9
  validateSkillName
10
- } from "../../chunk-RO6LX3UV.js";
11
- import "../../chunk-TZXYBG3R.js";
10
+ } from "../../chunk-IEEVXLJB.js";
11
+ import "../../chunk-FWMWWE3X.js";
12
12
  import "../../chunk-OCEFD7V6.js";
13
13
  import "../../chunk-T4EXUIBY.js";
14
14
  import "../../chunk-VR3CDXDT.js";
@@ -3,7 +3,7 @@ import {
3
3
  compareLocalSkillsWithSource,
4
4
  detectInstallation,
5
5
  loadSkillsMatrixFromSource
6
- } from "../chunk-TZXYBG3R.js";
6
+ } from "../chunk-FWMWWE3X.js";
7
7
  import "../chunk-OCEFD7V6.js";
8
8
  import {
9
9
  typedEntries
@@ -13,7 +13,7 @@ import {
13
13
  fetchFromSource,
14
14
  loadSkillsMatrixFromSource,
15
15
  resolveAllSources
16
- } from "../chunk-TZXYBG3R.js";
16
+ } from "../chunk-FWMWWE3X.js";
17
17
  import {
18
18
  parseFrontmatter
19
19
  } from "../chunk-OCEFD7V6.js";
@@ -13,7 +13,7 @@ import {
13
13
  listPluginNames,
14
14
  loadProjectSourceConfig,
15
15
  readForkedFromMetadata
16
- } from "../chunk-TZXYBG3R.js";
16
+ } from "../chunk-FWMWWE3X.js";
17
17
  import "../chunk-OCEFD7V6.js";
18
18
  import "../chunk-T4EXUIBY.js";
19
19
  import {
@@ -4,7 +4,7 @@ import {
4
4
  } from "../chunk-N6S7ZRIL.js";
5
5
  import {
6
6
  recompileAgents
7
- } from "../chunk-YHCYKUA3.js";
7
+ } from "../chunk-SRBN6RRD.js";
8
8
  import {
9
9
  ERROR_MESSAGES,
10
10
  INFO_MESSAGES,
@@ -15,7 +15,7 @@ import {
15
15
  compareLocalSkillsWithSource,
16
16
  injectForkedFromMetadata,
17
17
  loadSkillsMatrixFromSource
18
- } from "../chunk-TZXYBG3R.js";
18
+ } from "../chunk-FWMWWE3X.js";
19
19
  import "../chunk-OCEFD7V6.js";
20
20
  import "../chunk-T4EXUIBY.js";
21
21
  import {
@@ -14,7 +14,7 @@ import {
14
14
  validateAllPlugins,
15
15
  validateAllSchemas,
16
16
  validatePlugin
17
- } from "../chunk-TZXYBG3R.js";
17
+ } from "../chunk-FWMWWE3X.js";
18
18
  import {
19
19
  parseFrontmatter
20
20
  } from "../chunk-OCEFD7V6.js";
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  DomainSelection
4
- } from "../../chunk-TGLRDEEL.js";
4
+ } from "../../chunk-KDO6WU76.js";
5
5
  import "../../chunk-BKJHAJQW.js";
6
6
  import "../../chunk-CIG7IKX3.js";
7
7
  import "../../chunk-WYVDNGJB.js";
8
8
  import "../../chunk-MGNYPVOJ.js";
9
9
  import "../../chunk-BNQ5O6LE.js";
10
- import "../../chunk-WF6RM73R.js";
11
- import "../../chunk-TZXYBG3R.js";
10
+ import "../../chunk-IGM6HA3S.js";
11
+ import "../../chunk-FWMWWE3X.js";
12
12
  import "../../chunk-OCEFD7V6.js";
13
13
  import "../../chunk-T4EXUIBY.js";
14
14
  import "../../chunk-LWXRUR6B.js";
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StackSelection
4
- } from "../../chunk-BMJZBLP7.js";
4
+ } from "../../chunk-6DAZG54T.js";
5
5
  import "../../chunk-X5EG4EFP.js";
6
6
  import "../../chunk-BNQ5O6LE.js";
7
- import "../../chunk-WF6RM73R.js";
8
- import "../../chunk-TZXYBG3R.js";
7
+ import "../../chunk-IGM6HA3S.js";
8
+ import "../../chunk-FWMWWE3X.js";
9
9
  import "../../chunk-OCEFD7V6.js";
10
10
  import "../../chunk-T4EXUIBY.js";
11
11
  import "../../chunk-LWXRUR6B.js";
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepAgents
4
- } from "../../chunk-SEJF7CGJ.js";
4
+ } from "../../chunk-Z3TM4N37.js";
5
5
  import "../../chunk-K77I4XGL.js";
6
6
  import "../../chunk-BKJHAJQW.js";
7
7
  import "../../chunk-WYVDNGJB.js";
8
8
  import "../../chunk-MGNYPVOJ.js";
9
9
  import "../../chunk-BNQ5O6LE.js";
10
- import "../../chunk-WF6RM73R.js";
11
- import "../../chunk-TZXYBG3R.js";
10
+ import "../../chunk-IGM6HA3S.js";
11
+ import "../../chunk-FWMWWE3X.js";
12
12
  import "../../chunk-OCEFD7V6.js";
13
13
  import "../../chunk-T4EXUIBY.js";
14
14
  import "../../chunk-LWXRUR6B.js";
@@ -23,7 +23,7 @@ import {
23
23
  } from "../../chunk-XY3XDVMI.js";
24
24
  import {
25
25
  StepAgents
26
- } from "../../chunk-SEJF7CGJ.js";
26
+ } from "../../chunk-Z3TM4N37.js";
27
27
  import "../../chunk-K77I4XGL.js";
28
28
  import "../../chunk-BKJHAJQW.js";
29
29
  import "../../chunk-WYVDNGJB.js";
@@ -31,8 +31,8 @@ import "../../chunk-MGNYPVOJ.js";
31
31
  import "../../chunk-BNQ5O6LE.js";
32
32
  import {
33
33
  useWizardStore
34
- } from "../../chunk-WF6RM73R.js";
35
- import "../../chunk-TZXYBG3R.js";
34
+ } from "../../chunk-IGM6HA3S.js";
35
+ import "../../chunk-FWMWWE3X.js";
36
36
  import "../../chunk-OCEFD7V6.js";
37
37
  import "../../chunk-T4EXUIBY.js";
38
38
  import "../../chunk-LWXRUR6B.js";
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepBuild
4
- } from "../../chunk-TC3NHO34.js";
4
+ } from "../../chunk-KD2YS76O.js";
5
5
  import "../../chunk-K77I4XGL.js";
6
6
  import "../../chunk-H7WJK7NJ.js";
7
7
  import "../../chunk-GG4BSB6S.js";
8
8
  import "../../chunk-BKJHAJQW.js";
9
9
  import "../../chunk-MGNYPVOJ.js";
10
10
  import "../../chunk-BNQ5O6LE.js";
11
- import "../../chunk-WF6RM73R.js";
12
- import "../../chunk-TZXYBG3R.js";
11
+ import "../../chunk-IGM6HA3S.js";
12
+ import "../../chunk-FWMWWE3X.js";
13
13
  import "../../chunk-OCEFD7V6.js";
14
14
  import "../../chunk-T4EXUIBY.js";
15
15
  import "../../chunk-LWXRUR6B.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "../../chunk-XY3XDVMI.js";
25
25
  import {
26
26
  StepBuild
27
- } from "../../chunk-TC3NHO34.js";
27
+ } from "../../chunk-KD2YS76O.js";
28
28
  import "../../chunk-K77I4XGL.js";
29
29
  import "../../chunk-H7WJK7NJ.js";
30
30
  import "../../chunk-GG4BSB6S.js";
@@ -36,8 +36,8 @@ import "../../chunk-BNQ5O6LE.js";
36
36
  import {
37
37
  getSkillDisplayLabel,
38
38
  validateBuildStep
39
- } from "../../chunk-WF6RM73R.js";
40
- import "../../chunk-TZXYBG3R.js";
39
+ } from "../../chunk-IGM6HA3S.js";
40
+ import "../../chunk-FWMWWE3X.js";
41
41
  import "../../chunk-OCEFD7V6.js";
42
42
  import "../../chunk-T4EXUIBY.js";
43
43
  import "../../chunk-LWXRUR6B.js";
@@ -26,8 +26,8 @@ import "../../chunk-BKJHAJQW.js";
26
26
  import "../../chunk-MGNYPVOJ.js";
27
27
  import {
28
28
  useWizardStore
29
- } from "../../chunk-WF6RM73R.js";
30
- import "../../chunk-TZXYBG3R.js";
29
+ } from "../../chunk-IGM6HA3S.js";
30
+ import "../../chunk-FWMWWE3X.js";
31
31
  import "../../chunk-OCEFD7V6.js";
32
32
  import "../../chunk-T4EXUIBY.js";
33
33
  import "../../chunk-LWXRUR6B.js";
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepSettings
4
- } from "../../chunk-52M2XF3W.js";
4
+ } from "../../chunk-GH2RQ4MI.js";
5
5
  import "../../chunk-7SOPVGDV.js";
6
6
  import "../../chunk-KUV24B5M.js";
7
7
  import "../../chunk-WYVDNGJB.js";
8
8
  import "../../chunk-MGNYPVOJ.js";
9
9
  import "../../chunk-BNQ5O6LE.js";
10
10
  import "../../chunk-U3IGFMCY.js";
11
- import "../../chunk-TZXYBG3R.js";
11
+ import "../../chunk-FWMWWE3X.js";
12
12
  import "../../chunk-OCEFD7V6.js";
13
13
  import "../../chunk-T4EXUIBY.js";
14
14
  import "../../chunk-LWXRUR6B.js";
@@ -19,14 +19,14 @@ import {
19
19
  } from "../../chunk-XY3XDVMI.js";
20
20
  import {
21
21
  StepSettings
22
- } from "../../chunk-52M2XF3W.js";
22
+ } from "../../chunk-GH2RQ4MI.js";
23
23
  import "../../chunk-7SOPVGDV.js";
24
24
  import "../../chunk-KUV24B5M.js";
25
25
  import "../../chunk-WYVDNGJB.js";
26
26
  import "../../chunk-MGNYPVOJ.js";
27
27
  import "../../chunk-BNQ5O6LE.js";
28
28
  import "../../chunk-U3IGFMCY.js";
29
- import "../../chunk-TZXYBG3R.js";
29
+ import "../../chunk-FWMWWE3X.js";
30
30
  import "../../chunk-OCEFD7V6.js";
31
31
  import "../../chunk-T4EXUIBY.js";
32
32
  import "../../chunk-LWXRUR6B.js";
@@ -59,7 +59,7 @@ describe("StepSettings component", () => {
59
59
  let cleanup;
60
60
  beforeEach(async () => {
61
61
  vi.resetAllMocks();
62
- const { getSourceSummary } = await import("../../source-manager-Q7IQSGIX.js");
62
+ const { getSourceSummary } = await import("../../source-manager-5XBSPJNR.js");
63
63
  vi.mocked(getSourceSummary).mockResolvedValue({
64
64
  sources: [
65
65
  { name: "public", url: "github:agents-inc/skills", enabled: true },
@@ -220,7 +220,7 @@ describe("StepSettings component", () => {
220
220
  });
221
221
  describe("edge cases", () => {
222
222
  it("should handle empty sources list gracefully", async () => {
223
- const { getSourceSummary } = await import("../../source-manager-Q7IQSGIX.js");
223
+ const { getSourceSummary } = await import("../../source-manager-5XBSPJNR.js");
224
224
  vi.mocked(getSourceSummary).mockResolvedValue({
225
225
  sources: [{ name: "public", url: "github:agents-inc/skills", enabled: true }],
226
226
  localSkillCount: 0,
@@ -234,7 +234,7 @@ describe("StepSettings component", () => {
234
234
  globalExpect(output).toContain("0");
235
235
  });
236
236
  it("should handle getSourceSummary failure gracefully", async () => {
237
- const { getSourceSummary } = await import("../../source-manager-Q7IQSGIX.js");
237
+ const { getSourceSummary } = await import("../../source-manager-5XBSPJNR.js");
238
238
  vi.mocked(getSourceSummary).mockRejectedValue(new Error("Config read failed"));
239
239
  const { lastFrame, unmount } = renderStepSettings();
240
240
  cleanup = unmount;
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepSources
4
- } from "../../chunk-SZRK3VOR.js";
4
+ } from "../../chunk-M6YWRMXH.js";
5
5
  import "../../chunk-HGTC76BX.js";
6
6
  import "../../chunk-K77I4XGL.js";
7
7
  import "../../chunk-O6BA7Q2B.js";
@@ -12,8 +12,8 @@ import "../../chunk-X5EG4EFP.js";
12
12
  import "../../chunk-GG4BSB6S.js";
13
13
  import "../../chunk-MGNYPVOJ.js";
14
14
  import "../../chunk-BNQ5O6LE.js";
15
- import "../../chunk-WF6RM73R.js";
16
- import "../../chunk-TZXYBG3R.js";
15
+ import "../../chunk-IGM6HA3S.js";
16
+ import "../../chunk-FWMWWE3X.js";
17
17
  import "../../chunk-OCEFD7V6.js";
18
18
  import "../../chunk-T4EXUIBY.js";
19
19
  import "../../chunk-LWXRUR6B.js";