agents-inc 0.166.0 → 0.168.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 (134) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{chunk-TZ2YJJKK.js → chunk-23DNVNFP.js} +5 -5
  3. package/dist/{chunk-ZXKBERQU.js → chunk-27AVGFXH.js} +2 -2
  4. package/dist/{chunk-SXVHSOTH.js → chunk-3DIDV6H3.js} +4 -4
  5. package/dist/{chunk-GE3WKJ6Q.js → chunk-3LZNY46H.js} +4 -4
  6. package/dist/{chunk-Y47EV74W.js → chunk-4DRFEYCE.js} +10 -13
  7. package/dist/chunk-4DRFEYCE.js.map +1 -0
  8. package/dist/{chunk-MPTNC32T.js → chunk-4HWOYYY7.js} +3 -3
  9. package/dist/{chunk-MAWNVT2C.js → chunk-4UKMQUAU.js} +4 -4
  10. package/dist/{chunk-G6UREQ4V.js → chunk-5JUQKGCP.js} +9 -9
  11. package/dist/{chunk-T6UWJAB3.js → chunk-6WGXTB2L.js} +2 -2
  12. package/dist/{chunk-SAYZWCH6.js → chunk-7PYXS2QU.js} +2 -2
  13. package/dist/{chunk-ENGYJCTF.js → chunk-AG3ZVM3B.js} +35 -45
  14. package/dist/{chunk-ENGYJCTF.js.map → chunk-AG3ZVM3B.js.map} +1 -1
  15. package/dist/{chunk-A4KDXNOT.js → chunk-C2UISKIM.js} +66 -104
  16. package/dist/chunk-C2UISKIM.js.map +1 -0
  17. package/dist/{chunk-RZDXDMT6.js → chunk-CMJBKQUH.js} +2 -2
  18. package/dist/{chunk-XZEVWPX6.js → chunk-DJEO3F2H.js} +7 -7
  19. package/dist/{chunk-V3I7VQ7N.js → chunk-EH2PGPLP.js} +5 -5
  20. package/dist/chunk-EH2PGPLP.js.map +1 -0
  21. package/dist/{chunk-PMJWD27C.js → chunk-GE7NUPMI.js} +3 -3
  22. package/dist/{chunk-PNB3524H.js → chunk-GRL73YPF.js} +5 -5
  23. package/dist/{chunk-Y3VIRVVE.js → chunk-H4ZKGGTE.js} +6 -6
  24. package/dist/{chunk-LFWLEDUG.js → chunk-HI6YB7XP.js} +6 -6
  25. package/dist/{chunk-SCOQ34YM.js → chunk-HL3GYRMR.js} +2 -2
  26. package/dist/{chunk-NBXXFIIW.js → chunk-HR7TK2XW.js} +3 -3
  27. package/dist/{chunk-ZR4YPKXQ.js → chunk-JIBCVXXL.js} +4 -4
  28. package/dist/{chunk-JQRJQ4SS.js → chunk-JPMV4E4E.js} +3 -3
  29. package/dist/{chunk-4NDBUJHK.js → chunk-JVUN6AOO.js} +8 -8
  30. package/dist/{chunk-RAHSOJQ2.js → chunk-KQ3PDARZ.js} +2 -2
  31. package/dist/{chunk-PXWG7KFO.js → chunk-KTLKR4YY.js} +2 -2
  32. package/dist/{chunk-6L75SQZU.js → chunk-L3W2JWBA.js} +2 -2
  33. package/dist/{chunk-TTY6DPJN.js → chunk-LFUJCRCT.js} +3 -3
  34. package/dist/{chunk-V5WXIM2F.js → chunk-NU2K5G54.js} +2 -2
  35. package/dist/{chunk-G4JK7WVO.js → chunk-P6I72PR3.js} +15 -15
  36. package/dist/{chunk-WWIFNPJG.js → chunk-PCFUXQJA.js} +12 -12
  37. package/dist/{chunk-DAIEQJIF.js → chunk-PLX2FLEQ.js} +3 -3
  38. package/dist/{chunk-2VUYFTUB.js → chunk-QWFG7Y3R.js} +6 -6
  39. package/dist/{chunk-WVUDLKIO.js → chunk-SLBL3WIP.js} +2 -2
  40. package/dist/{chunk-HWEKHVLE.js → chunk-TW35AEB4.js} +6 -6
  41. package/dist/{chunk-VAPTVR3J.js → chunk-VVRI35SK.js} +3 -3
  42. package/dist/{chunk-6LF4CQBY.js → chunk-W5KEYSOL.js} +2 -2
  43. package/dist/{chunk-TODCQFRB.js → chunk-W6GO2CYX.js} +2 -2
  44. package/dist/{chunk-7JNJ52CD.js → chunk-WNLF5EDZ.js} +7 -16
  45. package/dist/chunk-WNLF5EDZ.js.map +1 -0
  46. package/dist/{chunk-HHIYT3PI.js → chunk-X6ZZEYO3.js} +4 -4
  47. package/dist/{chunk-QHDPLLK6.js → chunk-YN3SWF53.js} +3 -3
  48. package/dist/{chunk-25MPBIK3.js → chunk-ZUGH4MQG.js} +3 -3
  49. package/dist/commands/build/marketplace.js +6 -6
  50. package/dist/commands/build/plugins.js +8 -8
  51. package/dist/commands/compile.js +14 -14
  52. package/dist/commands/doctor.js +13 -13
  53. package/dist/commands/edit.js +71 -242
  54. package/dist/commands/edit.js.map +1 -1
  55. package/dist/commands/eject.js +12 -12
  56. package/dist/commands/init.js +39 -39
  57. package/dist/commands/list.js +9 -9
  58. package/dist/commands/new/marketplace.js +6 -6
  59. package/dist/commands/search.js +11 -11
  60. package/dist/commands/share.js +11 -11
  61. package/dist/commands/uninstall.js +13 -13
  62. package/dist/commands/update.js +8 -8
  63. package/dist/components/common/removal-plan-confirm.js +2 -2
  64. package/dist/components/common/select-list.js +2 -2
  65. package/dist/components/wizard/category-grid.js +4 -4
  66. package/dist/components/wizard/checkbox-grid.js +4 -4
  67. package/dist/components/wizard/domain-selection.js +9 -9
  68. package/dist/components/wizard/run-wizard-session.js +26 -26
  69. package/dist/components/wizard/scroll-affordance.js +2 -2
  70. package/dist/components/wizard/skill-agent-summary.js +5 -5
  71. package/dist/components/wizard/source-grid.js +5 -5
  72. package/dist/components/wizard/stack-selection.js +7 -7
  73. package/dist/components/wizard/step-agents.js +8 -8
  74. package/dist/components/wizard/step-build.js +7 -7
  75. package/dist/components/wizard/step-confirm.js +9 -9
  76. package/dist/components/wizard/step-sources.js +8 -8
  77. package/dist/components/wizard/step-stack.js +8 -8
  78. package/dist/components/wizard/summary-panel.js +8 -8
  79. package/dist/components/wizard/toast.js +2 -2
  80. package/dist/components/wizard/wizard-layout.js +12 -12
  81. package/dist/components/wizard/wizard-tabs.js +2 -2
  82. package/dist/components/wizard/wizard.js +25 -25
  83. package/dist/hooks/init.js +39 -39
  84. package/dist/load-agent-defs-5XMVB3MU.js +14 -0
  85. package/dist/recompile-project-agents-7PQWYQ6B.js +18 -0
  86. package/dist/{source-loader-7KZ3MD5O.js → source-loader-FRJTCSDL.js} +4 -4
  87. package/dist/stores/wizard-store.js +4 -4
  88. package/package.json +5 -2
  89. package/dist/chunk-7JNJ52CD.js.map +0 -1
  90. package/dist/chunk-A4KDXNOT.js.map +0 -1
  91. package/dist/chunk-V3I7VQ7N.js.map +0 -1
  92. package/dist/chunk-Y47EV74W.js.map +0 -1
  93. package/dist/load-agent-defs-3C27ENC7.js +0 -14
  94. package/dist/recompile-project-agents-DGNBCU3N.js +0 -18
  95. /package/dist/{chunk-TZ2YJJKK.js.map → chunk-23DNVNFP.js.map} +0 -0
  96. /package/dist/{chunk-ZXKBERQU.js.map → chunk-27AVGFXH.js.map} +0 -0
  97. /package/dist/{chunk-SXVHSOTH.js.map → chunk-3DIDV6H3.js.map} +0 -0
  98. /package/dist/{chunk-GE3WKJ6Q.js.map → chunk-3LZNY46H.js.map} +0 -0
  99. /package/dist/{chunk-MPTNC32T.js.map → chunk-4HWOYYY7.js.map} +0 -0
  100. /package/dist/{chunk-MAWNVT2C.js.map → chunk-4UKMQUAU.js.map} +0 -0
  101. /package/dist/{chunk-G6UREQ4V.js.map → chunk-5JUQKGCP.js.map} +0 -0
  102. /package/dist/{chunk-T6UWJAB3.js.map → chunk-6WGXTB2L.js.map} +0 -0
  103. /package/dist/{chunk-SAYZWCH6.js.map → chunk-7PYXS2QU.js.map} +0 -0
  104. /package/dist/{chunk-RZDXDMT6.js.map → chunk-CMJBKQUH.js.map} +0 -0
  105. /package/dist/{chunk-XZEVWPX6.js.map → chunk-DJEO3F2H.js.map} +0 -0
  106. /package/dist/{chunk-PMJWD27C.js.map → chunk-GE7NUPMI.js.map} +0 -0
  107. /package/dist/{chunk-PNB3524H.js.map → chunk-GRL73YPF.js.map} +0 -0
  108. /package/dist/{chunk-Y3VIRVVE.js.map → chunk-H4ZKGGTE.js.map} +0 -0
  109. /package/dist/{chunk-LFWLEDUG.js.map → chunk-HI6YB7XP.js.map} +0 -0
  110. /package/dist/{chunk-SCOQ34YM.js.map → chunk-HL3GYRMR.js.map} +0 -0
  111. /package/dist/{chunk-NBXXFIIW.js.map → chunk-HR7TK2XW.js.map} +0 -0
  112. /package/dist/{chunk-ZR4YPKXQ.js.map → chunk-JIBCVXXL.js.map} +0 -0
  113. /package/dist/{chunk-JQRJQ4SS.js.map → chunk-JPMV4E4E.js.map} +0 -0
  114. /package/dist/{chunk-4NDBUJHK.js.map → chunk-JVUN6AOO.js.map} +0 -0
  115. /package/dist/{chunk-RAHSOJQ2.js.map → chunk-KQ3PDARZ.js.map} +0 -0
  116. /package/dist/{chunk-PXWG7KFO.js.map → chunk-KTLKR4YY.js.map} +0 -0
  117. /package/dist/{chunk-6L75SQZU.js.map → chunk-L3W2JWBA.js.map} +0 -0
  118. /package/dist/{chunk-TTY6DPJN.js.map → chunk-LFUJCRCT.js.map} +0 -0
  119. /package/dist/{chunk-V5WXIM2F.js.map → chunk-NU2K5G54.js.map} +0 -0
  120. /package/dist/{chunk-G4JK7WVO.js.map → chunk-P6I72PR3.js.map} +0 -0
  121. /package/dist/{chunk-WWIFNPJG.js.map → chunk-PCFUXQJA.js.map} +0 -0
  122. /package/dist/{chunk-DAIEQJIF.js.map → chunk-PLX2FLEQ.js.map} +0 -0
  123. /package/dist/{chunk-2VUYFTUB.js.map → chunk-QWFG7Y3R.js.map} +0 -0
  124. /package/dist/{chunk-WVUDLKIO.js.map → chunk-SLBL3WIP.js.map} +0 -0
  125. /package/dist/{chunk-HWEKHVLE.js.map → chunk-TW35AEB4.js.map} +0 -0
  126. /package/dist/{chunk-VAPTVR3J.js.map → chunk-VVRI35SK.js.map} +0 -0
  127. /package/dist/{chunk-6LF4CQBY.js.map → chunk-W5KEYSOL.js.map} +0 -0
  128. /package/dist/{chunk-TODCQFRB.js.map → chunk-W6GO2CYX.js.map} +0 -0
  129. /package/dist/{chunk-HHIYT3PI.js.map → chunk-X6ZZEYO3.js.map} +0 -0
  130. /package/dist/{chunk-QHDPLLK6.js.map → chunk-YN3SWF53.js.map} +0 -0
  131. /package/dist/{chunk-25MPBIK3.js.map → chunk-ZUGH4MQG.js.map} +0 -0
  132. /package/dist/{load-agent-defs-3C27ENC7.js.map → load-agent-defs-5XMVB3MU.js.map} +0 -0
  133. /package/dist/{recompile-project-agents-DGNBCU3N.js.map → recompile-project-agents-7PQWYQ6B.js.map} +0 -0
  134. /package/dist/{source-loader-7KZ3MD5O.js.map → source-loader-FRJTCSDL.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  MIN_TERMINAL_SIZE
4
- } from "./chunk-ENGYJCTF.js";
4
+ } from "./chunk-AG3ZVM3B.js";
5
5
 
