@agents-inc/cli 0.85.0 → 0.86.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 (123) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{chunk-6VGBO6SZ.js → chunk-5M6Q5UQO.js} +2 -2
  3. package/dist/{chunk-YJ2URWF7.js → chunk-B6MYECV6.js} +2 -2
  4. package/dist/{chunk-FT46LN7K.js → chunk-BV2MIQ3O.js} +7 -8
  5. package/dist/chunk-BV2MIQ3O.js.map +1 -0
  6. package/dist/{chunk-G2MINRWX.js → chunk-C5IYJ42F.js} +2 -2
  7. package/dist/{chunk-7UZUDHP7.js → chunk-CXWBVBDM.js} +2 -2
  8. package/dist/chunk-DCVCFBQ7.js +1800 -0
  9. package/dist/chunk-DCVCFBQ7.js.map +1 -0
  10. package/dist/{chunk-CYPCJ536.js → chunk-FBZR46GC.js} +92 -92
  11. package/dist/chunk-FBZR46GC.js.map +1 -0
  12. package/dist/{chunk-TXW257CU.js → chunk-GED2F75H.js} +90 -167
  13. package/dist/chunk-GED2F75H.js.map +1 -0
  14. package/dist/{chunk-LTFGEVTM.js → chunk-HH3AWXF4.js} +3 -3
  15. package/dist/{chunk-2XVLQDNI.js → chunk-HSLVCKVQ.js} +3 -3
  16. package/dist/{chunk-TAQGYJIS.js → chunk-HZ2IBXVQ.js} +3 -3
  17. package/dist/{chunk-LN76TJJP.js → chunk-HZQOFFKA.js} +10 -10
  18. package/dist/{chunk-W7LHI54P.js → chunk-I44YG6VI.js} +2 -2
  19. package/dist/{chunk-L7COG2EX.js → chunk-LZ7XQ3IU.js} +2 -2
  20. package/dist/{chunk-LMR7VAP3.js → chunk-MMTMXLI4.js} +2 -2
  21. package/dist/chunk-N6A7A4RA.js +16 -0
  22. package/dist/chunk-N6A7A4RA.js.map +1 -0
  23. package/dist/{chunk-WJKD6EGK.js → chunk-NUU3U43A.js} +5 -6
  24. package/dist/chunk-NUU3U43A.js.map +1 -0
  25. package/dist/chunk-O5ZWS26C.js +166 -0
  26. package/dist/chunk-O5ZWS26C.js.map +1 -0
  27. package/dist/{chunk-YYIWB42G.js → chunk-Q4DMIPZB.js} +2 -2
  28. package/dist/{chunk-YSLDMYWP.js → chunk-SGZOFIFF.js} +2 -2
  29. package/dist/{chunk-FKXD3EXJ.js → chunk-TMTUTUEV.js} +42 -228
  30. package/dist/chunk-TMTUTUEV.js.map +1 -0
  31. package/dist/{chunk-WCCWQ56J.js → chunk-UNEJKTLP.js} +3 -3
  32. package/dist/chunk-XQK4S22C.js +202 -0
  33. package/dist/chunk-XQK4S22C.js.map +1 -0
  34. package/dist/{chunk-ZGD7PLLC.js → chunk-ZOWRO7UQ.js} +3 -3
  35. package/dist/commands/build/marketplace.js +3 -3
  36. package/dist/commands/build/plugins.js +5 -5
  37. package/dist/commands/build/stack.js +5 -5
  38. package/dist/commands/compile.js +63 -163
  39. package/dist/commands/compile.js.map +1 -1
  40. package/dist/commands/config/index.js +5 -5
  41. package/dist/commands/config/path.js +4 -4
  42. package/dist/commands/config/show.js +5 -5
  43. package/dist/commands/diff.js +27 -632
  44. package/dist/commands/diff.js.map +1 -1
  45. package/dist/commands/doctor.js +41 -28
  46. package/dist/commands/doctor.js.map +1 -1
  47. package/dist/commands/edit.js +128 -194
  48. package/dist/commands/edit.js.map +1 -1
  49. package/dist/commands/eject.js +58 -126
  50. package/dist/commands/eject.js.map +1 -1
  51. package/dist/commands/import/skill.js +15 -148
  52. package/dist/commands/import/skill.js.map +1 -1
  53. package/dist/commands/info.js +34 -85
  54. package/dist/commands/info.js.map +1 -1
  55. package/dist/commands/init.js +23 -17
  56. package/dist/commands/list.js +4 -4
  57. package/dist/commands/new/agent.js +23 -97
  58. package/dist/commands/new/agent.js.map +1 -1
  59. package/dist/commands/new/marketplace.js +9 -9
  60. package/dist/commands/new/marketplace.js.map +1 -1
  61. package/dist/commands/new/skill.js +169 -20
  62. package/dist/commands/new/skill.js.map +1 -1
  63. package/dist/commands/outdated.js +18 -24
  64. package/dist/commands/outdated.js.map +1 -1
  65. package/dist/commands/search.js +37 -100
  66. package/dist/commands/search.js.map +1 -1
  67. package/dist/commands/uninstall.js +39 -156
  68. package/dist/commands/uninstall.js.map +1 -1
  69. package/dist/commands/update.js +49 -99
  70. package/dist/commands/update.js.map +1 -1
  71. package/dist/commands/validate.js +4 -4
  72. package/dist/components/skill-search/skill-search.js +2 -1
  73. package/dist/components/wizard/category-grid.test.js +4 -4
  74. package/dist/components/wizard/domain-selection.js +5 -5
  75. package/dist/components/wizard/help-modal.js +5 -5
  76. package/dist/components/wizard/source-grid.test.js +4 -4
  77. package/dist/components/wizard/stack-selection.js +5 -5
  78. package/dist/components/wizard/step-agents.js +5 -5
  79. package/dist/components/wizard/step-agents.test.js +5 -5
  80. package/dist/components/wizard/step-build.js +5 -5
  81. package/dist/components/wizard/step-build.test.js +5 -5
  82. package/dist/components/wizard/step-confirm.test.js +4 -4
  83. package/dist/components/wizard/step-settings.js +4 -4
  84. package/dist/components/wizard/step-settings.test.js +7 -7
  85. package/dist/components/wizard/step-sources.js +5 -5
  86. package/dist/components/wizard/step-sources.test.js +5 -5
  87. package/dist/components/wizard/step-stack.js +6 -6
  88. package/dist/components/wizard/step-stack.test.js +6 -6
  89. package/dist/components/wizard/wizard-layout.js +6 -6
  90. package/dist/components/wizard/wizard.js +14 -14
  91. package/dist/hooks/init.js +21 -16
  92. package/dist/hooks/init.js.map +1 -1
  93. package/dist/{loader-GT2A7R7U.js → loader-GSEGPK64.js} +3 -3
  94. package/dist/{source-loader-TNQW4P47.js → source-loader-OGFTIRIX.js} +4 -4
  95. package/dist/{source-manager-INRXRFJE.js → source-manager-FMMDDVZA.js} +4 -4
  96. package/dist/stores/wizard-store.js +4 -4
  97. package/dist/stores/wizard-store.test.js +4 -4
  98. package/package.json +1 -1
  99. package/dist/chunk-AABH2HSE.js +0 -340
  100. package/dist/chunk-AABH2HSE.js.map +0 -1
  101. package/dist/chunk-CYPCJ536.js.map +0 -1
  102. package/dist/chunk-FKXD3EXJ.js.map +0 -1
  103. package/dist/chunk-FT46LN7K.js.map +0 -1
  104. package/dist/chunk-TXW257CU.js.map +0 -1
  105. package/dist/chunk-WJKD6EGK.js.map +0 -1
  106. /package/dist/{chunk-6VGBO6SZ.js.map → chunk-5M6Q5UQO.js.map} +0 -0
  107. /package/dist/{chunk-YJ2URWF7.js.map → chunk-B6MYECV6.js.map} +0 -0
  108. /package/dist/{chunk-G2MINRWX.js.map → chunk-C5IYJ42F.js.map} +0 -0
  109. /package/dist/{chunk-7UZUDHP7.js.map → chunk-CXWBVBDM.js.map} +0 -0
  110. /package/dist/{chunk-LTFGEVTM.js.map → chunk-HH3AWXF4.js.map} +0 -0
  111. /package/dist/{chunk-2XVLQDNI.js.map → chunk-HSLVCKVQ.js.map} +0 -0
  112. /package/dist/{chunk-TAQGYJIS.js.map → chunk-HZ2IBXVQ.js.map} +0 -0
  113. /package/dist/{chunk-LN76TJJP.js.map → chunk-HZQOFFKA.js.map} +0 -0
  114. /package/dist/{chunk-W7LHI54P.js.map → chunk-I44YG6VI.js.map} +0 -0
  115. /package/dist/{chunk-L7COG2EX.js.map → chunk-LZ7XQ3IU.js.map} +0 -0
  116. /package/dist/{chunk-LMR7VAP3.js.map → chunk-MMTMXLI4.js.map} +0 -0
  117. /package/dist/{chunk-YYIWB42G.js.map → chunk-Q4DMIPZB.js.map} +0 -0
  118. /package/dist/{chunk-YSLDMYWP.js.map → chunk-SGZOFIFF.js.map} +0 -0
  119. /package/dist/{chunk-WCCWQ56J.js.map → chunk-UNEJKTLP.js.map} +0 -0
  120. /package/dist/{chunk-ZGD7PLLC.js.map → chunk-ZOWRO7UQ.js.map} +0 -0
  121. /package/dist/{loader-GT2A7R7U.js.map → loader-GSEGPK64.js.map} +0 -0
  122. /package/dist/{source-loader-TNQW4P47.js.map → source-loader-OGFTIRIX.js.map} +0 -0
  123. /package/dist/{source-manager-INRXRFJE.js.map → source-manager-FMMDDVZA.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/update.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Flags, Args } from \"@oclif/core\";\nimport { printTable } from \"@oclif/table\";\nimport { render } from \"ink\";\nimport os from \"os\";\nimport path from \"path\";\n\nimport { BaseCommand } from \"../base-command.js\";\nimport { getErrorMessage } from \"../utils/errors.js\";\nimport { loadSkillsMatrixFromSource, type SourceLoadResult } from \"../lib/loading/index.js\";\nimport { matrix } from \"../lib/matrix/matrix-provider\";\nimport { recompileAgents } from \"../lib/agents/index.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport {\n compareLocalSkillsWithSource,\n injectForkedFromMetadata,\n type SkillComparisonResult,\n} from \"../lib/skills/index.js\";\nimport { fileExists, copy } from \"../utils/fs.js\";\nimport { CLI_BIN_NAME, LOCAL_SKILLS_PATH } from \"../consts.js\";\nimport {\n ERROR_MESSAGES,\n SUCCESS_MESSAGES,\n STATUS_MESSAGES,\n INFO_MESSAGES,\n} from \"../utils/messages.js\";\nimport { Confirm } from \"../components/common/confirm.js\";\n\nasync function updateSkill(\n skill: SkillComparisonResult,\n projectDir: string,\n sourceResult: SourceLoadResult,\n): Promise<{ success: boolean; newHash: string | null; error?: string }> {\n if (!skill.sourcePath || !skill.sourceHash) {\n return { success: false, newHash: null, error: \"No source path available\" };\n }\n\n const localSkillsPath = path.join(projectDir, LOCAL_SKILLS_PATH);\n const destPath = path.join(localSkillsPath, skill.dirName);\n const srcPath = path.join(sourceResult.sourcePath, \"src\", skill.sourcePath);\n\n try {\n await copy(srcPath, destPath);\n await injectForkedFromMetadata(destPath, skill.id, skill.sourceHash);\n\n return { success: true, newHash: skill.sourceHash };\n } catch (error) {\n return {\n success: false,\n newHash: null,\n error: getErrorMessage(error),\n };\n }\n}\n\nfunction findSkillByPartialMatch(\n skillName: string,\n results: SkillComparisonResult[],\n): SkillComparisonResult | null {\n const exact = results.find((r) => r.id === skillName);\n if (exact) return exact;\n\n const partial = results.find((r) => {\n const nameWithoutAuthor = r.id.replace(/\\s*\\(@\\w+\\)$/, \"\").toLowerCase();\n return nameWithoutAuthor === skillName.toLowerCase();\n });\n if (partial) return partial;\n\n const byDir = results.find((r) => r.dirName.toLowerCase() === skillName.toLowerCase());\n if (byDir) return byDir;\n\n return null;\n}\n\nfunction findSimilarSkills(skillName: string, results: SkillComparisonResult[]): string[] {\n const lowered = skillName.toLowerCase();\n return results\n .filter((r) => {\n const name = r.id.toLowerCase();\n const dir = r.dirName.toLowerCase();\n return (\n name.includes(lowered) || dir.includes(lowered) || lowered.includes(name.split(\" \")[0])\n );\n })\n .map((r) => r.id)\n .slice(0, 3);\n}\n\ntype UpdateConfirmProps = {\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nconst UpdateConfirm: React.FC<UpdateConfirmProps> = ({ onConfirm, onCancel }) => {\n return (\n <Confirm\n message=\"Proceed with update?\"\n onConfirm={onConfirm}\n onCancel={onCancel}\n defaultValue={false}\n />\n );\n};\n\nexport default class Update extends BaseCommand {\n static summary = \"Update local skills from source\";\n\n static description =\n \"Update local skills from the source repository. By default, checks all skills for updates. Specify a skill name to update only that skill.\";\n\n static args = {\n skill: Args.string({\n description: \"Specific skill to update (optional)\",\n required: false,\n }),\n };\n\n static flags = {\n ...BaseCommand.baseFlags,\n yes: Flags.boolean({\n char: \"y\",\n description: \"Skip confirmation prompt\",\n default: false,\n }),\n \"no-recompile\": Flags.boolean({\n description: \"Skip agent recompilation after update\",\n default: false,\n }),\n };\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> my-skill\",\n \"<%= config.bin %> <%= command.id %> --yes\",\n \"<%= config.bin %> <%= command.id %> --source /path/to/marketplace\",\n \"<%= config.bin %> <%= command.id %> --no-recompile\",\n ];\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(Update);\n const projectDir = process.cwd();\n const shouldRecompile = !flags[\"no-recompile\"];\n\n try {\n const projectLocalPath = path.join(projectDir, LOCAL_SKILLS_PATH);\n const homeDir = os.homedir();\n const globalLocalPath = path.join(homeDir, LOCAL_SKILLS_PATH);\n const hasProject = await fileExists(projectLocalPath);\n const hasGlobal = projectDir !== homeDir && (await fileExists(globalLocalPath));\n\n if (!hasProject && !hasGlobal) {\n this.warn(ERROR_MESSAGES.NO_LOCAL_SKILLS);\n return;\n }\n\n this.log(STATUS_MESSAGES.LOADING_SKILLS);\n\n const sourceResult = await loadSkillsMatrixFromSource({\n sourceFlag: flags.source,\n projectDir,\n });\n\n this.log(\n `Loaded from ${sourceResult.isLocal ? \"local\" : \"remote\"}: ${sourceResult.sourcePath}`,\n );\n\n const sourceSkills: Record<string, { path: string }> = {};\n for (const [skillId, skill] of Object.entries(matrix.skills)) {\n if (!skill) continue;\n if (!skill.local) {\n sourceSkills[skillId] = { path: skill.path };\n }\n }\n\n // Check both project-scoped and global-scoped local skills\n const projectResults = hasProject\n ? await compareLocalSkillsWithSource(projectDir, sourceResult.sourcePath, sourceSkills)\n : [];\n const globalResults = hasGlobal\n ? await compareLocalSkillsWithSource(homeDir, sourceResult.sourcePath, sourceSkills)\n : [];\n\n // Track which base dir each skill lives in (for updateSkill dest path)\n const skillBaseDir = new Map<string, string>();\n for (const r of projectResults) skillBaseDir.set(r.id, projectDir);\n for (const r of globalResults) {\n if (!skillBaseDir.has(r.id)) skillBaseDir.set(r.id, homeDir);\n }\n\n // Merge results, project-scoped takes precedence\n const seenIds = new Set(projectResults.map((r) => r.id));\n const allResults = [...projectResults, ...globalResults.filter((r) => !seenIds.has(r.id))];\n\n let outdatedSkills = allResults.filter((r) => r.status === \"outdated\");\n\n if (args.skill) {\n const foundSkill = findSkillByPartialMatch(args.skill, allResults);\n\n if (!foundSkill) {\n this.log(\"\");\n this.log(`Error: Skill \"${args.skill}\" not found.`);\n this.log(\"\");\n\n const similar = findSimilarSkills(args.skill, allResults);\n if (similar.length > 0) {\n this.log(\"Did you mean one of these?\");\n for (const name of similar) {\n this.log(` - ${name}`);\n }\n this.log(\"\");\n }\n\n this.log(`Run \\`${CLI_BIN_NAME} search ${args.skill}\\` to search available skills.`);\n this.log(\"\");\n this.error(ERROR_MESSAGES.SKILL_NOT_FOUND, { exit: EXIT_CODES.ERROR });\n }\n\n if (foundSkill.status === \"current\") {\n this.log(\"\");\n this.log(`Skill \"${foundSkill.id}\" is already up to date.`);\n this.log(\"\");\n this.log(` Local hash: ${foundSkill.localHash}`);\n this.log(` Source hash: ${foundSkill.sourceHash}`);\n this.log(\"\");\n return;\n }\n\n if (foundSkill.status === \"local-only\") {\n this.log(\"\");\n this.log(`Skill \"${foundSkill.id}\" is a local-only skill (not forked from source).`);\n this.log(\"Cannot update local-only skills.\");\n this.log(\"\");\n return;\n }\n\n outdatedSkills = [foundSkill];\n }\n\n if (outdatedSkills.length === 0) {\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.ALL_SKILLS_UP_TO_DATE);\n this.log(\"\");\n return;\n }\n\n this.log(\"\");\n this.log(\"The following skills will be updated:\");\n this.log(\"\");\n\n printTable({\n data: outdatedSkills.map((skill) => ({\n skill: skill.id,\n localHash: skill.localHash ?? \"-\",\n sourceHash: skill.sourceHash ?? \"-\",\n })),\n columns: [\n { key: \"skill\", name: \"Skill\" },\n { key: \"localHash\", name: \"Local Hash\" },\n { key: \"sourceHash\", name: \"Source Hash\" },\n ],\n headerOptions: { bold: true },\n });\n\n this.log(\"\");\n this.log(`${outdatedSkills.length} skill(s) will be updated.`);\n this.log(\"\");\n\n if (!flags.yes) {\n let confirmed = false;\n let cancelled = false;\n\n const { waitUntilExit } = render(\n <UpdateConfirm\n onConfirm={() => {\n confirmed = true;\n }}\n onCancel={() => {\n cancelled = true;\n }}\n />,\n );\n\n await waitUntilExit();\n\n if (cancelled) {\n this.log(\"Update cancelled\");\n this.exit(EXIT_CODES.CANCELLED);\n }\n\n if (!confirmed) {\n this.log(INFO_MESSAGES.NO_CHANGES_MADE);\n return;\n }\n }\n\n this.log(\"\");\n\n const updated: string[] = [];\n const failed: string[] = [];\n\n for (const skill of outdatedSkills) {\n this.log(`Updating ${skill.id}...`);\n\n const baseDir = skillBaseDir.get(skill.id) ?? projectDir;\n const result = await updateSkill(skill, baseDir, sourceResult);\n\n if (result.success) {\n this.log(` Updated ${skill.id}`);\n updated.push(skill.id);\n } else {\n this.log(` Failed to update ${skill.id}: ${result.error}`);\n failed.push(skill.id);\n }\n }\n\n let recompiledAgents: string[] = [];\n\n if (shouldRecompile && updated.length > 0) {\n this.log(\"\");\n this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);\n\n try {\n const recompileResult = await recompileAgents({\n pluginDir: projectDir,\n sourcePath: sourceResult.sourcePath,\n projectDir,\n });\n\n recompiledAgents = recompileResult.compiled;\n\n if (recompiledAgents.length > 0) {\n this.log(\"Agents recompiled\");\n for (const agent of recompiledAgents) {\n this.log(` Recompiled: ${agent}`);\n }\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE);\n }\n\n if (recompileResult.warnings.length > 0) {\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n }\n } catch (error) {\n this.warn(\"Agent recompilation failed\");\n this.warn(`Could not recompile agents: ${getErrorMessage(error)}`);\n }\n }\n\n this.log(\"\");\n if (failed.length === 0) {\n const agentMsg =\n recompiledAgents.length > 0 ? `, ${recompiledAgents.length} agent(s) recompiled` : \"\";\n this.logSuccess(`Update complete! ${updated.length} skill(s) updated${agentMsg}.`);\n } else {\n this.warn(\n `Update finished with errors: ${updated.length} updated, ${failed.length} failed.`,\n );\n }\n this.log(\"\");\n\n if (failed.length > 0) {\n this.error(\"Some updates failed\", { exit: EXIT_CODES.ERROR });\n }\n } catch (error) {\n const message = getErrorMessage(error);\n this.error(`Update failed: ${message}`, { exit: EXIT_CODES.ERROR });\n }\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/update.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Flags, Args } from \"@oclif/core\";\nimport { printTable } from \"@oclif/table\";\nimport { render } from \"ink\";\nimport os from \"os\";\n\nimport { BaseCommand } from \"../base-command.js\";\nimport { getErrorMessage } from \"../utils/errors.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport {\n loadSource,\n compareSkillsWithSource,\n compileAgents,\n updateLocalSkills,\n collectScopedSkillDirs,\n findSkillMatch,\n} from \"../lib/operations/index.js\";\nimport { CLI_BIN_NAME } from \"../consts.js\";\nimport {\n ERROR_MESSAGES,\n SUCCESS_MESSAGES,\n STATUS_MESSAGES,\n INFO_MESSAGES,\n} from \"../utils/messages.js\";\nimport { Confirm } from \"../components/common/confirm.js\";\n\ntype UpdateConfirmProps = {\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nconst UpdateConfirm: React.FC<UpdateConfirmProps> = ({ onConfirm, onCancel }) => {\n return (\n <Confirm\n message=\"Proceed with update?\"\n onConfirm={onConfirm}\n onCancel={onCancel}\n defaultValue={false}\n />\n );\n};\n\nexport default class Update extends BaseCommand {\n static summary = \"Update local skills from source\";\n\n static description =\n \"Update local skills from the source repository. By default, checks all skills for updates. Specify a skill name to update only that skill.\";\n\n static args = {\n skill: Args.string({\n description: \"Specific skill to update (optional)\",\n required: false,\n }),\n };\n\n static flags = {\n ...BaseCommand.baseFlags,\n yes: Flags.boolean({\n char: \"y\",\n description: \"Skip confirmation prompt\",\n default: false,\n }),\n \"no-recompile\": Flags.boolean({\n description: \"Skip agent recompilation after update\",\n default: false,\n }),\n };\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> my-skill\",\n \"<%= config.bin %> <%= command.id %> --yes\",\n \"<%= config.bin %> <%= command.id %> --source /path/to/marketplace\",\n \"<%= config.bin %> <%= command.id %> --no-recompile\",\n ];\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(Update);\n const projectDir = process.cwd();\n const shouldRecompile = !flags[\"no-recompile\"];\n\n try {\n const homeDir = os.homedir();\n const { hasProject, hasGlobal } = await collectScopedSkillDirs(projectDir);\n\n if (!hasProject && !hasGlobal) {\n this.warn(ERROR_MESSAGES.NO_LOCAL_SKILLS);\n return;\n }\n\n this.log(STATUS_MESSAGES.LOADING_SKILLS);\n\n const { sourceResult } = await loadSource({\n sourceFlag: flags.source,\n projectDir,\n });\n\n this.log(\n `Loaded from ${sourceResult.isLocal ? \"local\" : \"remote\"}: ${sourceResult.sourcePath}`,\n );\n\n const comparison = await compareSkillsWithSource(\n projectDir,\n sourceResult.sourcePath,\n sourceResult.matrix,\n );\n const allResults = comparison.merged;\n // Build skillBaseDir from separate results for updateLocalSkills dest path\n const skillBaseDir = new Map<string, string>();\n for (const r of comparison.projectResults) skillBaseDir.set(r.id, projectDir);\n for (const r of comparison.globalResults) {\n if (!skillBaseDir.has(r.id)) skillBaseDir.set(r.id, homeDir);\n }\n\n let outdatedSkills = allResults.filter((r) => r.status === \"outdated\");\n\n if (args.skill) {\n const { match: foundSkill, similar } = findSkillMatch(args.skill, allResults);\n\n if (!foundSkill) {\n this.log(\"\");\n this.log(`Error: Skill \"${args.skill}\" not found.`);\n this.log(\"\");\n\n if (similar.length > 0) {\n this.log(\"Did you mean one of these?\");\n for (const name of similar) {\n this.log(` - ${name}`);\n }\n this.log(\"\");\n }\n\n this.log(`Run \\`${CLI_BIN_NAME} search ${args.skill}\\` to search available skills.`);\n this.log(\"\");\n this.error(ERROR_MESSAGES.SKILL_NOT_FOUND, { exit: EXIT_CODES.ERROR });\n }\n\n if (foundSkill.status === \"current\") {\n this.log(\"\");\n this.log(`Skill \"${foundSkill.id}\" is already up to date.`);\n this.log(\"\");\n this.log(` Local hash: ${foundSkill.localHash}`);\n this.log(` Source hash: ${foundSkill.sourceHash}`);\n this.log(\"\");\n return;\n }\n\n if (foundSkill.status === \"local-only\") {\n this.log(\"\");\n this.log(`Skill \"${foundSkill.id}\" is a local-only skill (not forked from source).`);\n this.log(\"Cannot update local-only skills.\");\n this.log(\"\");\n return;\n }\n\n outdatedSkills = [foundSkill];\n }\n\n if (outdatedSkills.length === 0) {\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.ALL_SKILLS_UP_TO_DATE);\n this.log(\"\");\n return;\n }\n\n this.log(\"\");\n this.log(\"The following skills will be updated:\");\n this.log(\"\");\n\n printTable({\n data: outdatedSkills.map((skill) => ({\n skill: skill.id,\n localHash: skill.localHash ?? \"-\",\n sourceHash: skill.sourceHash ?? \"-\",\n })),\n columns: [\n { key: \"skill\", name: \"Skill\" },\n { key: \"localHash\", name: \"Local Hash\" },\n { key: \"sourceHash\", name: \"Source Hash\" },\n ],\n headerOptions: { bold: true },\n });\n\n this.log(\"\");\n this.log(`${outdatedSkills.length} skill(s) will be updated.`);\n this.log(\"\");\n\n if (!flags.yes) {\n let confirmed = false;\n let cancelled = false;\n\n const { waitUntilExit } = render(\n <UpdateConfirm\n onConfirm={() => {\n confirmed = true;\n }}\n onCancel={() => {\n cancelled = true;\n }}\n />,\n );\n\n await waitUntilExit();\n\n if (cancelled) {\n this.log(\"Update cancelled\");\n this.exit(EXIT_CODES.CANCELLED);\n }\n\n if (!confirmed) {\n this.log(INFO_MESSAGES.NO_CHANGES_MADE);\n return;\n }\n }\n\n this.log(\"\");\n\n const updateResult = await updateLocalSkills({\n skills: outdatedSkills,\n sourceResult,\n skillBaseDir,\n onProgress: (skillId) => this.log(`Updating ${skillId}...`),\n });\n\n for (const item of updateResult.updated) {\n this.log(` Updated ${item.id}`);\n }\n for (const item of updateResult.failed) {\n this.log(` Failed to update ${item.id}: ${item.error}`);\n }\n\n let recompiledAgents: string[] = [];\n\n if (shouldRecompile && updateResult.totalUpdated > 0) {\n this.log(\"\");\n this.log(STATUS_MESSAGES.RECOMPILING_AGENTS);\n\n try {\n const recompileResult = await compileAgents({\n projectDir,\n sourcePath: sourceResult.sourcePath,\n });\n\n recompiledAgents = recompileResult.compiled;\n\n if (recompiledAgents.length > 0) {\n this.log(\"Agents recompiled\");\n for (const agent of recompiledAgents) {\n this.log(` Recompiled: ${agent}`);\n }\n } else {\n this.log(INFO_MESSAGES.NO_AGENTS_TO_RECOMPILE);\n }\n\n if (recompileResult.warnings.length > 0) {\n for (const warning of recompileResult.warnings) {\n this.warn(warning);\n }\n }\n } catch (error) {\n this.warn(\"Agent recompilation failed\");\n this.warn(`Could not recompile agents: ${getErrorMessage(error)}`);\n }\n }\n\n this.log(\"\");\n if (updateResult.totalFailed === 0) {\n const agentMsg =\n recompiledAgents.length > 0 ? `, ${recompiledAgents.length} agent(s) recompiled` : \"\";\n this.logSuccess(\n `Update complete! ${updateResult.totalUpdated} skill(s) updated${agentMsg}.`,\n );\n } else {\n this.warn(\n `Update finished with errors: ${updateResult.totalUpdated} updated, ${updateResult.totalFailed} failed.`,\n );\n }\n this.log(\"\");\n\n if (updateResult.totalFailed > 0) {\n this.error(\"Some updates failed\", { exit: EXIT_CODES.ERROR });\n }\n } catch (error) {\n const message = getErrorMessage(error);\n this.error(`Update failed: ${message}`, { exit: EXIT_CODES.ERROR });\n }\n }\n}\n"],"mappings":"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","names":[]}
