@agents-inc/cli 0.65.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.
- package/CHANGELOG.md +36 -0
- package/dist/{chunk-J4POGAJF.js → chunk-2JJUPWE5.js} +2 -2
- package/dist/{chunk-53URJ5XK.js → chunk-45R64U2S.js} +21 -21
- package/dist/chunk-45R64U2S.js.map +1 -0
- package/dist/{chunk-FGLUQSVU.js → chunk-6BXKF5GP.js} +2 -2
- package/dist/{chunk-EZ35IPXZ.js → chunk-7LCI5PSJ.js} +2 -2
- package/dist/{chunk-4C7CSZC5.js → chunk-EULHBV5V.js} +3 -3
- package/dist/{chunk-ZFY5EMDV.js → chunk-F6KEZ4Y5.js} +4 -4
- package/dist/{chunk-EE5EPS32.js → chunk-FCF4WQEI.js} +2 -2
- package/dist/{chunk-R46CB36B.js → chunk-GK5CAS3A.js} +4 -4
- package/dist/{chunk-WSMQ5GAP.js → chunk-HADHP7XF.js} +3 -3
- package/dist/{chunk-OORWBS6F.js → chunk-JAWXWNIX.js} +16 -10
- package/dist/chunk-JAWXWNIX.js.map +1 -0
- package/dist/{chunk-3YNT3NX3.js → chunk-KBG7GYPL.js} +5 -5
- package/dist/{chunk-O2HK3NTG.js → chunk-KMDBOO3E.js} +2 -2
- package/dist/{chunk-EC3UJRKZ.js → chunk-KWB3B2HS.js} +92 -163
- package/dist/chunk-KWB3B2HS.js.map +1 -0
- package/dist/{chunk-7DI3HGKL.js → chunk-KYULKBFC.js} +2 -2
- package/dist/chunk-KYULKBFC.js.map +1 -0
- package/dist/{chunk-6DEK3TDF.js → chunk-L5LD3ZSR.js} +4 -4
- package/dist/{chunk-F3REOP7N.js → chunk-L6MTIQ2U.js} +2 -2
- package/dist/{chunk-RG3KDXMR.js → chunk-QUEO6QEL.js} +3 -3
- package/dist/{chunk-LMZXL5RQ.js → chunk-R3AR4VLZ.js} +11 -11
- package/dist/chunk-R3AR4VLZ.js.map +1 -0
- package/dist/{chunk-4KVBH2X4.js → chunk-RMMHVE2R.js} +3 -3
- package/dist/{chunk-YEGPTBX5.js → chunk-SSGPFKS4.js} +3 -3
- package/dist/{chunk-BGPGQF35.js → chunk-VTRVAXUM.js} +3 -3
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +6 -6
- package/dist/commands/build/stack.js +6 -6
- package/dist/commands/compile.js +6 -6
- package/dist/commands/config/index.js +6 -6
- package/dist/commands/config/path.js +5 -5
- package/dist/commands/config/show.js +6 -6
- package/dist/commands/diff.js +5 -5
- package/dist/commands/doctor.js +5 -5
- package/dist/commands/edit.js +40 -20
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +5 -5
- package/dist/commands/import/skill.js +5 -5
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +17 -17
- package/dist/commands/list.js +5 -5
- package/dist/commands/new/agent.js +6 -6
- package/dist/commands/new/marketplace.js +7 -7
- package/dist/commands/new/skill.js +6 -6
- package/dist/commands/outdated.js +5 -5
- package/dist/commands/search.js +5 -5
- package/dist/commands/uninstall.js +5 -5
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +5 -5
- package/dist/components/wizard/category-grid.test.js +5 -5
- package/dist/components/wizard/domain-selection.js +6 -6
- package/dist/components/wizard/help-modal.js +1 -1
- package/dist/components/wizard/source-grid.test.js +5 -5
- package/dist/components/wizard/stack-selection.js +6 -6
- package/dist/components/wizard/step-agents.js +6 -6
- package/dist/components/wizard/step-agents.test.js +6 -6
- package/dist/components/wizard/step-build.js +6 -6
- package/dist/components/wizard/step-build.test.js +6 -6
- package/dist/components/wizard/step-confirm.test.js +5 -5
- package/dist/components/wizard/step-settings.js +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +6 -6
- package/dist/components/wizard/step-sources.test.js +6 -6
- package/dist/components/wizard/step-stack.js +8 -8
- package/dist/components/wizard/step-stack.test.js +8 -8
- package/dist/components/wizard/wizard-layout.js +7 -7
- package/dist/components/wizard/wizard.js +15 -15
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +17 -17
- package/dist/{loader-4YOZCFIP.js → loader-CMSC3RAO.js} +3 -3
- package/dist/{source-loader-O5RMYUBW.js → source-loader-YMWWZFVD.js} +5 -5
- package/dist/{source-manager-NKLL6HCL.js → source-manager-6G3EVTU2.js} +5 -5
- package/dist/stores/matrix-store.test.js +5 -5
- package/dist/stores/wizard-store.js +5 -5
- package/dist/stores/wizard-store.test.js +5 -5
- package/package.json +1 -1
- package/src/schemas/metadata.schema.json +1 -1
- package/dist/chunk-53URJ5XK.js.map +0 -1
- package/dist/chunk-7DI3HGKL.js.map +0 -1
- package/dist/chunk-EC3UJRKZ.js.map +0 -1
- package/dist/chunk-LMZXL5RQ.js.map +0 -1
- package/dist/chunk-OORWBS6F.js.map +0 -1
- /package/dist/{chunk-J4POGAJF.js.map → chunk-2JJUPWE5.js.map} +0 -0
- /package/dist/{chunk-FGLUQSVU.js.map → chunk-6BXKF5GP.js.map} +0 -0
- /package/dist/{chunk-EZ35IPXZ.js.map → chunk-7LCI5PSJ.js.map} +0 -0
- /package/dist/{chunk-4C7CSZC5.js.map → chunk-EULHBV5V.js.map} +0 -0
- /package/dist/{chunk-ZFY5EMDV.js.map → chunk-F6KEZ4Y5.js.map} +0 -0
- /package/dist/{chunk-EE5EPS32.js.map → chunk-FCF4WQEI.js.map} +0 -0
- /package/dist/{chunk-R46CB36B.js.map → chunk-GK5CAS3A.js.map} +0 -0
- /package/dist/{chunk-WSMQ5GAP.js.map → chunk-HADHP7XF.js.map} +0 -0
- /package/dist/{chunk-3YNT3NX3.js.map → chunk-KBG7GYPL.js.map} +0 -0
- /package/dist/{chunk-O2HK3NTG.js.map → chunk-KMDBOO3E.js.map} +0 -0
- /package/dist/{chunk-6DEK3TDF.js.map → chunk-L5LD3ZSR.js.map} +0 -0
- /package/dist/{chunk-F3REOP7N.js.map → chunk-L6MTIQ2U.js.map} +0 -0
- /package/dist/{chunk-RG3KDXMR.js.map → chunk-QUEO6QEL.js.map} +0 -0
- /package/dist/{chunk-4KVBH2X4.js.map → chunk-RMMHVE2R.js.map} +0 -0
- /package/dist/{chunk-YEGPTBX5.js.map → chunk-SSGPFKS4.js.map} +0 -0
- /package/dist/{chunk-BGPGQF35.js.map → chunk-VTRVAXUM.js.map} +0 -0
- /package/dist/{loader-4YOZCFIP.js.map → loader-CMSC3RAO.js.map} +0 -0
- /package/dist/{source-loader-O5RMYUBW.js.map → source-loader-YMWWZFVD.js.map} +0 -0
- /package/dist/{source-manager-NKLL6HCL.js.map → source-manager-6G3EVTU2.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,42 @@ 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
|
+
|
|
10
46
|
## [0.65.0] - 2026-03-11
|
|
11
47
|
|
|
12
48
|
**Narrowed config types, edit command refactor, test consolidation (R-09)**
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-AQYAVLZK.js";
|
|
14
14
|
import {
|
|
15
15
|
useWizardStore
|
|
16
|
-
} from "./chunk-
|
|
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-
|
|
271
|
+
//# sourceMappingURL=chunk-2JJUPWE5.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
loadPluginSkills,
|
|
5
5
|
loadSkillsByIds,
|
|
6
6
|
parseFrontmatter
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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(
|
|
1267
|
-
const slugResult = slugToId[
|
|
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[
|
|
1272
|
-
return directoryPathToId[
|
|
1271
|
+
if (directoryPathToId[slug]) {
|
|
1272
|
+
return directoryPathToId[slug];
|
|
1273
1273
|
}
|
|
1274
1274
|
if (context) {
|
|
1275
|
-
verbose(`Unresolved
|
|
1275
|
+
verbose(`Unresolved slug '${slug}' in ${context} \u2014 passing through as-is`);
|
|
1276
1276
|
}
|
|
1277
|
-
return
|
|
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((
|
|
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((
|
|
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((
|
|
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((
|
|
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((
|
|
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((
|
|
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 = (
|
|
1400
|
-
|
|
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.
|
|
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-
|
|
3197
|
-
const { loadAllAgents: loadAllAgents2 } = await import("./loader-
|
|
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-
|
|
5656
|
+
//# sourceMappingURL=chunk-45R64U2S.js.map
|