6
6
  // src/cli/utils/terminal.ts
7
7
  function clearTerminalScreen() {
@@ -20,4 +20,4 @@ export {
20
20
  isTerminalLargeEnough,
21
21
  formatTerminalTooSmallMessage
22
22
  };
23
- //# sourceMappingURL=chunk-RZDXDMT6.js.map
23
+ //# sourceMappingURL=chunk-CMJBKQUH.js.map
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getDomainDisplayName
4
- } from "./chunk-QHDPLLK6.js";
4
+ } from "./chunk-YN3SWF53.js";
5
5
  import {
6
6
  useMeasuredHeight
7
7
  } from "./chunk-TSIU7DME.js";
8
8
  import {
9
9
  useRowScroll
10
- } from "./chunk-TTY6DPJN.js";
10
+ } from "./chunk-LFUJCRCT.js";
11
11
  import {
12
12
  KEY_SPACE
13
13
  } from "./chunk-WTJ3AY33.js";
@@ -17,19 +17,19 @@ import {
17
17
  deriveScopeBadges,
18
18
  formatScopeTag,
19
19
  useWizardStore
20
- } from "./chunk-7JNJ52CD.js";
20
+ } from "./chunk-WNLF5EDZ.js";
21
21
  import {
22
22
  isAgentName,
23
23
  toTitleCase
24
- } from "./chunk-A4KDXNOT.js";
24
+ } from "./chunk-C2UISKIM.js";
25
25
  import {
26
26
  matrix,
27
27
  typedKeys
28
- } from "./chunk-V5WXIM2F.js";
28
+ } from "./chunk-NU2K5G54.js";
29
29
  import {
30
30
  CLI_COLORS,
31
31
  UI_SYMBOLS
32
- } from "./chunk-ENGYJCTF.js";
32
+ } from "./chunk-AG3ZVM3B.js";
33
33
 
34
34
  // src/cli/components/wizard/step-agents.tsx
35
35
  import { groupBy, unique } from "remeda";