@@ -11,15 +11,15 @@ import {
11
11
  validateAllPlugins,
12
12
  validateAllSchemas,
13
13
  validatePlugin
14
- } from "../chunk-FKXD3EXJ.js";
15
- import "../chunk-YJ2URWF7.js";
14
+ } from "../chunk-TMTUTUEV.js";
15
+ import "../chunk-B6MYECV6.js";
16
16
  import {
17
17
  matrix
18
18
  } from "../chunk-ANXHMG32.js";
19
19
  import {
20
20
  BaseCommand,
21
21
  EXIT_CODES
22
- } from "../chunk-LMR7VAP3.js";
22
+ } from "../chunk-MMTMXLI4.js";
23
23
  import {
24
24
  directoryExists,
25
25
  fileExists,
@@ -28,7 +28,7 @@ import {
28
28
  metadataValidationSchema,
29
29
  readFile,
30
30
  setVerbose
31
- } from "../chunk-WJKD6EGK.js";
31
+ } from "../chunk-NUU3U43A.js";
32
32
  import "../chunk-6XWHJHNZ.js";
33
33
  import {
34
34
  SKILLS_DIR_PATH,
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SkillSearch
4
- } from "../../chunk-FT46LN7K.js";
4
+ } from "../../chunk-BV2MIQ3O.js";
5
5
  import "../../chunk-HEQVUIHQ.js";
