@agents-inc/cli 0.73.0 → 0.74.2
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 +35 -0
- package/dist/{chunk-4KLUOFP6.js → chunk-3U3PDPFQ.js} +2 -2
- package/dist/{chunk-G23HPF6K.js → chunk-44F6SUEX.js} +3 -3
- package/dist/{chunk-WJL4KU5V.js → chunk-4CRWKTNQ.js} +1 -22
- package/dist/{chunk-WJL4KU5V.js.map → chunk-4CRWKTNQ.js.map} +1 -1
- package/dist/{chunk-3REVX6S5.js → chunk-6H6T3SZI.js} +2 -2
- package/dist/{chunk-OLWGGD4G.js → chunk-6XHBWP2D.js} +3 -3
- package/dist/{chunk-H4ETXZVL.js → chunk-AXZJ63V5.js} +3 -3
- package/dist/{chunk-T7QY777F.js → chunk-BM5Y6LIC.js} +2 -2
- package/dist/{chunk-3K6FSET7.js → chunk-CC6TML4P.js} +3 -3
- package/dist/{chunk-3VNQPCOE.js → chunk-FUWLQBKW.js} +54 -30
- package/dist/chunk-FUWLQBKW.js.map +1 -0
- package/dist/{chunk-KE2EAVFQ.js → chunk-H4OIZV7U.js} +4 -4
- package/dist/{chunk-PNZCVOCE.js → chunk-I7VZ6HVE.js} +16 -8
- package/dist/chunk-I7VZ6HVE.js.map +1 -0
- package/dist/{chunk-6JRQPSKV.js → chunk-IJLAVOKZ.js} +2 -2
- package/dist/{chunk-Y4VUU5BT.js → chunk-JDUYWY6S.js} +3 -3
- package/dist/{chunk-JHMECCBN.js → chunk-ORXRSFEA.js} +2 -2
- package/dist/{chunk-GSFZDUV2.js → chunk-PCR4DZH3.js} +4 -4
- package/dist/{chunk-ZBLSWJFM.js → chunk-RRBWNEG3.js} +2 -2
- package/dist/{chunk-Y47CLMWE.js → chunk-UTJ45YM6.js} +2 -2
- package/dist/{chunk-EMWP363L.js → chunk-YNLRLJ6P.js} +37 -30
- package/dist/chunk-YNLRLJ6P.js.map +1 -0
- package/dist/{chunk-K7WYMQQB.js → chunk-ZMMUR2NZ.js} +9 -9
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +5 -5
- package/dist/commands/build/stack.js +5 -5
- package/dist/commands/compile.js +5 -5
- package/dist/commands/config/index.js +5 -5
- package/dist/commands/config/path.js +4 -4
- package/dist/commands/config/show.js +5 -5
- package/dist/commands/diff.js +4 -4
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/edit.js +18 -18
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +5 -5
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/import/skill.js +4 -4
- package/dist/commands/info.js +4 -4
- package/dist/commands/init.js +15 -15
- package/dist/commands/list.js +4 -4
- package/dist/commands/new/agent.js +5 -5
- package/dist/commands/new/marketplace.js +6 -6
- package/dist/commands/new/skill.js +5 -5
- package/dist/commands/outdated.js +4 -4
- package/dist/commands/search.js +4 -4
- package/dist/commands/uninstall.js +23 -12
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +5 -5
- package/dist/commands/validate.js +4 -4
- package/dist/components/wizard/category-grid.test.js +4 -4
- package/dist/components/wizard/domain-selection.js +5 -5
- package/dist/components/wizard/source-grid.test.js +4 -4
- package/dist/components/wizard/stack-selection.js +5 -5
- package/dist/components/wizard/step-agents.js +5 -5
- package/dist/components/wizard/step-agents.test.js +5 -5
- package/dist/components/wizard/step-build.js +5 -5
- package/dist/components/wizard/step-build.test.js +5 -5
- package/dist/components/wizard/step-confirm.test.js +4 -4
- package/dist/components/wizard/step-settings.js +4 -4
- package/dist/components/wizard/step-settings.test.js +7 -7
- package/dist/components/wizard/step-sources.js +5 -5
- package/dist/components/wizard/step-sources.test.js +5 -5
- package/dist/components/wizard/step-stack.js +7 -7
- package/dist/components/wizard/step-stack.test.js +7 -7
- package/dist/components/wizard/wizard-layout.js +5 -5
- package/dist/components/wizard/wizard.js +13 -13
- package/dist/hooks/init.js +15 -15
- package/dist/{loader-XQ3WBTVP.js → loader-NHUCFMFQ.js} +3 -3
- package/dist/{source-loader-F4PGP6LH.js → source-loader-2AOYLOMV.js} +4 -4
- package/dist/{source-manager-QCIO4XZK.js → source-manager-754LZUVK.js} +4 -4
- package/dist/stores/wizard-store.js +4 -4
- package/dist/stores/wizard-store.test.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-3VNQPCOE.js.map +0 -1
- package/dist/chunk-EMWP363L.js.map +0 -1
- package/dist/chunk-PNZCVOCE.js.map +0 -1
- /package/dist/{chunk-4KLUOFP6.js.map → chunk-3U3PDPFQ.js.map} +0 -0
- /package/dist/{chunk-G23HPF6K.js.map → chunk-44F6SUEX.js.map} +0 -0
- /package/dist/{chunk-3REVX6S5.js.map → chunk-6H6T3SZI.js.map} +0 -0
- /package/dist/{chunk-OLWGGD4G.js.map → chunk-6XHBWP2D.js.map} +0 -0
- /package/dist/{chunk-H4ETXZVL.js.map → chunk-AXZJ63V5.js.map} +0 -0
- /package/dist/{chunk-T7QY777F.js.map → chunk-BM5Y6LIC.js.map} +0 -0
- /package/dist/{chunk-3K6FSET7.js.map → chunk-CC6TML4P.js.map} +0 -0
- /package/dist/{chunk-KE2EAVFQ.js.map → chunk-H4OIZV7U.js.map} +0 -0
- /package/dist/{chunk-6JRQPSKV.js.map → chunk-IJLAVOKZ.js.map} +0 -0
- /package/dist/{chunk-Y4VUU5BT.js.map → chunk-JDUYWY6S.js.map} +0 -0
- /package/dist/{chunk-JHMECCBN.js.map → chunk-ORXRSFEA.js.map} +0 -0
- /package/dist/{chunk-GSFZDUV2.js.map → chunk-PCR4DZH3.js.map} +0 -0
- /package/dist/{chunk-ZBLSWJFM.js.map → chunk-RRBWNEG3.js.map} +0 -0
- /package/dist/{chunk-Y47CLMWE.js.map → chunk-UTJ45YM6.js.map} +0 -0
- /package/dist/{chunk-K7WYMQQB.js.map → chunk-ZMMUR2NZ.js.map} +0 -0
- /package/dist/{loader-XQ3WBTVP.js.map → loader-NHUCFMFQ.js.map} +0 -0
- /package/dist/{source-loader-F4PGP6LH.js.map → source-loader-2AOYLOMV.js.map} +0 -0
- /package/dist/{source-manager-QCIO4XZK.js.map → source-manager-754LZUVK.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
loadPluginSkills,
|
|
5
5
|
loadSkillsByIds,
|
|
6
6
|
parseFrontmatter
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RRBWNEG3.js";
|
|
8
8
|
import {
|
|
9
9
|
isCategory,
|
|
10
10
|
typedEntries,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
warn,
|
|
55
55
|
warnUnknownFields,
|
|
56
56
|
writeFile
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-4CRWKTNQ.js";
|
|
58
58
|
import {
|
|
59
59
|
CACHE_DIR,
|
|
60
60
|
CACHE_HASH_LENGTH,
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
|
|
103
103
|
// src/cli/lib/loading/source-loader.ts
|
|
104
104
|
init_esm_shims();
|
|
105
|
-
import
|
|
105
|
+
import os10 from "os";
|
|
106
106
|
import path28 from "path";
|
|
107
107
|
|
|
108
108
|
// src/cli/lib/metadata-keys.ts
|
|
@@ -595,12 +595,19 @@ function splitConfigByScope(config) {
|
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
597
|
}
|
|
598
|
+
const globalAgentNames = new Set(globalAgents.map((a) => a.name));
|
|
599
|
+
const globalSelectedAgents = config.selectedAgents?.filter((a) => globalAgentNames.has(a)) ?? [];
|
|
600
|
+
const projectSelectedAgents = config.selectedAgents?.filter((a) => !globalAgentNames.has(a)) ?? [];
|
|
601
|
+
const globalDomains = config.domains ?? [];
|
|
602
|
+
const globalDomainSet = new Set(globalDomains);
|
|
603
|
+
const projectOnlyDomains = (config.domains ?? []).filter((d) => !globalDomainSet.has(d));
|
|
598
604
|
const globalConfig = {
|
|
599
605
|
name: "global",
|
|
600
606
|
agents: globalAgents,
|
|
601
607
|
skills: globalSkills,
|
|
602
608
|
...Object.keys(globalStack).length > 0 && { stack: globalStack },
|
|
603
|
-
...
|
|
609
|
+
...globalDomains.length > 0 && { domains: globalDomains },
|
|
610
|
+
...globalSelectedAgents.length > 0 && { selectedAgents: globalSelectedAgents }
|
|
604
611
|
};
|
|
605
612
|
const projectConfig = {
|
|
606
613
|
name: config.name,
|
|
@@ -612,8 +619,8 @@ function splitConfigByScope(config) {
|
|
|
612
619
|
...config.source && { source: config.source },
|
|
613
620
|
...config.marketplace && { marketplace: config.marketplace },
|
|
614
621
|
...config.agentsSource && { agentsSource: config.agentsSource },
|
|
615
|
-
...
|
|
616
|
-
...
|
|
622
|
+
...projectOnlyDomains.length > 0 && { domains: projectOnlyDomains },
|
|
623
|
+
...projectSelectedAgents.length > 0 && { selectedAgents: projectSelectedAgents }
|
|
617
624
|
};
|
|
618
625
|
return { global: globalConfig, project: projectConfig };
|
|
619
626
|
}
|
|
@@ -975,8 +982,8 @@ function loadConfigTypesDataInBackground(sourceFlag, projectDir) {
|
|
|
975
982
|
if (!await directoryExists(claudeSrcDir)) {
|
|
976
983
|
throw new Error(`${CLAUDE_SRC_DIR}/ not found \u2014 run '${CLI_BIN_NAME} init' first`);
|
|
977
984
|
}
|
|
978
|
-
const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-
|
|
979
|
-
const { loadAllAgents: loadAllAgents2 } = await import("./loader-
|
|
985
|
+
const { loadSkillsMatrixFromSource: loadSkillsMatrixFromSource2 } = await import("./source-loader-2AOYLOMV.js");
|
|
986
|
+
const { loadAllAgents: loadAllAgents2 } = await import("./loader-NHUCFMFQ.js");
|
|
980
987
|
const sourceResult = await loadSkillsMatrixFromSource2({
|
|
981
988
|
sourceFlag,
|
|
982
989
|
projectDir,
|
|
@@ -1286,8 +1293,10 @@ function generateProjectConfigWithGlobalImport(cleaned, globalImportPath) {
|
|
|
1286
1293
|
const agentsArr = cleaned.agents ?? [];
|
|
1287
1294
|
const stackObj = cleaned.stack;
|
|
1288
1295
|
const domainsArr = cleaned.domains ?? [];
|
|
1296
|
+
const selectedAgentsArr = cleaned.selectedAgents ?? [];
|
|
1289
1297
|
const hasProjectDomains = domainsArr.length > 0;
|
|
1290
1298
|
const hasStack = stackObj != null && Object.keys(stackObj).length > 0;
|
|
1299
|
+
const hasProjectSelectedAgents = selectedAgentsArr.length > 0;
|
|
1291
1300
|
const typeImports = buildTypeImports({
|
|
1292
1301
|
hasSkills: true,
|
|
1293
1302
|
// Always present (spread from global)
|
|
@@ -1325,11 +1334,10 @@ function generateProjectConfigWithGlobalImport(cleaned, globalImportPath) {
|
|
|
1325
1334
|
if (domainItems) lines.push(domainItems);
|
|
1326
1335
|
lines.push(`];`);
|
|
1327
1336
|
}
|
|
1328
|
-
const scalarFields = Object.entries(cleaned).filter(([key]) => !EXTRACTED_FIELDS.has(key) && key !== "name").map(([key, value]) => ` ${JSON.stringify(key)}: ${JSON.stringify(value)},`).join("\n");
|
|
1337
|
+
const scalarFields = Object.entries(cleaned).filter(([key]) => !EXTRACTED_FIELDS.has(key) && key !== "name" && key !== "selectedAgents").map(([key, value]) => ` ${JSON.stringify(key)}: ${JSON.stringify(value)},`).join("\n");
|
|
1329
1338
|
const exportFields = [` ...globalConfig,`];
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
}
|
|
1339
|
+
const projectName = cleaned.name && cleaned.name !== "global" ? cleaned.name : DEFAULT_PLUGIN_NAME;
|
|
1340
|
+
exportFields.push(` name: ${JSON.stringify(projectName)},`);
|
|
1333
1341
|
exportFields.push(` skills,`);
|
|
1334
1342
|
exportFields.push(` agents,`);
|
|
1335
1343
|
if (hasStack) {
|
|
@@ -1338,6 +1346,12 @@ function generateProjectConfigWithGlobalImport(cleaned, globalImportPath) {
|
|
|
1338
1346
|
if (hasProjectDomains) {
|
|
1339
1347
|
exportFields.push(` domains,`);
|
|
1340
1348
|
}
|
|
1349
|
+
if (hasProjectSelectedAgents) {
|
|
1350
|
+
const projectAgentItems = selectedAgentsArr.map((a) => `${JSON.stringify(a)}`).join(", ");
|
|
1351
|
+
exportFields.push(
|
|
1352
|
+
` "selectedAgents": [...(globalConfig.selectedAgents ?? []), ${projectAgentItems}],`
|
|
1353
|
+
);
|
|
1354
|
+
}
|
|
1341
1355
|
if (scalarFields) {
|
|
1342
1356
|
exportFields.push(scalarFields);
|
|
1343
1357
|
}
|
|
@@ -1395,13 +1409,13 @@ async function ensureBlankGlobalConfig() {
|
|
|
1395
1409
|
}
|
|
1396
1410
|
|
|
1397
1411
|
// src/cli/lib/configuration/config-saver.ts
|
|
1398
|
-
async function saveSourceToProjectConfig(projectDir, source) {
|
|
1412
|
+
async function saveSourceToProjectConfig(projectDir, source, name) {
|
|
1399
1413
|
const existing = await loadProjectSourceConfig(projectDir) ?? {};
|
|
1400
1414
|
const config = {
|
|
1401
|
-
|
|
1415
|
+
...existing,
|
|
1416
|
+
name: existing.name ?? name,
|
|
1402
1417
|
skills: existing.skills ?? [],
|
|
1403
1418
|
agents: existing.agents ?? [],
|
|
1404
|
-
...existing,
|
|
1405
1419
|
source
|
|
1406
1420
|
};
|
|
1407
1421
|
const configPath = getProjectConfigPath(projectDir);
|
|
@@ -2429,7 +2443,7 @@ async function detectInstallation(projectDir = process.cwd()) {
|
|
|
2429
2443
|
|
|
2430
2444
|
// src/cli/lib/installation/local-installer.ts
|
|
2431
2445
|
init_esm_shims();
|
|
2432
|
-
import
|
|
2446
|
+
import os8 from "os";
|
|
2433
2447
|
import path20 from "path";
|
|
2434
2448
|
|
|
2435
2449
|
// src/cli/lib/skills/index.ts
|
|
@@ -3386,6 +3400,7 @@ Stack plugin compiled: ${result.stackName}`);
|
|
|
3386
3400
|
// src/cli/utils/exec.ts
|
|
3387
3401
|
init_esm_shims();
|
|
3388
3402
|
import { spawn } from "child_process";
|
|
3403
|
+
import os7 from "os";
|
|
3389
3404
|
var MAX_PLUGIN_PATH_LENGTH = 1024;
|
|
3390
3405
|
var MAX_PLUGIN_NAME_LENGTH = 256;
|
|
3391
3406
|
var MAX_MARKETPLACE_SOURCE_LENGTH = 1024;
|
|
@@ -3476,10 +3491,14 @@ async function execCommand(command, args, options) {
|
|
|
3476
3491
|
});
|
|
3477
3492
|
});
|
|
3478
3493
|
}
|
|
3494
|
+
function resolvePluginCwd(scope, projectDir) {
|
|
3495
|
+
return scope === "user" ? os7.homedir() : projectDir;
|
|
3496
|
+
}
|
|
3479
3497
|
async function claudePluginInstall(pluginPath, scope, projectDir) {
|
|
3480
3498
|
validatePluginPath(pluginPath);
|
|
3499
|
+
const cwd = resolvePluginCwd(scope, projectDir);
|
|
3481
3500
|
const args = ["plugin", "install", pluginPath, "--scope", scope];
|
|
3482
|
-
const result = await execCommand("claude", args, { cwd
|
|
3501
|
+
const result = await execCommand("claude", args, { cwd });
|
|
3483
3502
|
if (result.exitCode !== 0) {
|
|
3484
3503
|
const errorMessage = result.stderr || result.stdout || "Unknown error";
|
|
3485
3504
|
throw new Error(`Plugin installation failed: ${errorMessage.trim()}`);
|
|
@@ -3538,8 +3557,9 @@ async function claudePluginMarketplaceAdd(source) {
|
|
|
3538
3557
|
}
|
|
3539
3558
|
async function claudePluginUninstall(pluginName, scope, projectDir) {
|
|
3540
3559
|
validatePluginName(pluginName);
|
|
3560
|
+
const cwd = resolvePluginCwd(scope, projectDir);
|
|
3541
3561
|
const args = ["plugin", "uninstall", pluginName, "--scope", scope];
|
|
3542
|
-
const result = await execCommand("claude", args, { cwd
|
|
3562
|
+
const result = await execCommand("claude", args, { cwd });
|
|
3543
3563
|
if (result.exitCode !== 0) {
|
|
3544
3564
|
const errorMessage = result.stderr || result.stdout || "Unknown error";
|
|
3545
3565
|
if (errorMessage.includes("not installed") || errorMessage.includes("not found")) {
|
|
@@ -3551,7 +3571,7 @@ async function claudePluginUninstall(pluginName, scope, projectDir) {
|
|
|
3551
3571
|
|
|
3552
3572
|
// src/cli/lib/installation/local-installer.ts
|
|
3553
3573
|
function resolveInstallPaths(projectDir, scope = "project") {
|
|
3554
|
-
const baseDir = scope === "global" ?
|
|
3574
|
+
const baseDir = scope === "global" ? os8.homedir() : projectDir;
|
|
3555
3575
|
return {
|
|
3556
3576
|
skillsDir: path20.join(baseDir, LOCAL_SKILLS_PATH),
|
|
3557
3577
|
agentsDir: path20.join(baseDir, CLAUDE_DIR, "agents"),
|
|
@@ -3729,7 +3749,7 @@ async function writeStandaloneConfigTypes(configPath, matrix2, agents, finalConf
|
|
|
3729
3749
|
async function writeProjectConfigTypes(projectConfigPath, projectDir, projectConfig, matrix2) {
|
|
3730
3750
|
const typesPath = path20.join(path20.dirname(projectConfigPath), STANDARD_FILES.CONFIG_TYPES_TS);
|
|
3731
3751
|
const projectClaudeSrc = path20.join(projectDir, CLAUDE_SRC_DIR);
|
|
3732
|
-
const globalClaudeSrc = path20.join(
|
|
3752
|
+
const globalClaudeSrc = path20.join(os8.homedir(), CLAUDE_SRC_DIR);
|
|
3733
3753
|
const relativePath = path20.relative(projectClaudeSrc, globalClaudeSrc);
|
|
3734
3754
|
const globalTypesImportPath = relativePath.split(path20.sep).join("/");
|
|
3735
3755
|
const projectSkillIds = projectConfig?.skills.map((s) => s.id) ?? [];
|
|
@@ -3766,7 +3786,7 @@ async function writeProjectConfigTypes(projectConfigPath, projectDir, projectCon
|
|
|
3766
3786
|
verbose("Using project config-types.ts that imports from global");
|
|
3767
3787
|
}
|
|
3768
3788
|
async function writeScopedConfigs(finalConfig, matrix2, agents, projectDir, projectConfigPath) {
|
|
3769
|
-
const homeDir =
|
|
3789
|
+
const homeDir = os8.homedir();
|
|
3770
3790
|
const isProjectContext = path20.resolve(projectDir) !== path20.resolve(homeDir);
|
|
3771
3791
|
if (!isProjectContext) {
|
|
3772
3792
|
await writeConfigFile(finalConfig, projectConfigPath);
|
|
@@ -3783,7 +3803,7 @@ async function writeScopedConfigs(finalConfig, matrix2, agents, projectDir, proj
|
|
|
3783
3803
|
await ensureDir(path20.dirname(projectConfigPath));
|
|
3784
3804
|
await writeConfigFile(projectSplitConfig, projectConfigPath, { isProjectConfig: true });
|
|
3785
3805
|
verbose(`Updated project config at ${projectConfigPath}`);
|
|
3786
|
-
await writeProjectConfigTypes(projectConfigPath, projectDir,
|
|
3806
|
+
await writeProjectConfigTypes(projectConfigPath, projectDir, projectSplitConfig, matrix2);
|
|
3787
3807
|
}
|
|
3788
3808
|
async function compileAndWriteAgents(compileConfig, agents, localSkills, sourceResult, projectDir, agentsDir, installMode, agentScopeMap) {
|
|
3789
3809
|
const engine = await createLiquidEngine(projectDir);
|
|
@@ -3793,7 +3813,7 @@ async function compileAndWriteAgents(compileConfig, agents, localSkills, sourceR
|
|
|
3793
3813
|
compileConfig,
|
|
3794
3814
|
sourceResult.sourcePath
|
|
3795
3815
|
);
|
|
3796
|
-
const globalAgentsDir = path20.join(
|
|
3816
|
+
const globalAgentsDir = path20.join(os8.homedir(), CLAUDE_DIR, "agents");
|
|
3797
3817
|
const compiledAgentNames = [];
|
|
3798
3818
|
for (const [name, agent] of typedEntries(resolvedAgents)) {
|
|
3799
3819
|
const output = await compileAgentForPlugin(
|
|
@@ -4012,7 +4032,7 @@ init_esm_shims();
|
|
|
4012
4032
|
// src/cli/lib/plugins/plugin-settings.ts
|
|
4013
4033
|
init_esm_shims();
|
|
4014
4034
|
import path22 from "path";
|
|
4015
|
-
import
|
|
4035
|
+
import os9 from "os";
|
|
4016
4036
|
import { z as z2 } from "zod";
|
|
4017
4037
|
var pluginSettingsSchema = z2.object({
|
|
4018
4038
|
enabledPlugins: z2.record(z2.string(), z2.unknown()).optional()
|
|
@@ -4063,7 +4083,7 @@ async function resolvePluginInstallPaths(pluginKeys, projectDir) {
|
|
|
4063
4083
|
if (pluginKeys.length === 0) {
|
|
4064
4084
|
return [];
|
|
4065
4085
|
}
|
|
4066
|
-
const registryPath = path22.join(
|
|
4086
|
+
const registryPath = path22.join(os9.homedir(), CLAUDE_DIR, PLUGINS_SUBDIR, INSTALLED_PLUGINS_FILE);
|
|
4067
4087
|
if (!await fileExists(registryPath)) {
|
|
4068
4088
|
verbose(`Plugin registry not found at '${registryPath}'`);
|
|
4069
4089
|
return [];
|
|
@@ -5114,11 +5134,14 @@ async function getSourceSummary(projectDir) {
|
|
|
5114
5134
|
return { sources, localSkillCount, pluginSkillCount };
|
|
5115
5135
|
}
|
|
5116
5136
|
async function writeConfigFromPartial(projectDir, partial) {
|
|
5137
|
+
if (!partial.name) {
|
|
5138
|
+
throw new Error("Cannot write config: no project config found. Run `agentsinc init` first.");
|
|
5139
|
+
}
|
|
5117
5140
|
const config = {
|
|
5118
|
-
|
|
5141
|
+
...partial,
|
|
5142
|
+
name: partial.name,
|
|
5119
5143
|
skills: partial.skills ?? [],
|
|
5120
|
-
agents: partial.agents ?? []
|
|
5121
|
-
...partial
|
|
5144
|
+
agents: partial.agents ?? []
|
|
5122
5145
|
};
|
|
5123
5146
|
const configPath = getProjectConfigPath(projectDir);
|
|
5124
5147
|
await ensureDir(path27.join(projectDir, CLAUDE_SRC_DIR));
|
|
@@ -5155,7 +5178,7 @@ async function loadSkillsMatrixFromSource(options = {}) {
|
|
|
5155
5178
|
}
|
|
5156
5179
|
const resolvedProjectDir = projectDir || process.cwd();
|
|
5157
5180
|
let localSkillsResult = await discoverLocalSkills(resolvedProjectDir);
|
|
5158
|
-
const homeDir =
|
|
5181
|
+
const homeDir = os10.homedir();
|
|
5159
5182
|
if ((!localSkillsResult || localSkillsResult.skills.length === 0) && resolvedProjectDir !== homeDir) {
|
|
5160
5183
|
localSkillsResult = await discoverLocalSkills(homeDir);
|
|
5161
5184
|
}
|
|
@@ -5424,6 +5447,7 @@ export {
|
|
|
5424
5447
|
injectForkedFromMetadata,
|
|
5425
5448
|
copySkillsToLocalFlattened,
|
|
5426
5449
|
fetchFromSource,
|
|
5450
|
+
fetchMarketplace,
|
|
5427
5451
|
resolveAlias,
|
|
5428
5452
|
validateSelection,
|
|
5429
5453
|
getAvailableSkills,
|
|
@@ -5478,4 +5502,4 @@ export {
|
|
|
5478
5502
|
validateAllPlugins,
|
|
5479
5503
|
printPluginValidationResult
|
|
5480
5504
|
};
|
|
5481
|
-
//# sourceMappingURL=chunk-
|
|
5505
|
+
//# sourceMappingURL=chunk-FUWLQBKW.js.map
|