@agents-inc/cli 0.64.0 → 0.68.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 (115) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/{chunk-J4POGAJF.js → chunk-2JJUPWE5.js} +2 -2
  3. package/dist/{chunk-53URJ5XK.js → chunk-45R64U2S.js} +21 -21
  4. package/dist/chunk-45R64U2S.js.map +1 -0
  5. package/dist/{chunk-FGLUQSVU.js → chunk-6BXKF5GP.js} +2 -2
  6. package/dist/{chunk-EZ35IPXZ.js → chunk-7LCI5PSJ.js} +2 -2
  7. package/dist/{chunk-4C7CSZC5.js → chunk-EULHBV5V.js} +3 -3
  8. package/dist/{chunk-ZFY5EMDV.js → chunk-F6KEZ4Y5.js} +4 -4
  9. package/dist/{chunk-EE5EPS32.js → chunk-FCF4WQEI.js} +2 -2
  10. package/dist/{chunk-R46CB36B.js → chunk-GK5CAS3A.js} +4 -4
  11. package/dist/{chunk-WSMQ5GAP.js → chunk-HADHP7XF.js} +3 -3
  12. package/dist/{chunk-OORWBS6F.js → chunk-JAWXWNIX.js} +16 -10
  13. package/dist/chunk-JAWXWNIX.js.map +1 -0
  14. package/dist/{chunk-3YNT3NX3.js → chunk-KBG7GYPL.js} +5 -5
  15. package/dist/{chunk-O2HK3NTG.js → chunk-KMDBOO3E.js} +2 -2
  16. package/dist/{chunk-EC3UJRKZ.js → chunk-KWB3B2HS.js} +92 -163
  17. package/dist/chunk-KWB3B2HS.js.map +1 -0
  18. package/dist/{chunk-7DI3HGKL.js → chunk-KYULKBFC.js} +2 -2
  19. package/dist/chunk-KYULKBFC.js.map +1 -0
  20. package/dist/{chunk-6DEK3TDF.js → chunk-L5LD3ZSR.js} +4 -4
  21. package/dist/{chunk-F3REOP7N.js → chunk-L6MTIQ2U.js} +2 -2
  22. package/dist/{chunk-MOMI77PL.js → chunk-N4D43IOO.js} +57 -137
  23. package/dist/chunk-N4D43IOO.js.map +1 -0
  24. package/dist/{chunk-RG3KDXMR.js → chunk-QUEO6QEL.js} +3 -3
  25. package/dist/{chunk-LMZXL5RQ.js → chunk-R3AR4VLZ.js} +11 -11
  26. package/dist/chunk-R3AR4VLZ.js.map +1 -0
  27. package/dist/{chunk-4KVBH2X4.js → chunk-RMMHVE2R.js} +3 -3
  28. package/dist/{chunk-YEGPTBX5.js → chunk-SSGPFKS4.js} +3 -3
  29. package/dist/{chunk-BGPGQF35.js → chunk-VTRVAXUM.js} +3 -3
  30. package/dist/commands/build/marketplace.js +3 -3
  31. package/dist/commands/build/plugins.js +6 -6
  32. package/dist/commands/build/stack.js +6 -6
  33. package/dist/commands/compile.js +6 -6
  34. package/dist/commands/config/index.js +6 -6
  35. package/dist/commands/config/path.js +5 -5
  36. package/dist/commands/config/show.js +6 -6
  37. package/dist/commands/diff.js +5 -5
  38. package/dist/commands/doctor.js +5 -5
  39. package/dist/commands/edit.js +40 -20
  40. package/dist/commands/edit.js.map +1 -1
  41. package/dist/commands/eject.js +5 -5
  42. package/dist/commands/import/skill.js +5 -5
  43. package/dist/commands/info.js +5 -5
  44. package/dist/commands/init.js +17 -17
  45. package/dist/commands/list.js +5 -5
  46. package/dist/commands/new/agent.js +6 -6
  47. package/dist/commands/new/marketplace.js +7 -7
  48. package/dist/commands/new/skill.js +6 -6
  49. package/dist/commands/outdated.js +5 -5
  50. package/dist/commands/search.js +5 -5
  51. package/dist/commands/uninstall.js +5 -5
  52. package/dist/commands/update.js +6 -6
  53. package/dist/commands/validate.js +5 -5
  54. package/dist/components/wizard/category-grid.test.js +11 -11
  55. package/dist/components/wizard/category-grid.test.js.map +1 -1
  56. package/dist/components/wizard/domain-selection.js +6 -6
  57. package/dist/components/wizard/help-modal.js +1 -1
  58. package/dist/components/wizard/search-modal.test.js.map +1 -1
  59. package/dist/components/wizard/source-grid.test.js +8 -13
  60. package/dist/components/wizard/source-grid.test.js.map +1 -1
  61. package/dist/components/wizard/stack-selection.js +6 -6
  62. package/dist/components/wizard/step-agents.js +6 -6
  63. package/dist/components/wizard/step-agents.test.js +8 -8
  64. package/dist/components/wizard/step-agents.test.js.map +1 -1
  65. package/dist/components/wizard/step-build.js +6 -6
  66. package/dist/components/wizard/step-build.test.js +62 -76
  67. package/dist/components/wizard/step-build.test.js.map +1 -1
  68. package/dist/components/wizard/step-confirm.test.js +6 -6
  69. package/dist/components/wizard/step-settings.js +5 -5
  70. package/dist/components/wizard/step-settings.test.js +8 -8
  71. package/dist/components/wizard/step-sources.js +6 -6
  72. package/dist/components/wizard/step-sources.test.js +10 -9
  73. package/dist/components/wizard/step-sources.test.js.map +1 -1
  74. package/dist/components/wizard/step-stack.js +8 -8
  75. package/dist/components/wizard/step-stack.test.js +20 -30
  76. package/dist/components/wizard/step-stack.test.js.map +1 -1
  77. package/dist/components/wizard/wizard-layout.js +7 -7
  78. package/dist/components/wizard/wizard.js +15 -15
  79. package/dist/config-exports.js +1 -1
  80. package/dist/hooks/init.js +17 -17
  81. package/dist/{loader-4YOZCFIP.js → loader-CMSC3RAO.js} +3 -3
  82. package/dist/{source-loader-O5RMYUBW.js → source-loader-YMWWZFVD.js} +5 -5
  83. package/dist/{source-manager-NKLL6HCL.js → source-manager-6G3EVTU2.js} +5 -5
  84. package/dist/stores/matrix-store.test.js +23 -46
  85. package/dist/stores/matrix-store.test.js.map +1 -1
  86. package/dist/stores/wizard-store.js +5 -5
  87. package/dist/stores/wizard-store.test.js +39 -54
  88. package/dist/stores/wizard-store.test.js.map +1 -1
  89. package/package.json +1 -1
  90. package/src/schemas/metadata.schema.json +1 -1
  91. package/dist/chunk-53URJ5XK.js.map +0 -1
  92. package/dist/chunk-7DI3HGKL.js.map +0 -1
  93. package/dist/chunk-EC3UJRKZ.js.map +0 -1
  94. package/dist/chunk-LMZXL5RQ.js.map +0 -1
  95. package/dist/chunk-MOMI77PL.js.map +0 -1
  96. package/dist/chunk-OORWBS6F.js.map +0 -1
  97. /package/dist/{chunk-J4POGAJF.js.map → chunk-2JJUPWE5.js.map} +0 -0
  98. /package/dist/{chunk-FGLUQSVU.js.map → chunk-6BXKF5GP.js.map} +0 -0
  99. /package/dist/{chunk-EZ35IPXZ.js.map → chunk-7LCI5PSJ.js.map} +0 -0
  100. /package/dist/{chunk-4C7CSZC5.js.map → chunk-EULHBV5V.js.map} +0 -0
  101. /package/dist/{chunk-ZFY5EMDV.js.map → chunk-F6KEZ4Y5.js.map} +0 -0
  102. /package/dist/{chunk-EE5EPS32.js.map → chunk-FCF4WQEI.js.map} +0 -0
  103. /package/dist/{chunk-R46CB36B.js.map → chunk-GK5CAS3A.js.map} +0 -0
  104. /package/dist/{chunk-WSMQ5GAP.js.map → chunk-HADHP7XF.js.map} +0 -0
  105. /package/dist/{chunk-3YNT3NX3.js.map → chunk-KBG7GYPL.js.map} +0 -0
  106. /package/dist/{chunk-O2HK3NTG.js.map → chunk-KMDBOO3E.js.map} +0 -0
  107. /package/dist/{chunk-6DEK3TDF.js.map → chunk-L5LD3ZSR.js.map} +0 -0
  108. /package/dist/{chunk-F3REOP7N.js.map → chunk-L6MTIQ2U.js.map} +0 -0
  109. /package/dist/{chunk-RG3KDXMR.js.map → chunk-QUEO6QEL.js.map} +0 -0
  110. /package/dist/{chunk-4KVBH2X4.js.map → chunk-RMMHVE2R.js.map} +0 -0
  111. /package/dist/{chunk-YEGPTBX5.js.map → chunk-SSGPFKS4.js.map} +0 -0
  112. /package/dist/{chunk-BGPGQF35.js.map → chunk-VTRVAXUM.js.map} +0 -0
  113. /package/dist/{loader-4YOZCFIP.js.map → loader-CMSC3RAO.js.map} +0 -0
  114. /package/dist/{source-loader-O5RMYUBW.js.map → source-loader-YMWWZFVD.js.map} +0 -0
  115. /package/dist/{source-manager-NKLL6HCL.js.map → source-manager-6G3EVTU2.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,52 @@ Each release has detailed notes in its own file under [`changelogs/`](./changelo
7
7
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
8
8
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
+ ## [0.68.0] - 2026-03-11
11
+
12
+ **Per-agent scope in edit mode (D-74)**
13
+
14
+ - Edit command detects and displays agent scope changes (project/global)
15
+ - Agent scope configs restored when entering edit mode
16
+ - Help modal shows `S` key for agent scope toggle
17
+
18
+ See [changelogs/0.68.0.md](./changelogs/0.68.0.md) for full details.
19
+
20
+ ---
21
+
22
+ ## [0.67.0] - 2026-03-11
23
+
24
+ **Split init-wizard E2E tests for parallel execution (D-73)**
25
+
26
+ - Monolithic `init-wizard.e2e.test.ts` (55 tests) split into 7 independent files
27
+ - ~3.8x speedup from parallel execution (~3.5min → ~55s)
28
+ - TODO tracker cleanup: 8 tasks marked complete
29
+
30
+ See [changelogs/0.67.0.md](./changelogs/0.67.0.md) for full details.
31
+
32
+ ---
33
+
34
+ ## [0.66.0] - 2026-03-11
35
+
36
+ **Slug-based relationship rules (R-04 Phase 2)**
37
+
38
+ - All relationship rule types now reference skills by slug (`"react"`) instead of canonical ID (`"web-framework-react"`)
39
+ - `slug` field now required in metadata.schema.json (Step 7 finalized)
40
+ - 9 new E2E tests for slug-based relationship validation
41
+
42
+ See [changelogs/0.66.0.md](./changelogs/0.66.0.md) for full details.
43
+
44
+ ---
45
+
46
+ ## [0.65.0] - 2026-03-11
47
+
48
+ **Narrowed config types, edit command refactor, test consolidation (R-09)**
49
+
50
+ - Generated config-types.ts unions now reflect only installed items, not the entire matrix
51
+ - Edit command uses shared `writeScopedConfigs` instead of duplicated inline logic
52
+ - ~90 test files migrated to canonical SKILLS registry and content generators (R-09)
53
+
54
+ See [changelogs/0.65.0.md](./changelogs/0.65.0.md) for full details.
55
+
10
56
  ---
11
57
 
12
58
  ## [0.64.0] - 2026-03-10
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-AQYAVLZK.js";
14
14
  import {
15
15
  useWizardStore
16
- } from "./chunk-4C7CSZC5.js";
16
+ } from "./chunk-EULHBV5V.js";
17
17
  import {
18
18
  typedKeys
19
19
  } from "./chunk-T4EXUIBY.js";
@@ -268,4 +268,4 @@ var StepAgents = () => {
268
268
  export {
269
269
  StepAgents
270
270
  };
271
- //# sourceMappingURL=chunk-J4POGAJF.js.map
271
+ //# sourceMappingURL=chunk-2JJUPWE5.js.map
@@ -4,7 +4,7 @@ import {
4
4
  loadPluginSkills,
5
5
  loadSkillsByIds,
6
6
  parseFrontmatter
7
- } from "./chunk-F3REOP7N.js";
7
+ } from "./chunk-L6MTIQ2U.js";
8
8
  import {
9
9
  typedEntries,
10
10
  typedKeys
@@ -58,7 +58,7 @@ import {
58
58
  warn,
59
59
  warnUnknownFields,
60
60
  writeFile
61
- } from "./chunk-LMZXL5RQ.js";
61
+ } from "./chunk-R3AR4VLZ.js";
62
62
  import {
63
63
  CACHE_DIR,
64
64
  CACHE_HASH_LENGTH,
@@ -99,7 +99,7 @@ import {
99
99
  defaultCategories,
100
100
  defaultRules,
101
101
  defaultStacks
102
- } from "./chunk-EC3UJRKZ.js";
102
+ } from "./chunk-KWB3B2HS.js";
103
103
  import {
104
104
  init_esm_shims
105
105
  } from "./chunk-DHET7RCE.js";
@@ -1263,18 +1263,18 @@ function buildDirectoryPathToIdMap(skills) {
1263
1263
  }
1264
1264
  return map;
1265
1265
  }