6
6
  import "../../chunk-U3IGFMCY.js";
7
7
  import "../../chunk-HK53FRMU.js";
8
+ import "../../chunk-N6A7A4RA.js";
8
9
  import "../../chunk-6PGL2XMY.js";
9
10
  import "../../chunk-DHET7RCE.js";
10
11
  export {
@@ -30,15 +30,15 @@ import {
30
30
  } from "../../chunk-BEZ6ZPDS.js";
31
31
  import "../../chunk-P2FHS5IS.js";
32
32
  import "../../chunk-WJXWYSBT.js";
33
- import "../../chunk-2XVLQDNI.js";
33
+ import "../../chunk-HSLVCKVQ.js";
34
34
  import "../../chunk-HK53FRMU.js";
35
- import "../../chunk-FKXD3EXJ.js";
36
- import "../../chunk-YJ2URWF7.js";
35
+ import "../../chunk-TMTUTUEV.js";
36
+ import "../../chunk-B6MYECV6.js";
37
37
  import {
38
38
  BUILT_IN_MATRIX,
39
39
  initializeMatrix
40
40
  } from "../../chunk-ANXHMG32.js";
41
- import "../../chunk-WJKD6EGK.js";
41
+ import "../../chunk-NUU3U43A.js";
42
42
  import "../../chunk-6XWHJHNZ.js";
43
43
  import "../../chunk-6PGL2XMY.js";
44
44
  import "../../chunk-NPMMU4GY.js";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  DomainSelection
4
- } from "../../chunk-G2MINRWX.js";
4
+ } from "../../chunk-C5IYJ42F.js";
5
5
  import "../../chunk-NL5EB57E.js";