@@ -227,4 +227,4 @@ var StepAgents = () => {
227
227
  export {
228
228
  StepAgents
229
229
  };
230
- //# sourceMappingURL=chunk-XZEVWPX6.js.map
230
+ //# sourceMappingURL=chunk-DJEO3F2H.js.map
@@ -6,7 +6,7 @@ import {
6
6
  getErrorMessage,
7
7
  loadProjectConfigFromDir,
8
8
  providerInUse
9
- } from "./chunk-A4KDXNOT.js";
9
+ } from "./chunk-C2UISKIM.js";
10
10
  import {
11
11
  getCategoryDomain,
12
12
  getSkillDisplayName,
@@ -14,11 +14,11 @@ import {
14
14
  typedEntries,
15
15
  typedKeys,
16
16
  typedValues
17
- } from "./chunk-V5WXIM2F.js";
17
+ } from "./chunk-NU2K5G54.js";
18
18
  import {
19
19
  isActiveAt,
20
20
  orderDomains
21
- } from "./chunk-ENGYJCTF.js";
21
+ } from "./chunk-AG3ZVM3B.js";
22
22
 
23
23
  // src/cli/lib/seed/seed-apply.ts
24
24
  import os from "os";
@@ -141,7 +141,7 @@ function holdInstalledGlobal(decoded, installed) {
141
141
  skippedSkillIds: new Set(namedSkillIds)
142
142
  });
143
143
  const restatesSkill = ({ named, held }) => named.origin === held.origin;
