@agents-inc/cli 0.83.0 → 0.84.1

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 (163) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +34 -22
  3. package/dist/{chunk-VXQEKJTW.js → chunk-2XVLQDNI.js} +114 -6
  4. package/dist/chunk-2XVLQDNI.js.map +1 -0
  5. package/dist/{chunk-RQYGAYPW.js → chunk-6VGBO6SZ.js} +3 -3
  6. package/dist/chunk-6XWHJHNZ.js +400 -0
  7. package/dist/{chunk-WYHFSJ7O.js.map → chunk-6XWHJHNZ.js.map} +1 -1
  8. package/dist/{chunk-7KYSCSYI.js → chunk-7UZUDHP7.js} +2 -2
  9. package/dist/{chunk-SW4LP3LX.js → chunk-AABH2HSE.js} +4 -4
  10. package/dist/{chunk-3MXMYHO3.js → chunk-ANXHMG32.js} +21 -23
  11. package/dist/{chunk-3MXMYHO3.js.map → chunk-ANXHMG32.js.map} +1 -1
  12. package/dist/{chunk-C4I4Q33M.js → chunk-ANZV33N5.js} +2 -2
  13. package/dist/{chunk-AD2UT2TN.js → chunk-BEFYAFGV.js} +2 -2
  14. package/dist/{chunk-GEU62YD2.js → chunk-BEZ6ZPDS.js} +2 -2
  15. package/dist/{chunk-5BRHJD7Q.js → chunk-CKZ65VFJ.js} +2 -2
  16. package/dist/{chunk-TYOHFFYJ.js → chunk-CYPCJ536.js} +5 -5
  17. package/dist/{chunk-C2KXQHOI.js → chunk-FKXD3EXJ.js} +17 -23
  18. package/dist/chunk-FKXD3EXJ.js.map +1 -0
  19. package/dist/{chunk-WWUSBGQE.js → chunk-G2MINRWX.js} +4 -4
  20. package/dist/{chunk-IMO6EQKT.js → chunk-HU6XQVZL.js} +2 -2
  21. package/dist/{chunk-4BVJJSKM.js → chunk-L7COG2EX.js} +5 -5
  22. package/dist/chunk-L7COG2EX.js.map +1 -0
  23. package/dist/{chunk-X2HE3W74.js → chunk-LMR7VAP3.js} +2 -2
  24. package/dist/{chunk-253BRVMB.js → chunk-LN76TJJP.js} +13 -13
  25. package/dist/{chunk-262MXFGL.js → chunk-LTFGEVTM.js} +4 -4
  26. package/dist/{chunk-FS4YWW36.js → chunk-NL5EB57E.js} +3 -3
  27. package/dist/{chunk-IMP35ETG.js → chunk-NPMMU4GY.js} +17 -17
  28. package/dist/chunk-NPMMU4GY.js.map +1 -0
  29. package/dist/{chunk-OMTMSYUS.js → chunk-O27WJ5KS.js} +192 -3
  30. package/dist/chunk-O27WJ5KS.js.map +1 -0
  31. package/dist/{chunk-7Q3PDSOE.js → chunk-TAQGYJIS.js} +3 -3
  32. package/dist/{chunk-TYFBHM5E.js → chunk-TXW257CU.js} +6 -6
  33. package/dist/{chunk-SOEIE4VA.js → chunk-W7LHI54P.js} +9 -17
  34. package/dist/chunk-W7LHI54P.js.map +1 -0
  35. package/dist/{chunk-4Z5FJQEP.js → chunk-WCCWQ56J.js} +4 -4
  36. package/dist/{chunk-32HQMUEJ.js → chunk-WJKD6EGK.js} +9 -11
  37. package/dist/chunk-WJKD6EGK.js.map +1 -0
  38. package/dist/{chunk-XTVWVOLD.js → chunk-YJ2URWF7.js} +2 -2
  39. package/dist/{chunk-DUKSSZ6M.js → chunk-YSLDMYWP.js} +4 -81
  40. package/dist/chunk-YSLDMYWP.js.map +1 -0
  41. package/dist/{chunk-WVVJD4K2.js → chunk-YYIWB42G.js} +2 -2
  42. package/dist/{chunk-MHA6MWFP.js → chunk-ZGD7PLLC.js} +3 -3
  43. package/dist/commands/build/marketplace.js +4 -4
  44. package/dist/commands/build/plugins.js +8 -8
  45. package/dist/commands/build/stack.js +8 -8
  46. package/dist/commands/compile.js +8 -8
  47. package/dist/commands/config/index.js +8 -8
  48. package/dist/commands/config/path.js +7 -7
  49. package/dist/commands/config/show.js +8 -8
  50. package/dist/commands/diff.js +7 -7
  51. package/dist/commands/doctor.js +7 -7
  52. package/dist/commands/edit.js +23 -23
  53. package/dist/commands/eject.js +7 -7
  54. package/dist/commands/import/skill.js +7 -7
  55. package/dist/commands/info.js +7 -7
  56. package/dist/commands/init.js +23 -23
  57. package/dist/commands/list.js +7 -7
  58. package/dist/commands/new/agent.js +8 -8
  59. package/dist/commands/new/marketplace.js +9 -9
  60. package/dist/commands/new/skill.js +8 -8
  61. package/dist/commands/outdated.js +7 -7
  62. package/dist/commands/search.js +7 -7
  63. package/dist/commands/uninstall.js +7 -7
  64. package/dist/commands/update.js +8 -8
  65. package/dist/commands/validate.js +7 -28
  66. package/dist/commands/validate.js.map +1 -1
  67. package/dist/components/wizard/category-grid.js +2 -2
  68. package/dist/components/wizard/category-grid.test.js +11 -11
  69. package/dist/components/wizard/domain-selection.js +9 -9
  70. package/dist/components/wizard/help-modal.js +8 -8
  71. package/dist/components/wizard/source-grid.js +2 -2
  72. package/dist/components/wizard/source-grid.test.js +11 -11
  73. package/dist/components/wizard/stack-selection.js +8 -8
  74. package/dist/components/wizard/step-agents.js +9 -9
  75. package/dist/components/wizard/step-agents.test.js +13 -13
  76. package/dist/components/wizard/step-agents.test.js.map +1 -1
  77. package/dist/components/wizard/step-build.js +9 -9
  78. package/dist/components/wizard/step-build.test.js +15 -14
  79. package/dist/components/wizard/step-build.test.js.map +1 -1
  80. package/dist/components/wizard/step-confirm.js +4 -4
  81. package/dist/components/wizard/step-confirm.test.js +10 -10
  82. package/dist/components/wizard/step-settings.js +7 -7
  83. package/dist/components/wizard/step-settings.test.js +10 -10
  84. package/dist/components/wizard/step-sources.js +9 -9
  85. package/dist/components/wizard/step-sources.test.js +12 -12
  86. package/dist/components/wizard/step-stack.js +9 -9
  87. package/dist/components/wizard/step-stack.test.js +10 -10
  88. package/dist/components/wizard/wizard-layout.js +10 -10
  89. package/dist/components/wizard/wizard.js +21 -21
  90. package/dist/config-exports.js +1 -1
  91. package/dist/hooks/init.js +23 -23
  92. package/dist/{loader-4XPDVCZK.js → loader-GT2A7R7U.js} +4 -4
  93. package/dist/{source-loader-TV2TFYGI.js → source-loader-TNQW4P47.js} +7 -7
  94. package/dist/source-manager-INRXRFJE.js +19 -0
  95. package/dist/src/agents/meta/agent-summoner/workflow.md +10 -10
  96. package/{src/agents/meta/scribe → dist/src/agents/meta/codex-keeper}/intro.md +2 -0
  97. package/dist/src/agents/meta/codex-keeper/metadata.yaml +12 -0
  98. package/{src/agents/meta/scribe → dist/src/agents/meta/codex-keeper}/output-format.md +2 -2
  99. package/dist/src/agents/meta/{scribe → codex-keeper}/workflow.md +54 -29
  100. package/dist/src/agents/meta/convention-keeper/critical-reminders.md +3 -3
  101. package/dist/src/agents/meta/convention-keeper/critical-requirements.md +3 -3
  102. package/dist/src/agents/meta/convention-keeper/examples.md +3 -3
  103. package/dist/src/agents/meta/convention-keeper/intro.md +3 -3
  104. package/dist/src/agents/meta/convention-keeper/output-format.md +9 -9
  105. package/dist/src/agents/meta/convention-keeper/workflow.md +15 -15
  106. package/dist/src/agents/planning/web-pm/workflow.md +1 -1
  107. package/dist/stores/wizard-store.js +7 -7
  108. package/dist/stores/wizard-store.test.js +114 -13
  109. package/dist/stores/wizard-store.test.js.map +1 -1
  110. package/package.json +1 -1
  111. package/src/agents/meta/agent-summoner/workflow.md +10 -10
  112. package/{dist/src/agents/meta/scribe → src/agents/meta/codex-keeper}/intro.md +2 -0
  113. package/src/agents/meta/codex-keeper/metadata.yaml +12 -0
  114. package/{dist/src/agents/meta/scribe → src/agents/meta/codex-keeper}/output-format.md +2 -2
  115. package/src/agents/meta/{scribe → codex-keeper}/workflow.md +54 -29
  116. package/src/agents/meta/convention-keeper/critical-reminders.md +3 -3
  117. package/src/agents/meta/convention-keeper/critical-requirements.md +3 -3
  118. package/src/agents/meta/convention-keeper/examples.md +3 -3
  119. package/src/agents/meta/convention-keeper/intro.md +3 -3
  120. package/src/agents/meta/convention-keeper/output-format.md +9 -9
  121. package/src/agents/meta/convention-keeper/workflow.md +15 -15
  122. package/src/agents/planning/web-pm/workflow.md +1 -1
  123. package/dist/chunk-32HQMUEJ.js.map +0 -1
  124. package/dist/chunk-4BVJJSKM.js.map +0 -1
  125. package/dist/chunk-C2KXQHOI.js.map +0 -1
  126. package/dist/chunk-DUKSSZ6M.js.map +0 -1
  127. package/dist/chunk-IMP35ETG.js.map +0 -1
  128. package/dist/chunk-OMTMSYUS.js.map +0 -1
  129. package/dist/chunk-SOEIE4VA.js.map +0 -1
  130. package/dist/chunk-VXQEKJTW.js.map +0 -1
  131. package/dist/chunk-WYHFSJ7O.js +0 -243
  132. package/dist/source-manager-3223PJVQ.js +0 -19
  133. package/dist/src/agents/meta/scribe/metadata.yaml +0 -12
  134. package/src/agents/meta/scribe/metadata.yaml +0 -12
  135. /package/dist/{chunk-RQYGAYPW.js.map → chunk-6VGBO6SZ.js.map} +0 -0
  136. /package/dist/{chunk-7KYSCSYI.js.map → chunk-7UZUDHP7.js.map} +0 -0
  137. /package/dist/{chunk-SW4LP3LX.js.map → chunk-AABH2HSE.js.map} +0 -0
  138. /package/dist/{chunk-C4I4Q33M.js.map → chunk-ANZV33N5.js.map} +0 -0
  139. /package/dist/{chunk-AD2UT2TN.js.map → chunk-BEFYAFGV.js.map} +0 -0
  140. /package/dist/{chunk-GEU62YD2.js.map → chunk-BEZ6ZPDS.js.map} +0 -0
  141. /package/dist/{chunk-5BRHJD7Q.js.map → chunk-CKZ65VFJ.js.map} +0 -0
  142. /package/dist/{chunk-TYOHFFYJ.js.map → chunk-CYPCJ536.js.map} +0 -0
  143. /package/dist/{chunk-WWUSBGQE.js.map → chunk-G2MINRWX.js.map} +0 -0
  144. /package/dist/{chunk-IMO6EQKT.js.map → chunk-HU6XQVZL.js.map} +0 -0
  145. /package/dist/{chunk-X2HE3W74.js.map → chunk-LMR7VAP3.js.map} +0 -0
  146. /package/dist/{chunk-253BRVMB.js.map → chunk-LN76TJJP.js.map} +0 -0
  147. /package/dist/{chunk-262MXFGL.js.map → chunk-LTFGEVTM.js.map} +0 -0
  148. /package/dist/{chunk-FS4YWW36.js.map → chunk-NL5EB57E.js.map} +0 -0
  149. /package/dist/{chunk-7Q3PDSOE.js.map → chunk-TAQGYJIS.js.map} +0 -0
  150. /package/dist/{chunk-TYFBHM5E.js.map → chunk-TXW257CU.js.map} +0 -0
  151. /package/dist/{chunk-4Z5FJQEP.js.map → chunk-WCCWQ56J.js.map} +0 -0
  152. /package/dist/{chunk-XTVWVOLD.js.map → chunk-YJ2URWF7.js.map} +0 -0
  153. /package/dist/{chunk-WVVJD4K2.js.map → chunk-YYIWB42G.js.map} +0 -0
  154. /package/dist/{chunk-MHA6MWFP.js.map → chunk-ZGD7PLLC.js.map} +0 -0
  155. /package/dist/{loader-4XPDVCZK.js.map → loader-GT2A7R7U.js.map} +0 -0
  156. /package/dist/{source-loader-TV2TFYGI.js.map → source-loader-TNQW4P47.js.map} +0 -0
  157. /package/dist/{source-manager-3223PJVQ.js.map → source-manager-INRXRFJE.js.map} +0 -0
  158. /package/dist/src/agents/meta/{scribe → codex-keeper}/critical-reminders.md +0 -0
  159. /package/dist/src/agents/meta/{scribe → codex-keeper}/critical-requirements.md +0 -0
  160. /package/dist/src/agents/meta/{scribe → codex-keeper}/examples.md +0 -0
  161. /package/src/agents/meta/{scribe → codex-keeper}/critical-reminders.md +0 -0
  162. /package/src/agents/meta/{scribe → codex-keeper}/critical-requirements.md +0 -0
  163. /package/src/agents/meta/{scribe → codex-keeper}/examples.md +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/components/wizard/step-build.tsx","../src/cli/components/hooks/use-framework-filtering.ts","../src/cli/lib/wizard/index.ts","../src/cli/lib/wizard/build-step-logic.ts"],"sourcesContent":["import { Box, Text, useInput } from \"ink\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { CLI_COLORS } from \"../../consts.js\";\nimport type { AgentScopeConfig, SkillConfig } from \"../../types/config.js\";\nimport type { Domain, SkillId, Category, CategorySelections } from \"../../types/index.js\";\nimport { useFrameworkFiltering } from \"../hooks/use-framework-filtering.js\";\nimport { useMeasuredHeight } from \"../hooks/use-measured-height.js\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { CategoryGrid } from \"./category-grid.js\";\nimport { getDomainDisplayName } from \"./utils.js\";\nimport { ViewTitle } from \"./view-title.js\";\nimport { StatsPanel } from \"./stats-panel.js\";\n\nconst SCOPE_COLOR_PROJECT = \"#eee\";\n\ntype StatsData = {\n skillsTotal: number;\n globalPlugin: number;\n globalLocal: number;\n projectPlugin: number;\n projectLocal: number;\n agentsTotal: number;\n agentsGlobal: number;\n agentsProject: number;\n};\n\nfunction computeStats(skillConfigs: SkillConfig[], agentConfigs: AgentScopeConfig[]): StatsData {\n let globalPlugin = 0;\n let globalLocal = 0;\n let projectPlugin = 0;\n let projectLocal = 0;\n\n for (const sc of skillConfigs) {\n const isLocal = sc.source === \"local\";\n if (sc.scope === \"global\") {\n if (isLocal) globalLocal++;\n else globalPlugin++;\n } else {\n if (isLocal) projectLocal++;\n else projectPlugin++;\n }\n }\n\n let agentsGlobal = 0;\n let agentsProject = 0;\n for (const ac of agentConfigs) {\n if (ac.scope === \"global\") agentsGlobal++;\n else agentsProject++;\n }\n\n return {\n skillsTotal: skillConfigs.length,\n globalPlugin,\n globalLocal,\n projectPlugin,\n projectLocal,\n agentsTotal: agentConfigs.length,\n agentsGlobal,\n agentsProject,\n };\n}\n\nexport type StepBuildProps = {\n domain: Domain;\n selectedDomains: Domain[];\n selections: CategorySelections;\n allSelections: SkillId[];\n showLabels: boolean;\n filterIncompatible: boolean;\n /** Skill IDs already installed on disk, shown with a dimmed checkmark */\n installedSkillIds?: SkillId[];\n onToggle: (categoryId: Category, technologyId: SkillId) => void;\n onToggleLabels: () => void;\n onToggleFilterIncompatible: () => void;\n onContinue: () => void;\n onBack: () => void;\n};\n\nexport const StepBuild: React.FC<StepBuildProps> = ({\n domain: activeDomain,\n selectedDomains,\n selections,\n allSelections,\n showLabels,\n filterIncompatible,\n installedSkillIds,\n onToggle,\n onToggleLabels,\n onToggleFilterIncompatible,\n onContinue,\n onBack,\n}) => {\n const { ref: gridRef, measuredHeight: gridHeight } = useMeasuredHeight();\n const skillConfigs = useWizardStore((s) => s.skillConfigs);\n const agentConfigs = useWizardStore((s) => s.agentConfigs);\n\n const stats = useMemo(\n () => computeStats(skillConfigs, agentConfigs),\n [skillConfigs, agentConfigs],\n );\n\n const handleFocusedSkillChange = useCallback(\n (id: SkillId | null) => useWizardStore.getState().setFocusedSkillId(id),\n [],\n );\n\n const categories = useFrameworkFiltering({\n domain: activeDomain,\n allSelections,\n selections,\n installedSkillIds,\n skillConfigs,\n filterIncompatible,\n });\n\n useInput((_input, key) => {\n if (key.return) {\n onContinue();\n } else if (key.escape) {\n onBack();\n }\n });\n\n return (\n <Box flexDirection=\"column\" width=\"100%\" flexGrow={1} flexBasis={0}>\n <Box flexDirection=\"row\" columnGap={2} justifyContent=\"flex-end\">\n {/* <ViewTitle>{`Customize your ${getDomainDisplayName(activeDomain)} stack`}</ViewTitle> */}\n <StatsPanel stats={stats} />\n </Box>\n\n <Box ref={gridRef} flexGrow={1} flexBasis={0}>\n <CategoryGrid\n key={activeDomain}\n categories={categories}\n availableHeight={gridHeight}\n showLabels={showLabels}\n onToggle={onToggle}\n onToggleLabels={onToggleLabels}\n onToggleFilterIncompatible={onToggleFilterIncompatible}\n onFocusedSkillChange={handleFocusedSkillChange}\n />\n </Box>\n </Box>\n );\n};\n","import { useMemo } from \"react\";\nimport type { Domain, SkillId, CategorySelections } from \"../../types/index.js\";\nimport type { SkillConfig } from \"../../types/config.js\";\nimport { buildCategoriesForDomain } from \"../../lib/wizard/index.js\";\nimport type { CategoryRow } from \"../wizard/category-grid.js\";\n\ntype UseFrameworkFilteringOptions = {\n domain: Domain;\n allSelections: SkillId[];\n selections: CategorySelections;\n installedSkillIds?: SkillId[];\n skillConfigs?: SkillConfig[];\n filterIncompatible?: boolean;\n};\n\nexport function useFrameworkFiltering({\n domain,\n allSelections,\n selections,\n installedSkillIds,\n skillConfigs,\n filterIncompatible,\n}: UseFrameworkFilteringOptions): CategoryRow[] {\n return useMemo(\n () =>\n buildCategoriesForDomain(\n domain,\n allSelections,\n selections,\n installedSkillIds,\n skillConfigs,\n filterIncompatible,\n ),\n [domain, allSelections, selections, installedSkillIds, skillConfigs, filterIncompatible],\n );\n}\n","export {\n type BuildStepValidation,\n validateBuildStep,\n buildCategoriesForDomain,\n} from \"./build-step-logic\";\n","import { sortBy } from \"remeda\";\nimport type { CategoryDefinition, Domain, SkillId, CategorySelections } from \"../../types/index.js\";\nimport type { SkillConfig } from \"../../types/config.js\";\nimport { getAvailableSkills, getUnmetRequiredBy, resolveAlias } from \"../matrix/index.js\";\nimport { matrix, getSkillById } from \"../matrix/matrix-provider.js\";\nimport type { CategoryRow, CategoryOption } from \"../../components/wizard/category-grid.js\";\n\nconst FRAMEWORK_CATEGORY_ID = \"web-framework\";\nconst WEB_DOMAIN_ID = \"web\";\n\nexport type BuildStepValidation = {\n valid: boolean;\n message?: string;\n};\n\nexport function validateBuildStep(\n categories: CategoryRow[],\n selections: CategorySelections,\n): BuildStepValidation {\n for (const category of categories) {\n if (category.required) {\n const categorySelections = selections[category.id] || [];\n if (categorySelections.length === 0) {\n return {\n valid: true,\n message: `No skills selected in ${category.displayName} (required category)`,\n };\n }\n }\n }\n return { valid: true };\n}\n\nfunction getSelectedFrameworks(selections: CategorySelections): SkillId[] {\n return (selections[FRAMEWORK_CATEGORY_ID] ?? []).map((alias) => resolveAlias(alias));\n}\n\nfunction isCompatibleWithSelectedFrameworks(\n skillId: SkillId,\n selectedFrameworkIds: SkillId[],\n): boolean {\n const skill = getSkillById(skillId);\n if (skill.compatibleWith.length === 0) return true;\n return selectedFrameworkIds.some((frameworkId) => skill.compatibleWith.includes(frameworkId));\n}\n\n// Build CategoryRow[] from matrix for a domain\nexport function buildCategoriesForDomain(\n domain: Domain,\n allSelections: SkillId[],\n selections: CategorySelections,\n installedSkillIds?: SkillId[],\n skillConfigs?: SkillConfig[],\n filterIncompatible?: boolean,\n): CategoryRow[] {\n const selectedFrameworkIds = getSelectedFrameworks(selections);\n const shouldFilter =\n filterIncompatible && domain === WEB_DOMAIN_ID && selectedFrameworkIds.length > 0;\n\n // Object.values() on a Partial record only yields values that exist — all are CategoryDefinition\n const categories = sortBy(\n (Object.values(matrix.categories) as CategoryDefinition[]).filter(\n (cat) => cat.domain === domain,\n ),\n (cat) => cat.order ?? 0,\n );\n\n const categoryRows: CategoryRow[] = categories.map((cat) => {\n const skillOptions = getAvailableSkills(cat.id, allSelections);\n\n const filteredOptions =\n shouldFilter && cat.id !== FRAMEWORK_CATEGORY_ID\n ? skillOptions.filter((skill) =>\n isCompatibleWithSelectedFrameworks(skill.id, selectedFrameworkIds),\n )\n : skillOptions;\n\n const options: CategoryOption[] = filteredOptions.map((skill) => ({\n id: skill.id,\n state: skill.advisoryState,\n selected: skill.selected,\n local: getSkillById(skill.id).local,\n installed: installedSkillIds?.includes(skill.id) || false,\n scope: skillConfigs?.find((sc) => sc.id === skill.id)?.scope,\n hasUnmetRequirements: skill.hasUnmetRequirements,\n unmetRequirementsReason: skill.unmetRequirementsReason,\n requiredBy: skill.selected ? undefined : getUnmetRequiredBy(skill.id, allSelections),\n }));\n\n return {\n id: cat.id,\n displayName: cat.displayName,\n required: cat.required ?? false,\n exclusive: cat.exclusive ?? true,\n options,\n };\n });\n\n return categoryRows.filter((row) => row.options.length > 0);\n}\n"],"mappings":"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","names":["useMemo","useMemo"]}