6
6
  import "../../chunk-HSKKGAOW.js";
7
7
  import "../../chunk-4QA5TIBU.js";
8
8
  import "../../chunk-WJXWYSBT.js";
9
- import "../../chunk-2XVLQDNI.js";
10
- import "../../chunk-FKXD3EXJ.js";
11
- import "../../chunk-YJ2URWF7.js";
9
+ import "../../chunk-HSLVCKVQ.js";
10
+ import "../../chunk-TMTUTUEV.js";
11
+ import "../../chunk-B6MYECV6.js";
12
12
  import "../../chunk-ANXHMG32.js";
13
- import "../../chunk-WJKD6EGK.js";
13
+ import "../../chunk-NUU3U43A.js";
14
14
  import "../../chunk-6XWHJHNZ.js";
15
15
  import "../../chunk-6PGL2XMY.js";
16
16
  import "../../chunk-NPMMU4GY.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  HelpModal
4
- } from "../../chunk-7UZUDHP7.js";
5
- import "../../chunk-2XVLQDNI.js";
4
+ } from "../../chunk-CXWBVBDM.js";
5
+ import "../../chunk-HSLVCKVQ.js";
6
6
  import "../../chunk-HK53FRMU.js";
7
- import "../../chunk-FKXD3EXJ.js";
8
- import "../../chunk-YJ2URWF7.js";
7
+ import "../../chunk-TMTUTUEV.js";
8
+ import "../../chunk-B6MYECV6.js";
9
9
  import "../../chunk-ANXHMG32.js";