144
- const restatesAgent = ({ named, held }) => named.model === held.model && named.effort === held.effort && sameAssignments(decoded.assignedStack?.[named.name], assignedStack?.[named.name]);
144
+ const restatesAgent = ({ named, held }) => named.model === held.model && named.codexModel === held.codexModel && named.effort === held.effort && sameAssignments(decoded.assignedStack?.[named.name], assignedStack?.[named.name]);
145
145
  return {
146
146
  result: {
147
147
  ...decoded,
@@ -353,4 +353,4 @@ export {
353
353
  arrivalLines,
354
354
  openUrl
355
355
  };
356
- //# sourceMappingURL=chunk-V3I7VQ7N.js.map
356
+ //# sourceMappingURL=chunk-EH2PGPLP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/lib/seed/seed-apply.ts","../src/cli/utils/open-url.ts"],"sourcesContent":["import os from \"os\";\n\nimport { isDeepEqual, omit, partition, pick } from \"remeda\";\n\nimport { loadProjectConfigFromDir } from \"../configuration/project-config.js\";\nimport { isActiveAt } from \"../configuration/scope-predicates.js\";\nimport { providerInUse } from \"../installation/install-layout.js\";\nimport { getCategoryDomain, getSkillDisplayName, matrix } from \"../matrix/matrix-provider.js\";\nimport { orderDomains } from \"../wizard/domain-order.js\";\nimport { SHARED_CONFIG_APPLY, SHARED_CONFIG_ARRIVALS } from \"../../utils/messages.js\";\nimport { typedEntries, typedKeys, typedValues } from \"../../utils/typed-object.js\";\n\nimport type { WizardResultV2 } from \"../../components/wizard/wizard.js\";\nimport type { AgentName } from \"../../types/agents.js\";\nimport type {\n AgentScopeConfig,\n ProjectConfig,\n SkillConfig,\n SkillScope,\n} from \"../../types/config.js\";\nimport type { Category, Domain } from \"../../types/matrix.js\";\nimport type { SkillAssignment, SkillId } from \"../../types/skills.js\";\nimport type { StackAgentConfig } from \"../../types/stacks.js\";\nimport type { SeedPayload, SeedSkill } from \"@workspace/matrix/seed\";\n\n/**\n * What applying a shared configuration may not take away, split by reason: each has its own remedy.\n */\nexport type KeptFromRoundTrip = {\n /** Written here, so no shared configuration ever carried them. */\n authoredSkillIds: SkillId[];\n /** Named by the configuration but unplaceable by this catalogue. */\n unplaceableSkillIds: SkillId[];\n};\n\n/**\n * A kept skill's row displaced by the payload's own skill in a one-skill category. The skill stays\n * installed; the row goes.\n */\nexport type UnassignedRow = { skillId: SkillId; agentName: AgentName; category: Category };\n\nexport type ReconciledSharedConfig = {\n result: WizardResultV2;\n kept: KeptFromRoundTrip;\n unassigned: UnassignedRow[];\n};\n\nexport type ReconcileOptions = {\n decoded: WizardResultV2;\n /** Its own config, or the global one it inherits. */\n installed: ProjectConfig | null;\n /** From `skillsAuthoredHere`, the one definition both halves share. */\n authoredHere: ReadonlySet<SkillId>;\n /**\n * `SeedMapping.skippedSkillIds` as the caller already reported them, so the two cannot disagree.\n */\n unplaceable: ReadonlySet<string>;\n};\n\nconst NOTHING_KEPT: KeptFromRoundTrip = {\n authoredSkillIds: [],\n unplaceableSkillIds: [],\n};\n\n/**\n * Puts back what the destructive apply may not remove: skills written here (the payload never\n * named them) and ids it named that this catalogue cannot place (removal is on intent, never on\n * inability). Scope is {@link restoreInstalledGlobal}'s. Restored into the RESULT, not excused at\n * the writer: the removal diff drives the uninstall and file deletion whatever the merger does. A\n * kept skill also needs its stack rows and domain, or the next run deletes it.\n */\nexport function reconcileSharedConfig(options: ReconcileOptions): ReconciledSharedConfig {\n const { decoded, installed } = options;\n if (!installed) return nothingToReconcile(decoded);\n\n const keptSkills = skillsToKeep(options, installed);\n if (keptSkills.length === 0) return nothingToReconcile(decoded);\n\n const { result, unassigned } = withKeptEntries(decoded, installed, keptSkills);\n return { result, kept: describeKept(options, keptSkills), unassigned };\n}\n\nfunction nothingToReconcile(decoded: WizardResultV2): ReconciledSharedConfig {\n return { result: decoded, kept: NOTHING_KEPT, unassigned: [] };\n}\n\n/** A tombstone is neither: nothing is installed, so nothing needs protecting. */\nfunction skillsToKeep(options: ReconcileOptions, installed: ProjectConfig): SkillConfig[] {\n const named = new Set(options.decoded.skills.map((skill) => skill.id));\n\n return installed.skills.filter(\n (skill) => !skill.excluded && !named.has(skill.id) && mayNotRemove(skill, options),\n );\n}\n\nfunction mayNotRemove(skill: SkillConfig, options: ReconcileOptions): boolean {\n return options.authoredHere.has(skill.id) || options.unplaceable.has(skill.id);\n}\n\ntype KeptReason = \"authored\" | \"unplaceable\";\n\nfunction describeKept(options: ReconcileOptions, keptSkills: SkillConfig[]): KeptFromRoundTrip {\n const idsKeptFor = (reason: KeptReason): SkillId[] =>\n keptSkills.filter((skill) => reasonKept(skill, options) === reason).map((skill) => skill.id);\n\n return {\n authoredSkillIds: idsKeptFor(\"authored\"),\n unplaceableSkillIds: idsKeptFor(\"unplaceable\"),\n };\n}\n\n/**\n * Where both apply, the more permanent claim is disclosed: `update` can resolve an unplaceable id,\n * nothing changes who authored a skill.\n */\nfunction reasonKept(skill: SkillConfig, options: ReconcileOptions): KeptReason {\n return options.authoredHere.has(skill.id) ? \"authored\" : \"unplaceable\";\n}\n\nfunction withKeptEntries(\n decoded: WizardResultV2,\n installed: ProjectConfig,\n keptSkills: SkillConfig[],\n): Pick<ReconciledSharedConfig, \"result\" | \"unassigned\"> {\n const withSkills: WizardResultV2 = {\n ...decoded,\n skills: [...decoded.skills, ...keptSkills],\n selectedDomains: withKeptDomains(decoded.selectedDomains, keptSkills),\n };\n if (decoded.assignedStack === undefined) return { result: withSkills, unassigned: [] };\n\n const { assignedStack, unassigned } = withKeptStackRows(decoded.assignedStack, installed.stack, {\n keptSkillIds: new Set(keptSkills.map((skill) => skill.id)),\n survivingAgents: new Set(decoded.selectedAgents),\n });\n return { result: { ...withSkills, assignedStack }, unassigned };\n}\n\nfunction withKeptDomains(selected: Domain[], keptSkills: SkillConfig[]): Domain[] {\n const keptDomains = keptSkills.flatMap((skill) => domainOfSkill(skill.id) ?? []);\n const missing = keptDomains.filter((domain) => !selected.includes(domain));\n if (missing.length === 0) return selected;\n\n return orderDomains([...selected, ...new Set(missing)]);\n}\n\n/** Undefined for an entry the loaded source cannot resolve; `edit` reports those itself. */\nfunction domainOfSkill(skillId: SkillId): Domain | undefined {\n const category = matrix.skills[skillId]?.category;\n return category === undefined ? undefined : getCategoryDomain(category);\n}\n\ntype KeptRowFilter = {\n keptSkillIds: ReadonlySet<SkillId>;\n survivingAgents: ReadonlySet<AgentName>;\n};\n\ntype KeptRows = {\n assignedStack: Partial<Record<AgentName, StackAgentConfig>>;\n unassigned: UnassignedRow[];\n};\n\n/**\n * `assignedStack` replaces the derived stack, so a kept skill's installed rows are its only rows.\n * Rows under a sub-agent this configuration removes go with it. A kept row joins the payload's\n * under its category, except in a one-skill category the payload fills: the payload's skill takes\n * the slot (as {@link arrivingRows} does) and the kept row is returned as unassigned.\n */\nfunction withKeptStackRows(\n assigned: Partial<Record<AgentName, StackAgentConfig>>,\n installedStack: Partial<Record<AgentName, StackAgentConfig>> | undefined,\n filter: KeptRowFilter,\n): KeptRows {\n const isKept = (_category: Category, row: SkillAssignment): boolean =>\n filter.keptSkillIds.has(row.id);\n\n return typedEntries<AgentName, StackAgentConfig>(installedStack ?? {})\n .filter(([agent]) => filter.survivingAgents.has(agent))\n .reduce<KeptRows>(\n (carried, [agent, agentStack]) =>\n withAgentKeptRows(carried, agent, rowsWhere(agentStack, isKept), assigned[agent]),\n { assignedStack: assigned, unassigned: [] },\n );\n}\n\nfunction withAgentKeptRows(\n carried: KeptRows,\n agent: AgentName,\n keptRows: [Category, SkillAssignment][],\n payloadRows: StackAgentConfig | undefined,\n): KeptRows {\n const filled = filledExclusiveCategories(payloadRows);\n const [displaced, joining] = partition(keptRows, ([category]) => filled.has(category));\n\n return {\n assignedStack: withAppendedRows(carried.assignedStack, agent, joining),\n unassigned: [\n ...carried.unassigned,\n ...displaced.map(([category, row]) => ({ skillId: row.id, agentName: agent, category })),\n ],\n };\n}\n\n/**\n * Puts back each installed sub-agent the payload assigns an unplaceable skill, as installed:\n * the decode carries sub-agents in only through placed skills, and its absence is a catalogue\n * limit, not an instruction.\n */\nexport function withUnplaceableAssignees(\n decoded: WizardResultV2,\n installed: ProjectConfig | null,\n payload: SeedPayload,\n unplaceable: ReadonlySet<string>,\n): WizardResultV2 {\n if (!installed) return decoded;\n\n const assigned = assigneesOfHeld(payload, installed, unplaceable);\n const selected = new Set(decoded.selectedAgents);\n const leftOutThoughAssigned = (agent: AgentScopeConfig): boolean =>\n !agent.excluded && assigned.has(agent.name) && !selected.has(agent.name);\n\n const assignees = installed.agents.filter(leftOutThoughAssigned);\n if (assignees.length === 0) return decoded;\n\n return {\n ...decoded,\n selectedAgents: [...decoded.selectedAgents, ...assignees.map((agent) => agent.name)],\n agentConfigs: [...decoded.agentConfigs, ...assignees],\n };\n}\n\n/** Less any the payload switches off. */\nfunction assigneesOfHeld(\n payload: SeedPayload,\n installed: ProjectConfig,\n unplaceable: ReadonlySet<string>,\n): Set<string> {\n const held = new Set<string>(\n installed.skills.filter((skill) => !skill.excluded).map((skill) => skill.id),\n );\n const isHeldUnplaceable = ([id]: [string, SeedSkill]): boolean =>\n unplaceable.has(id) && held.has(id);\n const isNotSwitchedOff = (name: string): boolean => payload.agents[name]?.on !== false;\n\n return new Set(\n typedEntries<string, SeedSkill>(payload.skills)\n .filter(isHeldUnplaceable)\n .flatMap(([, skill]) => typedKeys<string>(skill.assignments))\n .filter(isNotSwitchedOff),\n );\n}\n\nexport type InstalledGlobal = Pick<ProjectConfig, \"skills\" | \"agents\" | \"stack\">;\n\n/**\n * Read from the global config, which every registered project inherits, rather than from a\n * project's possibly older inlined copy; through the project's own provider. `null` when absent.\n */\nexport async function readInstalledGlobal(projectDir: string): Promise<InstalledGlobal | null> {\n const loaded = await loadProjectConfigFromDir(os.homedir(), providerInUse(projectDir));\n return loaded?.config ?? null;\n}\n\ntype GlobalEntries = { skillIds: SkillId[]; agentNames: AgentName[] };\n\nexport type HeldGlobal = {\n result: WizardResultV2;\n /**\n * Global entries the configuration names that the global install holds; their skills are skipped.\n */\n installed: GlobalEntries;\n /**\n * Of those, the ones stated otherwise, plus (from {@link restoreInstalledGlobal}) every omitted\n * one.\n */\n keptAsInstalled: GlobalEntries;\n};\n\nconst NO_GLOBAL_ENTRIES: GlobalEntries = { skillIds: [], agentNames: [] };\n\n/**\n * From a project `--from` only ADDS to the global install (owner ruling 2026-10-02): every global\n * entry it already holds is restated as held — install mode, tuning and rows. What it lacks\n * arrives whole, including a new skill's row on a held sub-agent. `installed` is `null` at the\n * home directory and on a machine with no global install.\n */\nexport function holdInstalledGlobal(\n decoded: WizardResultV2,\n installed: InstalledGlobal | null,\n): HeldGlobal {\n if (!installed) {\n return { result: decoded, installed: NO_GLOBAL_ENTRIES, keptAsInstalled: NO_GLOBAL_ENTRIES };\n }\n\n const heldSkills = activeGlobalById(installed.skills, (skill) => skill.id);\n const heldAgents = activeGlobalById(installed.agents, (agent) => agent.name);\n const skills = pairWithHeld(decoded.skills, heldSkills, (skill) => skill.id);\n const agents = pairWithHeld(decoded.agentConfigs, heldAgents, (agent) => agent.name);\n const namedSkillIds = skills.map(({ named }) => named.id);\n const namedAgentNames = agents.map(({ named }) => named.name);\n const assignedStack =\n decoded.assignedStack &&\n withHeldRows(decoded.assignedStack, installed.stack, {\n agentNames: namedAgentNames,\n skippedSkillIds: new Set(namedSkillIds),\n });\n\n const restatesSkill = ({ named, held }: Held<SkillConfig>): boolean =>\n named.origin === held.origin;\n const restatesAgent = ({ named, held }: Held<AgentScopeConfig>): boolean =>\n named.model === held.model &&\n named.codexModel === held.codexModel &&\n named.effort === held.effort &&\n sameAssignments(decoded.assignedStack?.[named.name], assignedStack?.[named.name]);\n\n return {\n result: {\n ...decoded,\n skills: decoded.skills.map(asHeld(skills)),\n agentConfigs: decoded.agentConfigs.map(asHeld(agents)),\n ...(assignedStack !== undefined && { assignedStack }),\n },\n installed: { skillIds: namedSkillIds, agentNames: namedAgentNames },\n keptAsInstalled: {\n skillIds: skills.filter((pair) => !restatesSkill(pair)).map(({ named }) => named.id),\n agentNames: agents.filter((pair) => !restatesAgent(pair)).map(({ named }) => named.name),\n },\n };\n}\n\n/**\n * Also puts back every global entry the configuration omits, for the destructive `edit --from`:\n * the global install's entries are not a project's to remove.\n */\nexport function restoreInstalledGlobal(\n decoded: WizardResultV2,\n installed: InstalledGlobal | null,\n): HeldGlobal {\n const held = holdInstalledGlobal(decoded, installed);\n if (!installed) return held;\n\n const omitted = omittedGlobal(held.result, installed);\n const { skillIds, agentNames } = held.keptAsInstalled;\n return {\n ...held,\n result: withOmittedGlobal(held.result, installed, omitted),\n keptAsInstalled: {\n skillIds: [...skillIds, ...omitted.skills.map((skill) => skill.id)],\n agentNames: [...agentNames, ...omitted.agents.map((agent) => agent.name)],\n },\n };\n}\n\nfunction activeGlobalById<Entry extends SkillConfig | AgentScopeConfig, Key extends string>(\n entries: Entry[],\n keyOf: (entry: Entry) => Key,\n): Map<Key, Entry> {\n return new Map(\n entries.filter((entry) => isActiveAt(entry, \"global\")).map((entry) => [keyOf(entry), entry]),\n );\n}\n\ntype Held<Entry> = { named: Entry; held: Entry };\n\nfunction asHeld<Entry>(pairs: Held<Entry>[]): (entry: Entry) => Entry {\n const heldFor = new Map(pairs.map(({ named, held }) => [named, held]));\n return (entry) => heldFor.get(entry) ?? entry;\n}\n\nfunction pairWithHeld<Entry extends SkillConfig | AgentScopeConfig, Key extends string>(\n decoded: Entry[],\n heldByKey: ReadonlyMap<Key, Entry>,\n keyOf: (entry: Entry) => Key,\n): Held<Entry>[] {\n return decoded.flatMap((named) => {\n const held = heldByKey.get(keyOf(named));\n return held !== undefined && isActiveAt(named, \"global\") ? [{ named, held }] : [];\n });\n}\n\n/** Row order is not part of what a sub-agent loads. */\nexport function sameAssignments(\n left: StackAgentConfig | undefined,\n right: StackAgentConfig | undefined,\n): boolean {\n return isDeepEqual(assignmentKeys(left), assignmentKeys(right));\n}\n\nfunction assignmentKeys(agentStack: StackAgentConfig | undefined): string[] {\n return typedEntries<Category, SkillAssignment[]>(agentStack ?? {})\n .flatMap(([category, assignments]) =>\n assignments.map((row) => `${category}/${row.id}/${row.preloaded === true}`),\n )\n .sort();\n}\n\n/** None where the global install gives the sub-agent none. */\nfunction withInstalledRows(\n assigned: Partial<Record<AgentName, StackAgentConfig>>,\n installedStack: InstalledGlobal[\"stack\"],\n agentNames: AgentName[],\n): Partial<Record<AgentName, StackAgentConfig>> {\n return { ...omit(assigned, agentNames), ...pick(installedStack ?? {}, agentNames) };\n}\n\ntype HeldRows = { agentNames: AgentName[]; skippedSkillIds: ReadonlySet<SkillId> };\n\n/** Existing rows stay first and unchanged; arriving skills bring their rows after them. */\nfunction withHeldRows(\n assigned: Partial<Record<AgentName, StackAgentConfig>>,\n installedStack: InstalledGlobal[\"stack\"],\n held: HeldRows,\n): Partial<Record<AgentName, StackAgentConfig>> {\n const asInstalled = withInstalledRows(assigned, installedStack, held.agentNames);\n\n return held.agentNames.reduce(\n (stack, agentName) =>\n withAppendedRows(\n stack,\n agentName,\n arrivingRows(assigned[agentName], stack[agentName], held.skippedSkillIds),\n ),\n asInstalled,\n );\n}\n\n/**\n * Rows bringing a skill the global install lacks, under a category with room. In a one-skill\n * category the sub-agent already fills, the arriving skill installs without that row.\n */\nfunction arrivingRows(\n stated: StackAgentConfig | undefined,\n installed: StackAgentConfig | undefined,\n skippedSkillIds: ReadonlySet<SkillId>,\n): [Category, SkillAssignment][] {\n const alreadyLoaded = new Set(rowIds(installed));\n const filled = filledExclusiveCategories(installed);\n const arrives = (category: Category, row: SkillAssignment): boolean =>\n !skippedSkillIds.has(row.id) && !alreadyLoaded.has(row.id) && !filled.has(category);\n\n return rowsWhere(stated, arrives);\n}\n\nfunction rowIds(agentStack: StackAgentConfig | undefined): SkillId[] {\n return typedValues<Category, SkillAssignment[]>(agentStack ?? {}).flatMap((rows) =>\n rows.map((row) => row.id),\n );\n}\n\n/** An undeclared category is not exclusive (see `propagate.ts`). */\nfunction filledExclusiveCategories(agentStack: StackAgentConfig | undefined): Set<Category> {\n const isExclusive = (category: Category): boolean =>\n matrix.categories[category]?.exclusive === true;\n\n return new Set(\n typedEntries<Category, SkillAssignment[]>(agentStack ?? {})\n .filter(([category, rows]) => rows.length > 0 && isExclusive(category))\n .map(([category]) => category),\n );\n}\n\nfunction withAppendedRows(\n stack: Partial<Record<AgentName, StackAgentConfig>>,\n agentName: AgentName,\n added: [Category, SkillAssignment][],\n): Partial<Record<AgentName, StackAgentConfig>> {\n if (added.length === 0) return stack;\n return { ...stack, [agentName]: appendRows(stack[agentName] ?? {}, added) };\n}\n\nfunction rowsWhere(\n agentStack: StackAgentConfig | undefined,\n keep: (category: Category, row: SkillAssignment) => boolean,\n): [Category, SkillAssignment][] {\n return typedEntries<Category, SkillAssignment[]>(agentStack ?? {}).flatMap(([category, rows]) =>\n rows\n .filter((row) => keep(category, row))\n .map((row): [Category, SkillAssignment] => [category, row]),\n );\n}\n\nfunction appendRows(\n agentStack: StackAgentConfig,\n added: [Category, SkillAssignment][],\n): StackAgentConfig {\n return added.reduce<StackAgentConfig>(\n (rows, [category, row]) => ({ ...rows, [category]: [...(rows[category] ?? []), row] }),\n agentStack,\n );\n}\n\ntype OmittedGlobal = { skills: SkillConfig[]; agents: AgentScopeConfig[] };\n\nfunction omittedGlobal(result: WizardResultV2, installed: InstalledGlobal): OmittedGlobal {\n const namedSkillIds = new Set(result.skills.map((skill) => skill.id));\n const namedAgentNames = new Set(result.agentConfigs.map((agent) => agent.name));\n\n return {\n skills: [...activeGlobalById(installed.skills, (skill) => skill.id).values()].filter(\n (skill) => !namedSkillIds.has(skill.id),\n ),\n agents: [...activeGlobalById(installed.agents, (agent) => agent.name).values()].filter(\n (agent) => !namedAgentNames.has(agent.name),\n ),\n };\n}\n\nfunction withOmittedGlobal(\n result: WizardResultV2,\n installed: InstalledGlobal,\n omitted: OmittedGlobal,\n): WizardResultV2 {\n const omittedAgentNames = omitted.agents.map((agent) => agent.name);\n\n return {\n ...result,\n skills: [...result.skills, ...omitted.skills],\n agentConfigs: [...result.agentConfigs, ...omitted.agents],\n selectedAgents: [...new Set([...result.selectedAgents, ...omittedAgentNames])],\n selectedDomains: withKeptDomains(result.selectedDomains, omitted.skills),\n ...(result.assignedStack !== undefined && {\n assignedStack: withInstalledRows(result.assignedStack, installed.stack, omittedAgentNames),\n }),\n };\n}\n\n/**\n * A carried skill's bytes written over a global skill directory would change it like a reinstall.\n */\nexport function notInstalledGlobally<Entry extends { id: SkillId }>(\n entries: Entry[],\n held: HeldGlobal,\n): Entry[] {\n const installed = new Set(held.installed.skillIds);\n return entries.filter((entry) => !installed.has(entry.id));\n}\n\nexport type ArrivingEntries = { skillIds: SkillId[]; agentNames: AgentName[] };\n\nexport type Arrivals = Record<SkillScope, ArrivingEntries>;\n\nexport function arrivalsByScope(skills: SkillConfig[], agents: AgentScopeConfig[]): Arrivals {\n const landingAt = (scope: SkillScope): ArrivingEntries => ({\n skillIds: skills.filter((skill) => isActiveAt(skill, scope)).map((skill) => skill.id),\n agentNames: agents.filter((agent) => isActiveAt(agent, scope)).map((agent) => agent.name),\n });\n return { project: landingAt(\"project\"), global: landingAt(\"global\") };\n}\n\nfunction installArrivals(held: HeldGlobal): Arrivals {\n const installedSkillIds = new Set(held.installed.skillIds);\n const installedAgentNames = new Set(held.installed.agentNames);\n return arrivalsByScope(\n held.result.skills.filter((skill) => !installedSkillIds.has(skill.id)),\n held.result.agentConfigs.filter((agent) => !installedAgentNames.has(agent.name)),\n );\n}\n\n/** A skipped global skill is named, so no unarriving skill goes unmentioned. */\nexport function installPlanLines(held: HeldGlobal): string[] {\n return [\n ...arrivalLines(installArrivals(held)),\n ...scopeLines(SHARED_CONFIG_ARRIVALS.SKIPPED_HEADING, {\n skillIds: held.installed.skillIds,\n agentNames: [],\n }),\n ];\n}\n\nexport function skillLabel(skillId: SkillId): string {\n const displayName = getSkillDisplayName(skillId);\n return displayName === skillId ? skillId : `${displayName} (${skillId})`;\n}\n\nexport function arrivalLines(arrivals: Arrivals): string[] {\n return [\n ...scopeLines(SHARED_CONFIG_ARRIVALS.PROJECT_HEADING, arrivals.project),\n ...scopeLines(SHARED_CONFIG_ARRIVALS.GLOBAL_HEADING, arrivals.global),\n ];\n}\n\nfunction scopeLines(heading: string, entries: ArrivingEntries): string[] {\n const groups = [\n { label: SHARED_CONFIG_APPLY.SKILLS_HEADING, items: entries.skillIds.map(skillLabel) },\n { label: SHARED_CONFIG_APPLY.AGENTS_HEADING, items: entries.agentNames },\n ].filter((group) => group.items.length > 0);\n if (groups.length === 0) return [];\n\n return [\n heading,\n ...groups.flatMap((group) => [` ${group.label}`, ...group.items.map((item) => ` ${item}`)]),\n ];\n}\n","import { execCommand } from \"./exec.js\";\nimport { getErrorMessage } from \"./errors.js\";\n\n/** The shell-out one platform answers \"open this with whatever handles it\" with. */\nexport type OpenerCommand = { command: string; args: string[] };\n\n/**\n * Never a throw. A machine with no browser, no desktop session or no opener at all is a\n * legitimate place to run this CLI, so failing to open a link is something to say rather than\n * something to fail on — the same posture the seed boundaries take, and for the same reason:\n * the link is already printed by the time this runs, so nothing is lost by it not working.\n */\nexport type OpenUrlResult = { ok: true } | { ok: false; error: string };\n\n/**\n * The command a platform opens a link with.\n *\n * There is no dependency for this. All three are one-line shell-outs to something the operating\n * system already ships, and a package for it would be a fourth thing to keep current for no\n * behaviour this does not have.\n *\n * Windows goes through `cmd` because `start` is a shell builtin rather than a program, and the\n * empty string after it is its TITLE argument: without one, `start` reads the first quoted\n * argument it is given as the window title and opens nothing.\n */\nexport function browserOpenerCommand(platform: NodeJS.Platform, url: string): OpenerCommand {\n if (platform === \"darwin\") return { command: \"open\", args: [url] };\n if (platform === \"win32\") return { command: \"cmd\", args: [\"/c\", \"start\", \"\", url] };\n return { command: \"xdg-open\", args: [url] };\n}\n\nfunction openerRefusedMessage(command: string, exitCode: number): string {\n return `Could not open your browser — '${command}' exited ${exitCode}.`;\n}\n\nfunction openerUnavailableMessage(command: string, reason: string): string {\n return `Could not open your browser — '${command}' could not be run: ${reason}`;\n}\n\n/**\n * Hands a link to whatever this platform opens links with.\n *\n * The URL travels as its own argument rather than inside a command line: `execCommand` spawns\n * without a shell, so the argument vector is the whole of the injection guard — there is no\n * string for a link to break out of.\n */\nexport async function openUrl(url: string): Promise<OpenUrlResult> {\n const { command, args } = browserOpenerCommand(process.platform, url);\n\n try {\n const result = await execCommand(command, args);\n if (result.exitCode !== 0) {\n return { ok: false, error: openerRefusedMessage(command, result.exitCode) };\n }\n return { ok: true };\n } catch (error) {\n return { ok: false, error: openerUnavailableMessage(command, getErrorMessage(error)) };\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getAgentDefinitions
4
- } from "./chunk-ZR4YPKXQ.js";
4
+ } from "./chunk-JIBCVXXL.js";
5
5
  import {
6
6
  loadMergedAgents
7
- } from "./chunk-A4KDXNOT.js";
7
+ } from "./chunk-C2UISKIM.js";
8
8
 