1266
- function resolveToCanonicalId(nameOrId, slugToId, directoryPathToId = {}, context) {
1267
- const slugResult = slugToId[nameOrId];
1266
+ function resolveToCanonicalId(slug, slugToId, directoryPathToId = {}, context) {
1267
+ const slugResult = slugToId[slug];
1268
1268
  if (slugResult) {
1269
1269
  return slugResult;
1270
1270
  }
1271
- if (directoryPathToId[nameOrId]) {
1272
- return directoryPathToId[nameOrId];
1271
+ if (directoryPathToId[slug]) {
1272
+ return directoryPathToId[slug];
1273
1273
  }
1274
1274
  if (context) {
1275
- verbose(`Unresolved ID '${nameOrId}' in ${context} \u2014 passing through as-is`);
1275
+ verbose(`Unresolved slug '${slug}' in ${context} \u2014 passing through as-is`);
1276
1276
  }
1277
- return nameOrId;
1277
+ return slug;
1278
1278
  }
1279
1279
  async function mergeMatrixWithSkills(categories, relationships, skills) {
1280
1280
  const slugMap = buildSlugMap(skills);
@@ -1313,7 +1313,7 @@ async function mergeMatrixWithSkills(categories, relationships, skills) {
1313
1313
  function resolveConflicts(skillId, conflictRules, resolve) {
1314
1314
  const conflicts = [];
1315
1315
  for (const rule of conflictRules) {
1316
- const resolved = rule.skills.map((id) => resolve(id, "conflicts"));
1316
+ const resolved = rule.skills.map((slug) => resolve(slug, "conflicts"));
1317
1317
  if (!resolved.includes(skillId)) continue;
1318
1318
  for (const other of resolved) {
1319
1319
  if (other !== skillId && !conflicts.some((c) => c.skillId === other)) {
@@ -1326,7 +1326,7 @@ function resolveConflicts(skillId, conflictRules, resolve) {
1326
1326
  function resolveCompatibilityGroups(skillId, compatibilityGroups, resolve) {
1327
1327
  const compatible = /* @__PURE__ */ new Set();
1328
1328
  for (const group of compatibilityGroups) {
1329
- const resolved = group.skills.map((id) => resolve(id, "compatibleWith"));
1329
+ const resolved = group.skills.map((slug) => resolve(slug, "compatibleWith"));
1330
1330
  if (!resolved.includes(skillId)) continue;
1331
1331
  for (const other of resolved) {
1332
1332
  if (other !== skillId) {
@@ -1341,7 +1341,7 @@ function resolveSetupPairs(skillId, setupPairs, resolve) {
1341
1341
  const providesSetupFor = /* @__PURE__ */ new Set();
1342
1342
  for (const pair of setupPairs) {
1343
1343
  const setupId = resolve(pair.setup, "setupPairs.setup");
1344
- const configuresIds = pair.configures.map((id) => resolve(id, "setupPairs.configures"));
1344
+ const configuresIds = pair.configures.map((slug) => resolve(slug, "setupPairs.configures"));
1345
1345
  if (setupId === skillId) {
1346
1346
  for (const configuredId of configuresIds) {
1347
1347
  providesSetupFor.add(configuredId);
@@ -1361,7 +1361,7 @@ function resolveRequirements(skillId, requireRules, resolve) {
1361
1361
  for (const rule of requireRules) {
1362
1362
  if (resolve(rule.skill, "requires.skill") !== skillId) continue;
1363
1363
  requires.push({
1364
- skillIds: rule.needs.map((id) => resolve(id, "requires.needs")),
1364
+ skillIds: rule.needs.map((slug) => resolve(slug, "requires.needs")),
1365
1365
  needsAny: rule.needsAny ?? false,
1366
1366
  reason: rule.reason
1367
1367
  });
@@ -1371,7 +1371,7 @@ function resolveRequirements(skillId, requireRules, resolve) {
1371
1371
  function resolveAlternatives(skillId, alternativeGroups, resolve) {
1372
1372
  const alternatives = [];
1373
1373
  for (const group of alternativeGroups) {
1374
- const resolved = group.skills.map((id) => resolve(id, "alternatives"));
1374
+ const resolved = group.skills.map((slug) => resolve(slug, "alternatives"));
1375
1375
  if (!resolved.includes(skillId)) continue;
1376
1376
  for (const alt of resolved) {
1377
1377
  if (alt !== skillId) {
@@ -1385,7 +1385,7 @@ function resolveDiscourages(skillId, discourageRules, resolve) {
1385
1385
  if (!discourageRules) return [];
1386
1386
  const discourages = [];
1387
1387
  for (const rule of discourageRules) {
1388
- const resolved = rule.skills.map((id) => resolve(id, "discourages"));
1388
+ const resolved = rule.skills.map((slug) => resolve(slug, "discourages"));
1389
1389
  if (!resolved.includes(skillId)) continue;
1390
1390
  for (const other of resolved) {
1391
1391
  if (other !== skillId && !discourages.some((d) => d.skillId === other)) {
@@ -1396,14 +1396,14 @@ function resolveDiscourages(skillId, discourageRules, resolve) {
1396
1396
  return discourages;
1397
1397
  }
1398
1398
  function buildResolvedSkill(skill, _categories, relationships, slugMap, directoryPathToId) {
1399
- const resolve = (id, context) => resolveToCanonicalId(
1400
- id,
1399
+ const resolve = (slug2, context) => resolveToCanonicalId(
1400
+ slug2,
1401
1401
  slugMap.slugToId,
1402
1402
  directoryPathToId,
1403
1403
  context ? `${skill.id} ${context}` : void 0
1404
1404
  );
1405
1405
  const slug = skill.slug;
1406
- const recommendation = relationships.recommends.find((r) => r.skill === skill.id);
1406
+ const recommendation = relationships.recommends.find((r) => r.skill === skill.slug);
1407
1407
  const { requiresSetup, providesSetupFor } = resolveSetupPairs(
1408
1408
  skill.id,
1409
1409
  relationships.setupPairs ?? [],
@@ -3193,8 +3193,8 @@ function loadConfigTypesDataInBackground(sourceFlag, projectDir) {
3193
3193
  if (!await directoryExists(claudeSrcDir)) {
3194
3194
  throw new Error(`${CLAUDE_SRC_DIR}/ not found \u2014 run '${CLI_BIN_NAME} init' first`);
3195
3195
  }
3196
- const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-O5RMYUBW.js");
3197
- const { loadAllAgents: loadAllAgents2 } = await import("./loader-4YOZCFIP.js");
3196
+ const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-YMWWZFVD.js");
3197
+ const { loadAllAgents: loadAllAgents2 } = await import("./loader-CMSC3RAO.js");
3198
3198
  const sourceResult = await loadSkillsMatrixFromSource2({
3199
3199
  sourceFlag,
3200
3200
  projectDir,
@@ -5653,4 +5653,4 @@ export {
5653
5653
  validateAllPlugins,
5654
5654
  printPluginValidationResult
5655
5655
  };
5656
- //# sourceMappingURL=chunk-53URJ5XK.js.map
5656
+ //# sourceMappingURL=chunk-45R64U2S.js.map