10
- import "../../chunk-WJKD6EGK.js";
10
+ import "../../chunk-NUU3U43A.js";
11
11
  import "../../chunk-6XWHJHNZ.js";
12
12
  import "../../chunk-6PGL2XMY.js";
13
13
  import "../../chunk-NPMMU4GY.js";
@@ -39,15 +39,15 @@ import "../../chunk-P2FHS5IS.js";
39
39
  import "../../chunk-WJXWYSBT.js";
40
40
  import "../../chunk-XO6X5QE5.js";
41
41
  import "../../chunk-KUV24B5M.js";
42
- import "../../chunk-2XVLQDNI.js";
42
+ import "../../chunk-HSLVCKVQ.js";
43
43
  import "../../chunk-HK53FRMU.js";
44
- import "../../chunk-FKXD3EXJ.js";
45
- import "../../chunk-YJ2URWF7.js";
44
+ import "../../chunk-TMTUTUEV.js";
45
+ import "../../chunk-B6MYECV6.js";
46
46
  import {
47
47
  BUILT_IN_MATRIX,
48
48
  initializeMatrix
49
49
  } from "../../chunk-ANXHMG32.js";
50
- import "../../chunk-WJKD6EGK.js";
50
+ import "../../chunk-NUU3U43A.js";
51
51
  import "../../chunk-6XWHJHNZ.js";