9
9
  // src/cli/lib/operations/project/load-agent-defs.ts
10
10
  async function loadAgentDefs() {
@@ -20,4 +20,4 @@ async function loadAgentDefs() {
20
20
  export {
21
21
  loadAgentDefs
22
22
  };
23
- //# sourceMappingURL=chunk-PMJWD27C.js.map
23
+ //# sourceMappingURL=chunk-GE7NUPMI.js.map
@@ -7,19 +7,19 @@ import {
7
7
  } from "./chunk-JOEA52NR.js";
8
8
  import {
9
9
  useRowScroll
10
- } from "./chunk-TTY6DPJN.js";
10
+ } from "./chunk-LFUJCRCT.js";
11
11
  import {
12
12
  showWarningsAsToast,
13
13
  useWizardStore
14
- } from "./chunk-7JNJ52CD.js";
14
+ } from "./chunk-WNLF5EDZ.js";
15
15
  import {
16
16
  matrix,
17
17
  typedKeys
18
- } from "./chunk-V5WXIM2F.js";
18
+ } from "./chunk-NU2K5G54.js";
19
19
  import {
20
20
  CLI_COLORS,
21
21
  UI_SYMBOLS
22
- } from "./chunk-ENGYJCTF.js";
22
+ } from "./chunk-AG3ZVM3B.js";
23
23
 