52
52
  import "../../chunk-6PGL2XMY.js";
53
53
  import "../../chunk-NPMMU4GY.js";
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StackSelection
4
- } from "../../chunk-6VGBO6SZ.js";
4
+ } from "../../chunk-5M6Q5UQO.js";
5
5
  import "../../chunk-K77I4XGL.js";
6
6
  import "../../chunk-4QA5TIBU.js";
7
7
  import "../../chunk-WJXWYSBT.js";
8
- import "../../chunk-2XVLQDNI.js";
9
- import "../../chunk-FKXD3EXJ.js";
10
- import "../../chunk-YJ2URWF7.js";
8
+ import "../../chunk-HSLVCKVQ.js";
9
+ import "../../chunk-TMTUTUEV.js";
10
+ import "../../chunk-B6MYECV6.js";
11
11
  import "../../chunk-ANXHMG32.js";
12
- import "../../chunk-WJKD6EGK.js";
12
+ import "../../chunk-NUU3U43A.js";
13
13
  import "../../chunk-6XWHJHNZ.js";
14
14
  import "../../chunk-6PGL2XMY.js";
15
15
  import "../../chunk-NPMMU4GY.js";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepAgents
4
- } from "../../chunk-L7COG2EX.js";
4
+ } from "../../chunk-LZ7XQ3IU.js";
5
5
  import "../../chunk-K77I4XGL.js";
6
6
  import "../../chunk-NL5EB57E.js";
7
7
  import "../../chunk-4QA5TIBU.js";
8
8
  import "../../chunk-WJXWYSBT.js";
9
- import "../../chunk-2XVLQDNI.js";
10
- import "../../chunk-FKXD3EXJ.js";
11
- import "../../chunk-YJ2URWF7.js";
9
+ import "../../chunk-HSLVCKVQ.js";
10
+ import "../../chunk-TMTUTUEV.js";
11
+ import "../../chunk-B6MYECV6.js";
12
12
  import "../../chunk-ANXHMG32.js";
13
- import "../../chunk-WJKD6EGK.js";
13
+ import "../../chunk-NUU3U43A.js";
14
14
  import "../../chunk-6XWHJHNZ.js";
15
15
  import "../../chunk-6PGL2XMY.js";
16
16
  import "../../chunk-NPMMU4GY.js";
@@ -25,20 +25,20 @@ import {
25
25
  } from "../../chunk-XY3XDVMI.js";
26
26
  import {
27
27
  StepAgents
28
- } from "../../chunk-L7COG2EX.js";
28
+ } from "../../chunk-LZ7XQ3IU.js";
29
29
  import "../../chunk-K77I4XGL.js";
30
30
  import "../../chunk-NL5EB57E.js";
31
31
  import "../../chunk-4QA5TIBU.js";
32
32
  import "../../chunk-WJXWYSBT.js";
33
33
  import {
34
34
  useWizardStore
35
- } from "../../chunk-2XVLQDNI.js";
36
- import "../../chunk-FKXD3EXJ.js";
37
- import "../../chunk-YJ2URWF7.js";
35
+ } from "../../chunk-HSLVCKVQ.js";
36
+ import "../../chunk-TMTUTUEV.js";
37
+ import "../../chunk-B6MYECV6.js";
38
38
  import {
39
39
  initializeMatrix
40
40
  } from "../../chunk-ANXHMG32.js";
41
- import "../../chunk-WJKD6EGK.js";
41
+ import "../../chunk-NUU3U43A.js";
42
42
  import "../../chunk-6XWHJHNZ.js";
43
43
  import "../../chunk-6PGL2XMY.js";
44
44
  import "../../chunk-NPMMU4GY.js";
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepBuild
4
- } from "../../chunk-YSLDMYWP.js";
4
+ } from "../../chunk-SGZOFIFF.js";
5
5
  import "../../chunk-FQTYF3OU.js";
6
6
  import "../../chunk-K77I4XGL.js";
7
7
  import "../../chunk-BEZ6ZPDS.js";
8
8
  import "../../chunk-P2FHS5IS.js";
9
9
  import "../../chunk-WJXWYSBT.js";
10
- import "../../chunk-2XVLQDNI.js";
10
+ import "../../chunk-HSLVCKVQ.js";
11
11
  import "../../chunk-HK53FRMU.js";
12
- import "../../chunk-FKXD3EXJ.js";
13
- import "../../chunk-YJ2URWF7.js";
12
+ import "../../chunk-TMTUTUEV.js";
13
+ import "../../chunk-B6MYECV6.js";
14
14
  import "../../chunk-ANXHMG32.js";
15
- import "../../chunk-WJKD6EGK.js";
15
+ import "../../chunk-NUU3U43A.js";
16
16
  import "../../chunk-6XWHJHNZ.js";
17
17
  import "../../chunk-6PGL2XMY.js";
18
18
  import "../../chunk-NPMMU4GY.js";
@@ -32,7 +32,7 @@ import {
32
32
  } from "../../chunk-XY3XDVMI.js";
33
33
  import {
34
34
  StepBuild
35
- } from "../../chunk-YSLDMYWP.js";
35
+ } from "../../chunk-SGZOFIFF.js";
36
36
  import "../../chunk-FQTYF3OU.js";
37
37
  import "../../chunk-K77I4XGL.js";
38
38
  import "../../chunk-BEZ6ZPDS.js";
@@ -43,14 +43,14 @@ import {
43
43
  import "../../chunk-WJXWYSBT.js";
44
44
  import {
45
45
  validateBuildStep
46
- } from "../../chunk-2XVLQDNI.js";
46
+ } from "../../chunk-HSLVCKVQ.js";
47
47
  import "../../chunk-HK53FRMU.js";
48
- import "../../chunk-FKXD3EXJ.js";
49
- import "../../chunk-YJ2URWF7.js";
48
+ import "../../chunk-TMTUTUEV.js";
49
+ import "../../chunk-B6MYECV6.js";
50
50
  import {
51
51
  initializeMatrix
52
52
  } from "../../chunk-ANXHMG32.js";
53
- import "../../chunk-WJKD6EGK.js";
53
+ import "../../chunk-NUU3U43A.js";
54
54
  import "../../chunk-6XWHJHNZ.js";
55
55
  import "../../chunk-6PGL2XMY.js";
56
56
  import "../../chunk-NPMMU4GY.js";
@@ -22,11 +22,11 @@ import {
22
22
  StepConfirm
23
23
  } from "../../chunk-ANZV33N5.js";
24
24
  import "../../chunk-NL5EB57E.js";
25
- import "../../chunk-2XVLQDNI.js";
26
- import "../../chunk-FKXD3EXJ.js";
27
- import "../../chunk-YJ2URWF7.js";
25
+ import "../../chunk-HSLVCKVQ.js";
26
+ import "../../chunk-TMTUTUEV.js";
27
+ import "../../chunk-B6MYECV6.js";
28
28
  import "../../chunk-ANXHMG32.js";
29
- import "../../chunk-WJKD6EGK.js";
29
+ import "../../chunk-NUU3U43A.js";
30
30
  import "../../chunk-6XWHJHNZ.js";
31
31
  import "../../chunk-6PGL2XMY.js";
32
32
  import "../../chunk-NPMMU4GY.js";
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepSettings
4
- } from "../../chunk-ZGD7PLLC.js";
4
+ } from "../../chunk-ZOWRO7UQ.js";
5
5
  import "../../chunk-7SOPVGDV.js";
6
6
  import "../../chunk-4QA5TIBU.js";
7
7
  import "../../chunk-WJXWYSBT.js";
8
8
  import "../../chunk-KUV24B5M.js";
9
9
  import "../../chunk-U3IGFMCY.js";
10
10
  import "../../chunk-HK53FRMU.js";
11
- import "../../chunk-FKXD3EXJ.js";
12
- import "../../chunk-YJ2URWF7.js";
11
+ import "../../chunk-TMTUTUEV.js";
12
+ import "../../chunk-B6MYECV6.js";
13
13
  import "../../chunk-ANXHMG32.js";
14
- import "../../chunk-WJKD6EGK.js";
14
+ import "../../chunk-NUU3U43A.js";
15
15
  import "../../chunk-6XWHJHNZ.js";
16
16
  import "../../chunk-6PGL2XMY.js";
17
17
  import "../../chunk-NPMMU4GY.js";
@@ -19,17 +19,17 @@ import {
19
19
  } from "../../chunk-XY3XDVMI.js";
20
20
  import {
21
21
  StepSettings
22
- } from "../../chunk-ZGD7PLLC.js";
22
+ } from "../../chunk-ZOWRO7UQ.js";
23
23
  import "../../chunk-7SOPVGDV.js";
24
24
  import "../../chunk-4QA5TIBU.js";
25
25
  import "../../chunk-WJXWYSBT.js";
26
26
  import "../../chunk-KUV24B5M.js";
27
27
  import "../../chunk-U3IGFMCY.js";
28
28
  import "../../chunk-HK53FRMU.js";
29
- import "../../chunk-FKXD3EXJ.js";
30
- import "../../chunk-YJ2URWF7.js";
29
+ import "../../chunk-TMTUTUEV.js";
30
+ import "../../chunk-B6MYECV6.js";
31
31
  import "../../chunk-ANXHMG32.js";
32
- import "../../chunk-WJKD6EGK.js";
32
+ import "../../chunk-NUU3U43A.js";
33
33
  import "../../chunk-6XWHJHNZ.js";
34
34
  import "../../chunk-6PGL2XMY.js";
35
35
  import "../../chunk-NPMMU4GY.js";