24
24
  // src/cli/components/wizard/stack-selection.tsx
25
25
  import { groupBy } from "remeda";
@@ -194,4 +194,4 @@ var StackSelection = ({ onCancel }) => {
194
194
  export {
195
195
  StackSelection
196
196
  };
197
- //# sourceMappingURL=chunk-PNB3524H.js.map
197
+ //# sourceMappingURL=chunk-GRL73YPF.js.map
@@ -4,12 +4,12 @@ import {
4
4
  pluginInstallFailureError,
5
5
  unbackedPluginInstallError,
6
6
  unbackedPluginSkillIds
7
- } from "./chunk-VAPTVR3J.js";
7
+ } from "./chunk-VVRI35SK.js";
8
8
  import {
9
9
  clearTerminalScreen,
10
10
  formatTerminalTooSmallMessage,
11
11
  isTerminalLargeEnough
12
- } from "./chunk-RZDXDMT6.js";
12
+ } from "./chunk-CMJBKQUH.js";
13
13
  import {
14
14
  STATUS_MESSAGES,
15
15
  claimSlug,
@@ -54,13 +54,13 @@ import {
54
54
  warn,
55
55
  writeFile,
56
56
  writeMetadataYaml
57
- } from "./chunk-A4KDXNOT.js";
57
+ } from "./chunk-C2UISKIM.js";
58
58
  import {
59
59
  BUILT_IN_MATRIX,
60
60
  getCategoryDomain,
61
61
  typedEntries,
62
62
  typedKeys
63
- } from "./chunk-V5WXIM2F.js";
63
+ } from "./chunk-NU2K5G54.js";
64
64
  import {
65
65
  CLI_COLORS,
66
66
  DEFAULT_BRANDING,
@@ -70,7 +70,7 @@ import {
70
70
  STANDARD_FILES,
71
71
  isActiveAt,
72
72
  seedExternalSkillSchema
73
- } from "./chunk-ENGYJCTF.js";
73
+ } from "./chunk-AG3ZVM3B.js";
74
74
 