@@ -62,7 +62,7 @@ describe("StepSettings component", () => {
62
62
  let cleanup;
63
63
  beforeEach(async () => {
64
64
  vi.resetAllMocks();
65
- const { getSourceSummary } = await import("../../source-manager-INRXRFJE.js");
65
+ const { getSourceSummary } = await import("../../source-manager-FMMDDVZA.js");
66
66
  vi.mocked(getSourceSummary).mockResolvedValue({
67
67
  sources: [
68
68
  { name: "public", url: "github:agents-inc/skills", enabled: true },
@@ -223,7 +223,7 @@ describe("StepSettings component", () => {
223
223
  });
224
224
  describe("edge cases", () => {
225
225
  it("should handle empty sources list gracefully", async () => {
226
- const { getSourceSummary } = await import("../../source-manager-INRXRFJE.js");
226
+ const { getSourceSummary } = await import("../../source-manager-FMMDDVZA.js");
227
227
  vi.mocked(getSourceSummary).mockResolvedValue({
228
228
  sources: [{ name: "public", url: "github:agents-inc/skills", enabled: true }],
229
229
  localSkillCount: 0,
@@ -237,7 +237,7 @@ describe("StepSettings component", () => {
237
237
  globalExpect(output).toContain("0");
238
238
  });
239
239
  it("should handle getSourceSummary failure gracefully", async () => {
240
- const { getSourceSummary } = await import("../../source-manager-INRXRFJE.js");
240
+ const { getSourceSummary } = await import("../../source-manager-FMMDDVZA.js");
241
241
  vi.mocked(getSourceSummary).mockRejectedValue(new Error("Config read failed"));
242
242
  const { lastFrame, unmount } = renderStepSettings();
243
243
  cleanup = unmount;
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepSources
4
- } from "../../chunk-LTFGEVTM.js";
4
+ } from "../../chunk-HH3AWXF4.js";
5
5
  import "../../chunk-V36FRPAU.js";
6
6
  import "../../chunk-K77I4XGL.js";
7
7
  import "../../chunk-6XEZLWG5.js";
@@ -12,12 +12,12 @@ import "../../chunk-P2FHS5IS.js";
12
12
  import "../../chunk-WJXWYSBT.js";
13
13
  import "../../chunk-XO6X5QE5.js";
14
14
  import "../../chunk-KUV24B5M.js";
15
- import "../../chunk-2XVLQDNI.js";
15
+ import "../../chunk-HSLVCKVQ.js";
16
16
  import "../../chunk-HK53FRMU.js";
17
- import "../../chunk-FKXD3EXJ.js";
18
- import "../../chunk-YJ2URWF7.js";
17
+ import "../../chunk-TMTUTUEV.js";
18
+ import "../../chunk-B6MYECV6.js";
19
19
  import "../../chunk-ANXHMG32.js";
20
- import "../../chunk-WJKD6EGK.js";
20
+ import "../../chunk-NUU3U43A.js";
21
21
  import "../../chunk-6XWHJHNZ.js";
22
22
  import "../../chunk-6PGL2XMY.js";
23
23
  import "../../chunk-NPMMU4GY.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "../../chunk-XY3XDVMI.js";
25
25
  import {
26
26
  StepSources
27
- } from "../../chunk-LTFGEVTM.js";
27
+ } from "../../chunk-HH3AWXF4.js";
28
28
  import "../../chunk-V36FRPAU.js";
29
29
  import "../../chunk-K77I4XGL.js";
30
30
  import "../../chunk-6XEZLWG5.js";
@@ -37,14 +37,14 @@ import "../../chunk-XO6X5QE5.js";
37
37
  import "../../chunk-KUV24B5M.js";
38
38
  import {
39
39
  useWizardStore
40
- } from "../../chunk-2XVLQDNI.js";
40
+ } from "../../chunk-HSLVCKVQ.js";
41
41
  import "../../chunk-HK53FRMU.js";
42
- import "../../chunk-FKXD3EXJ.js";
43
- import "../../chunk-YJ2URWF7.js";
42
+ import "../../chunk-TMTUTUEV.js";
43
+ import "../../chunk-B6MYECV6.js";
44
44
  import {
45
45
  initializeMatrix
46
46
  } from "../../chunk-ANXHMG32.js";
47
- import "../../chunk-WJKD6EGK.js";
47
+ import "../../chunk-NUU3U43A.js";
48
48
  import "../../chunk-6XWHJHNZ.js";
49
49
  import "../../chunk-6PGL2XMY.js";
50
50
  import "../../chunk-NPMMU4GY.js";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StepStack
4
- } from "../../chunk-YYIWB42G.js";
5
- import "../../chunk-6VGBO6SZ.js";
4
+ } from "../../chunk-Q4DMIPZB.js";
5
+ import "../../chunk-5M6Q5UQO.js";
6
6
  import "../../chunk-K77I4XGL.js";
7
7
  import "../../chunk-4QA5TIBU.js";
8
8
  import "../../chunk-WJXWYSBT.js";
9
- import "../../chunk-2XVLQDNI.js";
10
- import "../../chunk-FKXD3EXJ.js";
11
- import "../../chunk-YJ2URWF7.js";
9
+ import "../../chunk-HSLVCKVQ.js";
10
+ import "../../chunk-TMTUTUEV.js";
11
+ import "../../chunk-B6MYECV6.js";
12
12
  import "../../chunk-ANXHMG32.js";
13
- import "../../chunk-WJKD6EGK.js";
13
+ import "../../chunk-NUU3U43A.js";
14
14
  import "../../chunk-6XWHJHNZ.js";
15
15
  import "../../chunk-6PGL2XMY.js";
16
16
  import "../../chunk-NPMMU4GY.js";
@@ -27,20 +27,20 @@ import {
27
27
  } from "../../chunk-XY3XDVMI.js";
28
28
  import {
29
29
  StepStack
30
- } from "../../chunk-YYIWB42G.js";
31
- import "../../chunk-6VGBO6SZ.js";
30
+ } from "../../chunk-Q4DMIPZB.js";
31
+ import "../../chunk-5M6Q5UQO.js";
32
32
  import "../../chunk-K77I4XGL.js";
33
33
  import "../../chunk-4QA5TIBU.js";
34
34
  import "../../chunk-WJXWYSBT.js";
35
35
  import {
36
36
  useWizardStore
37
- } from "../../chunk-2XVLQDNI.js";
38
- import "../../chunk-FKXD3EXJ.js";
39
- import "../../chunk-YJ2URWF7.js";
37
+ } from "../../chunk-HSLVCKVQ.js";
38
+ import "../../chunk-TMTUTUEV.js";
39
+ import "../../chunk-B6MYECV6.js";
40
40
  import {
41
41
  initializeMatrix
42
42
  } from "../../chunk-ANXHMG32.js";
43
- import "../../chunk-WJKD6EGK.js";
43
+ import "../../chunk-NUU3U43A.js";
44
44
  import "../../chunk-6XWHJHNZ.js";
45
45
  import "../../chunk-6PGL2XMY.js";
46
46
  import "../../chunk-NPMMU4GY.js";
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  WizardLayout
4
- } from "../../chunk-WCCWQ56J.js";
4
+ } from "../../chunk-UNEJKTLP.js";
5
5
  import "../../chunk-YVFGISUO.js";
6
6
  import "../../chunk-V36FRPAU.js";
7
7
  import "../../chunk-NL5EB57E.js";
8
- import "../../chunk-7UZUDHP7.js";
9
- import "../../chunk-2XVLQDNI.js";
8
+ import "../../chunk-CXWBVBDM.js";
9
+ import "../../chunk-HSLVCKVQ.js";
10
10
  import "../../chunk-HK53FRMU.js";
11
- import "../../chunk-FKXD3EXJ.js";
12
- import "../../chunk-YJ2URWF7.js";
11
+ import "../../chunk-TMTUTUEV.js";
12
+ import "../../chunk-B6MYECV6.js";
13
13
  import "../../chunk-ANXHMG32.js";
14
- import "../../chunk-WJKD6EGK.js";
14
+ import "../../chunk-NUU3U43A.js";
15
15
  import "../../chunk-6XWHJHNZ.js";
16
16
  import "../../chunk-6PGL2XMY.js";
17
17
  import "../../chunk-NPMMU4GY.js";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Wizard
4
- } from "../../chunk-LN76TJJP.js";
5
- import "../../chunk-WCCWQ56J.js";
4
+ } from "../../chunk-HZQOFFKA.js";
5
+ import "../../chunk-UNEJKTLP.js";
6
6
  import "../../chunk-YVFGISUO.js";
7
- import "../../chunk-ZGD7PLLC.js";
8
- import "../../chunk-LTFGEVTM.js";
7
+ import "../../chunk-ZOWRO7UQ.js";
8
+ import "../../chunk-HH3AWXF4.js";
9
9
  import "../../chunk-V36FRPAU.js";
10
- import "../../chunk-YYIWB42G.js";
11
- import "../../chunk-6VGBO6SZ.js";
12
- import "../../chunk-L7COG2EX.js";
13
- import "../../chunk-YSLDMYWP.js";
10
+ import "../../chunk-Q4DMIPZB.js";
11
+ import "../../chunk-5M6Q5UQO.js";
12
+ import "../../chunk-LZ7XQ3IU.js";
13
+ import "../../chunk-SGZOFIFF.js";
14
14
  import "../../chunk-FQTYF3OU.js";
15
15
  import "../../chunk-K77I4XGL.js";
16
16
  import "../../chunk-ANZV33N5.js";
@@ -20,22 +20,22 @@ import "../../chunk-7SOPVGDV.js";
20
20
  import "../../chunk-SB2R5KHJ.js";
21
21
  import "../../chunk-BEZ6ZPDS.js";
22
22
  import "../../chunk-P2FHS5IS.js";
23
- import "../../chunk-G2MINRWX.js";
23
+ import "../../chunk-C5IYJ42F.js";
24
24
  import "../../chunk-NL5EB57E.js";
25
25
  import "../../chunk-HSKKGAOW.js";
26
26
  import "../../chunk-4QA5TIBU.js";
27
27
  import "../../chunk-WJXWYSBT.js";
28
- import "../../chunk-7UZUDHP7.js";
28
+ import "../../chunk-CXWBVBDM.js";
29
29
  import "../../chunk-XO6X5QE5.js";
30
30
  import "../../chunk-KUV24B5M.js";
31
- import "../../chunk-2XVLQDNI.js";
31
+ import "../../chunk-HSLVCKVQ.js";
32
32
  import "../../chunk-HEQVUIHQ.js";
33
33
  import "../../chunk-U3IGFMCY.js";
34
34
  import "../../chunk-HK53FRMU.js";
35
- import "../../chunk-FKXD3EXJ.js";
36
- import "../../chunk-YJ2URWF7.js";
35
+ import "../../chunk-TMTUTUEV.js";
36
+ import "../../chunk-B6MYECV6.js";
37
37
  import "../../chunk-ANXHMG32.js";
38
- import "../../chunk-WJKD6EGK.js";
38
+ import "../../chunk-NUU3U43A.js";
39
39
  import "../../chunk-6XWHJHNZ.js";
40
40
  import "../../chunk-6PGL2XMY.js";
41
41
  import "../../chunk-NPMMU4GY.js";