75
75
  // src/cli/lib/exit-codes.ts
76
76
  var EXIT_CODES = {
@@ -929,4 +929,4 @@ export {
929
929
  readCarriedSkills,
930
930
  BaseCommand
931
931
  };
932
- //# sourceMappingURL=chunk-Y3VIRVVE.js.map
932
+ //# sourceMappingURL=chunk-H4ZKGGTE.js.map
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getDomainDisplayName
4
- } from "./chunk-QHDPLLK6.js";
4
+ } from "./chunk-YN3SWF53.js";
5
5
  import {
6
6
  CheckboxGrid
7
- } from "./chunk-JQRJQ4SS.js";
7
+ } from "./chunk-JPMV4E4E.js";
8
8
  import {
9
9
  useWizardStore
10
- } from "./chunk-7JNJ52CD.js";
10
+ } from "./chunk-WNLF5EDZ.js";
11
11
  import {
12
12
  matrix,
13
13
  typedEntries
14
- } from "./chunk-V5WXIM2F.js";
14
+ } from "./chunk-NU2K5G54.js";
15
15
  import {
16
16
  DOMAIN_DESCRIPTIONS,
17
17
  orderDomains
18
- } from "./chunk-ENGYJCTF.js";
18
+ } from "./chunk-AG3ZVM3B.js";
19
19
 
20
20
  // src/cli/components/wizard/domain-selection.tsx
21
21
  import { useMemo } from "react";
@@ -56,4 +56,4 @@ var DomainSelection = () => {
56
56
  export {
57
57
  DomainSelection
58
58
  };
59
- //# sourceMappingURL=chunk-LFWLEDUG.js.map
59
+ //# sourceMappingURL=chunk-HI6YB7XP.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  StackSelection
4
- } from "./chunk-PNB3524H.js";
4
+ } from "./chunk-GRL73YPF.js";
5
5
 
6
6
  // src/cli/components/wizard/step-stack.tsx
7
7
  import { Box } from "ink";
@@ -14,4 +14,4 @@ var StepStack = ({ onCancel }) => {
14
14
  export {
15
15
  StepStack
16
16
  };
17
- //# sourceMappingURL=chunk-SCOQ34YM.js.map
17
+ //# sourceMappingURL=chunk-HL3GYRMR.js.map
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  chooseProviderForThisRun,
4
4
  detectInstallations
5
- } from "./chunk-A4KDXNOT.js";
5
+ } from "./chunk-C2UISKIM.js";
6
6
  import {
7
7
  CLI_INVOKE_COMMAND,
8
8
  EDITOR_URL,
9
9
  PROVIDERS
10
- } from "./chunk-ENGYJCTF.js";
10
+ } from "./chunk-AG3ZVM3B.js";
11
11
 
12
12
  // src/cli/lib/installation/provider-flag.ts
13
13
  import os from "os";
@@ -70,4 +70,4 @@ export {
70
70
  ambiguityFinding,
71
71
  otherInstallationsInThisScope
72
72
  };
73
- //# sourceMappingURL=chunk-NBXXFIIW.js.map
73
+ //# sourceMappingURL=chunk-HR7TK2XW.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  listAgentMdFiles
4
- } from "./chunk-GE3WKJ6Q.js";
4
+ } from "./chunk-3LZNY46H.js";
5
5
  import {
6
6
  agentFrontmatterValidationSchema,
7
7
  computeStringHash,
@@ -23,11 +23,11 @@ import {
23
23
  warn,
24
24
  writeContentHash,
25
25
  writePluginManifest
26
- } from "./chunk-A4KDXNOT.js";
26
+ } from "./chunk-C2UISKIM.js";
27
27
  import {
28
28
  DIRS,
29
29
  PROJECT_ROOT
30
- } from "./chunk-ENGYJCTF.js";
30
+ } from "./chunk-AG3ZVM3B.js";
31
31
 
32
32
  // src/cli/lib/agents/agent-fetcher.ts
33
33
  import path from "path";
@@ -156,4 +156,4 @@ export {
156
156
  compileAllAgentPlugins,
157
157
  printAgentCompilationSummary
158
158
  };
159
- //# sourceMappingURL=chunk-ZR4YPKXQ.js.map
159
+ //# sourceMappingURL=chunk-JIBCVXXL.js.map
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  useRowScroll
4
- } from "./chunk-TTY6DPJN.js";
4
+ } from "./chunk-LFUJCRCT.js";
5
5
  import {
6
6
  KEY_SPACE
7
7
  } from "./chunk-WTJ3AY33.js";
8
8
  import {
9
9
  CLI_COLORS,
10
10
  UI_SYMBOLS
11
- } from "./chunk-ENGYJCTF.js";
11
+ } from "./chunk-AG3ZVM3B.js";
12
12
 
13
13
  // src/cli/components/wizard/checkbox-grid.tsx
14
14
  import { Box, Text, useInput } from "ink";
@@ -115,4 +115,4 @@ var CheckboxGrid = ({
115
115
  export {
116
116
  CheckboxGrid
117
117
  };
118
- //# sourceMappingURL=chunk-JQRJQ4SS.js.map
118
+ //# sourceMappingURL=chunk-JPMV4E4E.js.map
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SummaryPanel
4
- } from "./chunk-2VUYFTUB.js";
4
+ } from "./chunk-QWFG7Y3R.js";
5
5
  import {
6
6
  Toast
7
- } from "./chunk-T6UWJAB3.js";
7
+ } from "./chunk-6WGXTB2L.js";
8
8
  import {
9
9
  WizardTabs,
10
10
  wizardTabsFor
11
- } from "./chunk-6L75SQZU.js";
11
+ } from "./chunk-L3W2JWBA.js";
12
12
  import {
13
13
  getDomainDisplayName,
14
14
  getStackName
15
- } from "./chunk-QHDPLLK6.js";
15
+ } from "./chunk-YN3SWF53.js";
16
16
  import {
17
17
  HOTKEY_INFO,
18
18
  HOTKEY_SCOPE,
@@ -25,17 +25,17 @@ import {
25
25
  import {
26
26
  getActiveStepFlow,
27
27
  useWizardStore
28
- } from "./chunk-7JNJ52CD.js";
28
+ } from "./chunk-WNLF5EDZ.js";
29
29
  import {
30
30
  formatTerminalTooSmallMessage,
31
31
  isTerminalLargeEnough
32
- } from "./chunk-RZDXDMT6.js";
32
+ } from "./chunk-CMJBKQUH.js";
33
33
  import {
34
34
  CLI_COLORS,
35
35
  FALLBACK_DOMAIN,
36
36
  LOGO_MIN_TERMINAL_ROWS,
37
37
  orderDomains
38
- } from "./chunk-ENGYJCTF.js";
38
+ } from "./chunk-AG3ZVM3B.js";
39
39
 
40
40
  // src/cli/components/wizard/wizard-layout.tsx
41
41
  import { Box, Text } from "ink";
@@ -234,4 +234,4 @@ export {
234
234
  useTerminalDimensions,
235
235
  WizardLayout
236
236
  };
237
- //# sourceMappingURL=chunk-4NDBUJHK.js.map
237
+ //# sourceMappingURL=chunk-JVUN6AOO.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SummaryPanel
4
- } from "./chunk-2VUYFTUB.js";
4
+ } from "./chunk-QWFG7Y3R.js";
5
5
 
6
6
  // src/cli/components/wizard/step-confirm.tsx
7
7
  import { useInput } from "ink";
@@ -22,4 +22,4 @@ var StepConfirm = ({ onComplete, onBack }) => {
22
22
  export {
23
23
  StepConfirm
24
24
  };
25
- //# sourceMappingURL=chunk-RAHSOJQ2.js.map
25
+ //# sourceMappingURL=chunk-KQ3PDARZ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  hostAt,
7
7
  loadInstalledConfig,
8
8
  refuseUnofferedPlacements
9
- } from "./chunk-A4KDXNOT.js";
9
+ } from "./chunk-C2UISKIM.js";
10
10
 
11
11
  // src/cli/lib/hosts/configured-placements.ts
12
12
  async function unofferablePlacementsFound(cwd) {
@@ -36,4 +36,4 @@ async function configuredSkillsAt(root) {
36
36
  export {
37
37
  unofferablePlacementsFound
38
38
  };
39
- //# sourceMappingURL=chunk-PXWG7KFO.js.map
39
+ //# sourceMappingURL=chunk-KTLKR4YY.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CLI_COLORS
4
- } from "./chunk-ENGYJCTF.js";
4
+ } from "./chunk-AG3ZVM3B.js";
5
5
 
6
6
  // src/cli/components/wizard/wizard-tabs.tsx
7
7
  import { Box, Text } from "ink";
@@ -165,4 +165,4 @@ export {
165
165
  wizardTabsFor,
166
166
  WizardTabs
167
167
  };
168
- //# sourceMappingURL=chunk-6L75SQZU.js.map
168
+ //# sourceMappingURL=chunk-L3W2JWBA.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  computeRowScrollTop
4
- } from "./chunk-WVUDLKIO.js";
4
+ } from "./chunk-SLBL3WIP.js";
5
5
  import {
6
6
  SCROLL_VIEWPORT
7
- } from "./chunk-ENGYJCTF.js";
7
+ } from "./chunk-AG3ZVM3B.js";
8
8
 
9
9
  // src/cli/components/hooks/use-row-scroll.ts
10
10
  import { useRef } from "react";
@@ -24,4 +24,4 @@ function useRowScroll({
24
24
  export {
25
25
  useRowScroll
26
26
  };
27
- //# sourceMappingURL=chunk-TTY6DPJN.js.map
27
+ //# sourceMappingURL=chunk-LFUJCRCT.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  seatCatalog
4
- } from "./chunk-ENGYJCTF.js";
4
+ } from "./chunk-AG3ZVM3B.js";
5
5
 
6
6
  // src/cli/types/generated/matrix.ts
7
7
  var BUILT_IN_MATRIX = {
@@ -9359,4 +9359,4 @@ export {
9359
9359
  getCategoryDomain,
9360
9360
  findStack
9361
9361
  };
9362
- //# sourceMappingURL=chunk-V5WXIM2F.js.map
9362
+ //# sourceMappingURL=chunk-NU2K5G54.js.map
@@ -1,26 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SelectList
4
- } from "./chunk-6LF4CQBY.js";
4
+ } from "./chunk-W5KEYSOL.js";
5
5
  import {
6
6
  holdInstalledGlobal,
7
7
  installPlanLines,
8
8
  notInstalledGlobally,
9
9
  openUrl,
10
10
  readInstalledGlobal
11
- } from "./chunk-V3I7VQ7N.js";
11
+ } from "./chunk-EH2PGPLP.js";
12
12
  import {
13
13
  runWizardSession
14
- } from "./chunk-HHIYT3PI.js";
14
+ } from "./chunk-X6ZZEYO3.js";
15
15
  import {
16
16
  useTerminalDimensions
17
- } from "./chunk-4NDBUJHK.js";
17
+ } from "./chunk-JVUN6AOO.js";
18
18
  import {
19
19
  awaitUnderSpinner
20
20
  } from "./chunk-VRXX4D6K.js";
21
21
  import {
22
22
  fetchSeedConfig
23
- } from "./chunk-25MPBIK3.js";
23
+ } from "./chunk-ZUGH4MQG.js";
24
24
  import {
25
25
  promptConfirm,
26
26
  promptValue
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-OZXAJNLA.js";
31
31
  import {
32
32
  hostCompileNotices
33
- } from "./chunk-ZXKBERQU.js";
33
+ } from "./chunk-27AVGFXH.js";
34
34
  import {
35
35
  compileAgentsAllScopes,
36
36
  compileProjectScope,
@@ -38,14 +38,14 @@ import {
38
38
  movedGlobalAgentInputs,
39
39
  sayCapturedWarnings,
40
40
  writeProjectConfig
41
- } from "./chunk-G6UREQ4V.js";
41
+ } from "./chunk-5JUQKGCP.js";
42
42
  import {
43
43
  copyLocalSkills,
44
44
  discoverInstalledSkills
45
- } from "./chunk-HWEKHVLE.js";
45
+ } from "./chunk-TW35AEB4.js";
46
46
  import {
47
47
  loadAgentDefs
48
- } from "./chunk-PMJWD27C.js";
48
+ } from "./chunk-GE7NUPMI.js";
49
49
  import {
50
50
  render
51
51
  } from "./chunk-JFLVEFFP.js";
@@ -53,16 +53,16 @@ import {
53
53
  providerFlag,
54
54
  providerNamedBy,
55
55
  providerNeedsAConfigurationToInstall
56
- } from "./chunk-NBXXFIIW.js";
56
+ } from "./chunk-HR7TK2XW.js";
57
57
  import {
58
58
  BaseCommand,
59
59
  EXIT_CODES,
60
60
  registerExternalSkills,
61
61
  writeExternalSkills
62
- } from "./chunk-Y3VIRVVE.js";
62
+ } from "./chunk-H4ZKGGTE.js";
63
63
  import {
64
64
  clearTerminalScreen
65
- } from "./chunk-RZDXDMT6.js";
65
+ } from "./chunk-CMJBKQUH.js";
66
66
  import {
67
67
  INCOMPLETE_WORK_RECOVERY,
68
68
  INSTALL_MODE_DESCRIPTIONS,
@@ -108,7 +108,7 @@ import {
108
108
  skippedUnknownSkills,
109
109
  warn,
110
110
  wizardNeedsTerminal
111
- } from "./chunk-A4KDXNOT.js";
111
+ } from "./chunk-C2UISKIM.js";
112
112
  import {
113
113
  ASCII_LOGO,
114
114
  CLI_COLORS,
@@ -120,7 +120,7 @@ import {
120
120
  EJECT_SOURCE,
121
121
  MAX_CONFIG_FILE_SIZE,
122
122
  editorConfigUrl
123
- } from "./chunk-ENGYJCTF.js";
123
+ } from "./chunk-AG3ZVM3B.js";
124
124
 
125
125
  // src/cli/commands/init.tsx
126
126
  import "react";
@@ -1021,4 +1021,4 @@ export {
1021
1021
  Init,
1022
1022
  getDashboardData
1023
1023
  };
1024
- //# sourceMappingURL=chunk-G4JK7WVO.js.map
1024
+ //# sourceMappingURL=chunk-P6I72PR3.js.map