@agents-inc/cli 0.74.1 → 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 +12 -0
- package/dist/{chunk-ANUYSHQA.js → chunk-3U3PDPFQ.js} +2 -2
- package/dist/{chunk-NTVY4G35.js → chunk-44F6SUEX.js} +2 -2
- package/dist/{chunk-XP7BXHFG.js → chunk-6H6T3SZI.js} +2 -2
- package/dist/{chunk-B7KVPY3Z.js → chunk-6XHBWP2D.js} +2 -2
- package/dist/{chunk-WQRFVEAA.js → chunk-AXZJ63V5.js} +2 -2
- package/dist/{chunk-KTF5RKKP.js → chunk-CC6TML4P.js} +3 -3
- package/dist/{chunk-ZLMKEYDF.js → chunk-FUWLQBKW.js} +41 -21
- package/dist/chunk-FUWLQBKW.js.map +1 -0
- package/dist/{chunk-JWZLVWTX.js → chunk-H4OIZV7U.js} +4 -4
- package/dist/{chunk-J6SHWAS6.js → chunk-I7VZ6HVE.js} +14 -6
- package/dist/chunk-I7VZ6HVE.js.map +1 -0
- package/dist/{chunk-ZO7C5WMJ.js → chunk-JDUYWY6S.js} +3 -3
- package/dist/{chunk-VOYGRNLS.js → chunk-ORXRSFEA.js} +2 -2
- package/dist/{chunk-QJUPZPXO.js → chunk-PCR4DZH3.js} +2 -2
- package/dist/{chunk-J5T7M2CS.js → chunk-UTJ45YM6.js} +2 -2
- package/dist/{chunk-ZCJ4YYWL.js → chunk-YNLRLJ6P.js} +3 -3
- package/dist/{chunk-UFAP6GHD.js → chunk-ZMMUR2NZ.js} +9 -9
- package/dist/commands/build/plugins.js +2 -2
- package/dist/commands/build/stack.js +2 -2
- package/dist/commands/compile.js +2 -2
- package/dist/commands/config/index.js +2 -2
- package/dist/commands/config/path.js +1 -1
- package/dist/commands/config/show.js +2 -2
- package/dist/commands/diff.js +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/edit.js +15 -13
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +1 -1
- package/dist/commands/import/skill.js +1 -1
- package/dist/commands/info.js +1 -1
- package/dist/commands/init.js +12 -12
- package/dist/commands/list.js +1 -1
- package/dist/commands/new/agent.js +2 -2
- package/dist/commands/new/marketplace.js +2 -2
- package/dist/commands/new/skill.js +2 -2
- package/dist/commands/outdated.js +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/uninstall.js +17 -8
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +2 -2
- package/dist/commands/validate.js +1 -1
- package/dist/components/wizard/category-grid.test.js +2 -2
- package/dist/components/wizard/domain-selection.js +3 -3
- package/dist/components/wizard/source-grid.test.js +2 -2
- package/dist/components/wizard/stack-selection.js +3 -3
- package/dist/components/wizard/step-agents.js +3 -3
- package/dist/components/wizard/step-agents.test.js +3 -3
- package/dist/components/wizard/step-build.js +3 -3
- package/dist/components/wizard/step-build.test.js +3 -3
- package/dist/components/wizard/step-confirm.test.js +2 -2
- package/dist/components/wizard/step-settings.js +2 -2
- package/dist/components/wizard/step-settings.test.js +5 -5
- package/dist/components/wizard/step-sources.js +3 -3
- package/dist/components/wizard/step-sources.test.js +3 -3
- package/dist/components/wizard/step-stack.js +5 -5
- package/dist/components/wizard/step-stack.test.js +5 -5
- package/dist/components/wizard/wizard-layout.js +3 -3
- package/dist/components/wizard/wizard.js +11 -11
- package/dist/hooks/init.js +12 -12
- package/dist/{source-loader-RTG42MWG.js → source-loader-2AOYLOMV.js} +2 -2
- package/dist/{source-manager-NCOFHYHD.js → source-manager-754LZUVK.js} +2 -2
- package/dist/stores/wizard-store.js +2 -2
- package/dist/stores/wizard-store.test.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-J6SHWAS6.js.map +0 -1
- package/dist/chunk-ZLMKEYDF.js.map +0 -1
- /package/dist/{chunk-ANUYSHQA.js.map → chunk-3U3PDPFQ.js.map} +0 -0
- /package/dist/{chunk-NTVY4G35.js.map → chunk-44F6SUEX.js.map} +0 -0
- /package/dist/{chunk-XP7BXHFG.js.map → chunk-6H6T3SZI.js.map} +0 -0
- /package/dist/{chunk-B7KVPY3Z.js.map → chunk-6XHBWP2D.js.map} +0 -0
- /package/dist/{chunk-WQRFVEAA.js.map → chunk-AXZJ63V5.js.map} +0 -0
- /package/dist/{chunk-KTF5RKKP.js.map → chunk-CC6TML4P.js.map} +0 -0
- /package/dist/{chunk-JWZLVWTX.js.map → chunk-H4OIZV7U.js.map} +0 -0
- /package/dist/{chunk-ZO7C5WMJ.js.map → chunk-JDUYWY6S.js.map} +0 -0
- /package/dist/{chunk-VOYGRNLS.js.map → chunk-ORXRSFEA.js.map} +0 -0
- /package/dist/{chunk-QJUPZPXO.js.map → chunk-PCR4DZH3.js.map} +0 -0
- /package/dist/{chunk-J5T7M2CS.js.map → chunk-UTJ45YM6.js.map} +0 -0
- /package/dist/{chunk-ZCJ4YYWL.js.map → chunk-YNLRLJ6P.js.map} +0 -0
- /package/dist/{chunk-UFAP6GHD.js.map → chunk-ZMMUR2NZ.js.map} +0 -0
- /package/dist/{source-loader-RTG42MWG.js.map → source-loader-2AOYLOMV.js.map} +0 -0
- /package/dist/{source-manager-NCOFHYHD.js.map → source-manager-754LZUVK.js.map} +0 -0
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
} from "../../chunk-XY3XDVMI.js";
|
|
28
28
|
import {
|
|
29
29
|
StepStack
|
|
30
|
-
} from "../../chunk-
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
} from "../../chunk-H4OIZV7U.js";
|
|
31
|
+
import "../../chunk-ORXRSFEA.js";
|
|
32
32
|
import "../../chunk-K77I4XGL.js";
|
|
33
33
|
import "../../chunk-MWGDG4QN.js";
|
|
34
|
-
import "../../chunk-
|
|
34
|
+
import "../../chunk-3U3PDPFQ.js";
|
|
35
35
|
import "../../chunk-BH4LN7XV.js";
|
|
36
36
|
import "../../chunk-OV5UJWS5.js";
|
|
37
37
|
import "../../chunk-XMLCXRTS.js";
|
|
@@ -39,8 +39,8 @@ import "../../chunk-AQYAVLZK.js";
|
|
|
39
39
|
import "../../chunk-AUNBGZS4.js";
|
|
40
40
|
import {
|
|
41
41
|
useWizardStore
|
|
42
|
-
} from "../../chunk-
|
|
43
|
-
import "../../chunk-
|
|
42
|
+
} from "../../chunk-6XHBWP2D.js";
|
|
43
|
+
import "../../chunk-FUWLQBKW.js";
|
|
44
44
|
import "../../chunk-RRBWNEG3.js";
|
|
45
45
|
import "../../chunk-EMX7PA2I.js";
|
|
46
46
|
import {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
WizardLayout
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-UTJ45YM6.js";
|
|
5
5
|
import "../../chunk-SXGBPQY6.js";
|
|
6
6
|
import "../../chunk-HGTC76BX.js";
|
|
7
7
|
import "../../chunk-KYULKBFC.js";
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-6XHBWP2D.js";
|
|
9
9
|
import "../../chunk-6VIOO74O.js";
|
|
10
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-FUWLQBKW.js";
|
|
11
11
|
import "../../chunk-RRBWNEG3.js";
|
|
12
12
|
import "../../chunk-EMX7PA2I.js";
|
|
13
13
|
import "../../chunk-E74Q7GUE.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
Wizard
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-ZMMUR2NZ.js";
|
|
5
|
+
import "../../chunk-UTJ45YM6.js";
|
|
6
6
|
import "../../chunk-SXGBPQY6.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-AXZJ63V5.js";
|
|
8
|
+
import "../../chunk-CC6TML4P.js";
|
|
9
9
|
import "../../chunk-HGTC76BX.js";
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-H4OIZV7U.js";
|
|
11
|
+
import "../../chunk-ORXRSFEA.js";
|
|
12
|
+
import "../../chunk-6H6T3SZI.js";
|
|
13
|
+
import "../../chunk-JDUYWY6S.js";
|
|
14
14
|
import "../../chunk-K77I4XGL.js";
|
|
15
15
|
import "../../chunk-NUJHWYCR.js";
|
|
16
16
|
import "../../chunk-MWGDG4QN.js";
|
|
@@ -19,7 +19,7 @@ import "../../chunk-7SOPVGDV.js";
|
|
|
19
19
|
import "../../chunk-2MHSOPIU.js";
|
|
20
20
|
import "../../chunk-KSMT5FVM.js";
|
|
21
21
|
import "../../chunk-GG4BSB6S.js";
|
|
22
|
-
import "../../chunk-
|
|
22
|
+
import "../../chunk-3U3PDPFQ.js";
|
|
23
23
|
import "../../chunk-BH4LN7XV.js";
|
|
24
24
|
import "../../chunk-OV5UJWS5.js";
|
|
25
25
|
import "../../chunk-XMLCXRTS.js";
|
|
@@ -28,11 +28,11 @@ import "../../chunk-AUNBGZS4.js";
|
|
|
28
28
|
import "../../chunk-KYULKBFC.js";
|
|
29
29
|
import "../../chunk-WF5PMBIR.js";
|
|
30
30
|
import "../../chunk-KUV24B5M.js";
|
|
31
|
-
import "../../chunk-
|
|
31
|
+
import "../../chunk-6XHBWP2D.js";
|
|
32
32
|
import "../../chunk-T5DJCIUP.js";
|
|
33
33
|
import "../../chunk-U3IGFMCY.js";
|
|
34
34
|
import "../../chunk-6VIOO74O.js";
|
|
35
|
-
import "../../chunk-
|
|
35
|
+
import "../../chunk-FUWLQBKW.js";
|
|
36
36
|
import "../../chunk-RRBWNEG3.js";
|
|
37
37
|
import "../../chunk-EMX7PA2I.js";
|
|
38
38
|
import "../../chunk-E74Q7GUE.js";
|
package/dist/hooks/init.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
showDashboard
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-YNLRLJ6P.js";
|
|
5
|
+
import "../chunk-ZMMUR2NZ.js";
|
|
6
|
+
import "../chunk-UTJ45YM6.js";
|
|
7
7
|
import "../chunk-SXGBPQY6.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-AXZJ63V5.js";
|
|
9
|
+
import "../chunk-CC6TML4P.js";
|
|
10
10
|
import "../chunk-HGTC76BX.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-H4OIZV7U.js";
|
|
12
|
+
import "../chunk-ORXRSFEA.js";
|
|
13
|
+
import "../chunk-6H6T3SZI.js";
|
|
14
|
+
import "../chunk-JDUYWY6S.js";
|
|
15
15
|
import "../chunk-K77I4XGL.js";
|
|
16
16
|
import "../chunk-NUJHWYCR.js";
|
|
17
17
|
import "../chunk-MWGDG4QN.js";
|
|
@@ -20,7 +20,7 @@ import "../chunk-7SOPVGDV.js";
|
|
|
20
20
|
import "../chunk-2MHSOPIU.js";
|
|
21
21
|
import "../chunk-KSMT5FVM.js";
|
|
22
22
|
import "../chunk-GG4BSB6S.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-3U3PDPFQ.js";
|
|
24
24
|
import "../chunk-BH4LN7XV.js";
|
|
25
25
|
import "../chunk-OV5UJWS5.js";
|
|
26
26
|
import "../chunk-XMLCXRTS.js";
|
|
@@ -29,7 +29,7 @@ import "../chunk-AUNBGZS4.js";
|
|
|
29
29
|
import "../chunk-KYULKBFC.js";
|
|
30
30
|
import "../chunk-WF5PMBIR.js";
|
|
31
31
|
import "../chunk-KUV24B5M.js";
|
|
32
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-6XHBWP2D.js";
|
|
33
33
|
import "../chunk-T5DJCIUP.js";
|
|
34
34
|
import "../chunk-U3IGFMCY.js";
|
|
35
35
|
import "../chunk-6VIOO74O.js";
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
detectInstallation,
|
|
39
39
|
hasIndividualPlugins,
|
|
40
40
|
resolveSource
|
|
41
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-FUWLQBKW.js";
|
|
42
42
|
import "../chunk-RRBWNEG3.js";
|
|
43
43
|
import "../chunk-EMX7PA2I.js";
|
|
44
44
|
import "../chunk-E74Q7GUE.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
getMarketplaceLabel,
|
|
4
4
|
loadSkillsMatrixFromSource
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-FUWLQBKW.js";
|
|
6
6
|
import "./chunk-RRBWNEG3.js";
|
|
7
7
|
import "./chunk-EMX7PA2I.js";
|
|
8
8
|
import "./chunk-E74Q7GUE.js";
|
|
@@ -15,4 +15,4 @@ export {
|
|
|
15
15
|
getMarketplaceLabel,
|
|
16
16
|
loadSkillsMatrixFromSource
|
|
17
17
|
};
|
|
18
|
-
//# sourceMappingURL=source-loader-
|
|
18
|
+
//# sourceMappingURL=source-loader-2AOYLOMV.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
addSource,
|
|
4
4
|
getSourceSummary,
|
|
5
5
|
removeSource
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FUWLQBKW.js";
|
|
7
7
|
import "./chunk-RRBWNEG3.js";
|
|
8
8
|
import "./chunk-EMX7PA2I.js";
|
|
9
9
|
import "./chunk-E74Q7GUE.js";
|
|
@@ -17,4 +17,4 @@ export {
|
|
|
17
17
|
getSourceSummary,
|
|
18
18
|
removeSource
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=source-manager-
|
|
20
|
+
//# sourceMappingURL=source-manager-754LZUVK.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
useWizardStore
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-6XHBWP2D.js";
|
|
5
|
+
import "../chunk-FUWLQBKW.js";
|
|
6
6
|
import "../chunk-RRBWNEG3.js";
|
|
7
7
|
import "../chunk-EMX7PA2I.js";
|
|
8
8
|
import "../chunk-E74Q7GUE.js";
|
|
@@ -23,8 +23,8 @@ import {
|
|
|
23
23
|
} from "../chunk-XY3XDVMI.js";
|
|
24
24
|
import {
|
|
25
25
|
useWizardStore
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-
|
|
26
|
+
} from "../chunk-6XHBWP2D.js";
|
|
27
|
+
import "../chunk-FUWLQBKW.js";
|
|
28
28
|
import "../chunk-RRBWNEG3.js";
|
|
29
29
|
import {
|
|
30
30
|
typedKeys
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/lib/agents/agent-fetcher.ts","../src/cli/lib/agents/agent-recompiler.ts","../src/cli/lib/agents/agent-plugin-compiler.ts","../src/cli/lib/agents/index.ts"],"sourcesContent":["import path from \"path\";\nimport { directoryExists } from \"../../utils/fs\";\nimport { verbose } from \"../../utils/logger\";\nimport { PROJECT_ROOT, DIRS, CLAUDE_DIR } from \"../../consts\";\nimport { fetchFromSource, type FetchOptions } from \"../loading\";\nimport { loadProjectSourceConfig } from \"../configuration\";\nimport type { AgentSourcePaths } from \"../../types\";\n\nexport type AgentDefinitionOptions = FetchOptions & {\n projectDir?: string;\n};\n\nexport async function getAgentDefinitions(\n remoteSource?: string,\n options: AgentDefinitionOptions = {},\n): Promise<AgentSourcePaths> {\n if (remoteSource) {\n return fetchAgentDefinitionsFromRemote(remoteSource, options);\n }\n return getLocalAgentDefinitions(options);\n}\n\nexport async function getLocalAgentDefinitions(\n options: AgentDefinitionOptions = {},\n): Promise<AgentSourcePaths> {\n const agentsDir = path.join(PROJECT_ROOT, DIRS.agents);\n let templatesDir = path.join(PROJECT_ROOT, DIRS.templates);\n\n if (!(await directoryExists(agentsDir))) {\n throw new Error(\n `Agent partials not found at '${agentsDir}'. Ensure the CLI is properly installed.`,\n );\n }\n\n if (options.projectDir) {\n const localTemplatesDir = path.join(options.projectDir, CLAUDE_DIR, \"templates\");\n if (await directoryExists(localTemplatesDir)) {\n verbose(`Using local templates from: ${localTemplatesDir}`);\n templatesDir = localTemplatesDir;\n }\n }\n\n if (!(await directoryExists(templatesDir))) {\n verbose(`Templates directory not found: ${templatesDir}`);\n }\n\n verbose(`Agent partials loaded from CLI: ${agentsDir}`);\n verbose(`Templates directory: ${templatesDir}`);\n\n return {\n agentsDir,\n templatesDir,\n sourcePath: PROJECT_ROOT,\n };\n}\n\nexport async function fetchAgentDefinitionsFromRemote(\n source: string,\n options: FetchOptions & { agentsDir?: string } = {},\n): Promise<AgentSourcePaths> {\n verbose(`Fetching agent partials from remote: ${source}`);\n\n const result = await fetchFromSource(source, {\n forceRefresh: options.forceRefresh,\n subdir: \"\",\n });\n\n let agentsDirRelPath = options.agentsDir;\n if (!agentsDirRelPath) {\n const sourceProjectConfig = await loadProjectSourceConfig(result.path);\n agentsDirRelPath = sourceProjectConfig?.agentsDir ?? DIRS.agents;\n if (sourceProjectConfig?.agentsDir) {\n verbose(`Using agentsDir from source config: ${sourceProjectConfig.agentsDir}`);\n }\n }\n\n const agentsDir = path.join(result.path, agentsDirRelPath);\n const templatesDir = path.join(agentsDir, \"_templates\");\n\n if (!(await directoryExists(agentsDir))) {\n throw new Error(`Agent partials not found at '${agentsDir}'`);\n }\n\n if (!(await directoryExists(templatesDir))) {\n verbose(`Templates directory not found: ${templatesDir}`);\n }\n\n verbose(`Agent partials fetched from: ${result.path}`);\n\n return {\n agentsDir,\n templatesDir,\n sourcePath: result.path,\n };\n}\n","import type { Liquid } from \"liquidjs\";\nimport path from \"path\";\n\nimport { getErrorMessage } from \"../../utils/errors\";\nimport type {\n AgentConfig,\n AgentDefinition,\n AgentName,\n CompileAgentConfig,\n CompileConfig,\n ProjectConfig,\n SkillDefinitionMap,\n} from \"../../types\";\nimport { type InstallMode, deriveInstallMode } from \"../installation/installation\";\nimport { glob, writeFile, ensureDir } from \"../../utils/fs\";\nimport { verbose } from \"../../utils/logger\";\nimport { typedEntries, typedKeys } from \"../../utils/typed-object\";\nimport { createLiquidEngine } from \"../compiler\";\nimport { loadProjectConfig } from \"../configuration\";\nimport { loadAllAgents, loadProjectAgents } from \"../loading\";\nimport { getPluginAgentsDir } from \"../plugins\";\nimport { discoverAllPluginSkills } from \"../plugins/plugin-discovery\";\nimport { resolveAgents, buildSkillRefsFromConfig } from \"../resolver\";\nimport { compileAgentForPlugin } from \"../stacks\";\n\nexport type RecompileAgentsOptions = {\n pluginDir: string;\n sourcePath: string;\n agents?: AgentName[];\n skills?: SkillDefinitionMap;\n projectDir?: string;\n outputDir?: string;\n installMode?: InstallMode;\n};\n\nexport type RecompileAgentsResult = {\n compiled: AgentName[];\n failed: AgentName[];\n warnings: string[];\n};\n\nasync function getExistingAgentNames(pluginDir: string): Promise<AgentName[]> {\n const agentsDir = getPluginAgentsDir(pluginDir);\n const files = await glob(\"*.md\", agentsDir);\n // Boundary cast: directory names from filesystem are agent names by convention\n return files.map((f) => path.basename(f, \".md\") as AgentName);\n}\n\ntype ResolveAgentNamesParams = {\n specifiedAgents?: AgentName[];\n projectConfig: ProjectConfig | null;\n allAgents: Record<AgentName, AgentDefinition>;\n outputDir?: string;\n pluginDir: string;\n};\n\nasync function resolveAgentNames(params: ResolveAgentNamesParams): Promise<AgentName[]> {\n const { specifiedAgents, projectConfig, allAgents, outputDir, pluginDir } = params;\n\n if (specifiedAgents) {\n return specifiedAgents;\n }\n\n if (projectConfig?.agents?.length) {\n const agentNames = projectConfig.agents.map((a) => a.name);\n verbose(`Using agents from config: ${agentNames.join(\", \")}`);\n return agentNames;\n }\n\n if (outputDir) {\n const names = typedKeys<AgentName>(allAgents);\n verbose(`Using all available agents from source: ${names.join(\", \")}`);\n return names;\n }\n\n return getExistingAgentNames(pluginDir);\n}\n\ntype BuildCompileConfigParams = {\n agentNames: AgentName[];\n allAgents: Record<AgentName, AgentDefinition>;\n projectConfig: ProjectConfig | null;\n pluginDir: string;\n};\n\ntype BuildCompileConfigResult = {\n compileConfig: CompileConfig;\n warnings: string[];\n};\n\nfunction buildCompileConfig(params: BuildCompileConfigParams): BuildCompileConfigResult {\n const { agentNames, allAgents, projectConfig, pluginDir } = params;\n const warnings: string[] = [];\n\n // Store initialization: accumulator populated below for each agent in agentNames\n const compileAgents: Record<string, CompileAgentConfig> = {};\n for (const agentName of agentNames) {\n if (allAgents[agentName]) {\n const agentStack = projectConfig?.stack?.[agentName];\n compileAgents[agentName] = agentStack ? { skills: buildSkillRefsFromConfig(agentStack) } : {};\n } else {\n warnings.push(`Agent \"${agentName}\" not found in source definitions`);\n }\n }\n\n const compileConfig: CompileConfig = {\n name: projectConfig?.name || path.basename(pluginDir),\n description: projectConfig?.description || \"Recompiled plugin\",\n agents: compileAgents,\n };\n\n return { compileConfig, warnings };\n}\n\ntype CompileAndWriteParams = {\n resolvedAgents: Record<AgentName, AgentConfig>;\n agentsDir: string;\n sourcePath: string;\n engine: Liquid;\n installMode?: InstallMode;\n};\n\nasync function compileAndWriteAgents(\n params: CompileAndWriteParams,\n result: RecompileAgentsResult,\n): Promise<void> {\n const { resolvedAgents, agentsDir, sourcePath, engine, installMode } = params;\n\n for (const [agentName, agent] of typedEntries<AgentName, AgentConfig>(resolvedAgents)) {\n try {\n const output = await compileAgentForPlugin(agentName, agent, sourcePath, engine, installMode);\n await writeFile(path.join(agentsDir, `${agentName}.md`), output);\n result.compiled.push(agentName);\n verbose(` Recompiled: ${agentName}`);\n } catch (error) {\n result.failed.push(agentName);\n result.warnings.push(`Failed to compile ${agentName}: ${getErrorMessage(error)}`);\n }\n }\n}\n\nexport async function recompileAgents(\n options: RecompileAgentsOptions,\n): Promise<RecompileAgentsResult> {\n const { pluginDir, sourcePath, skills: providedSkills, projectDir, outputDir } = options;\n\n const result: RecompileAgentsResult = {\n compiled: [],\n failed: [],\n warnings: [],\n };\n\n const configDir = projectDir ?? pluginDir;\n const loadedConfig = await loadProjectConfig(configDir);\n const projectConfig = loadedConfig?.config ?? null;\n\n const builtinAgents = await loadAllAgents(sourcePath);\n const projectAgents = projectDir ? await loadProjectAgents(projectDir) : {};\n\n // Priority: project agents > built-in agents\n const allAgents: Record<AgentName, AgentDefinition> = {\n ...builtinAgents,\n ...projectAgents,\n };\n\n const agentNames = await resolveAgentNames({\n specifiedAgents: options.agents,\n projectConfig,\n allAgents,\n outputDir,\n pluginDir,\n });\n\n if (agentNames.length === 0) {\n result.warnings.push(\"No agents found to recompile\");\n return result;\n }\n\n verbose(`Recompiling ${agentNames.length} agents in ${outputDir ?? pluginDir}`);\n\n // When skills are not provided, discover from all plugin directories.\n let pluginSkills: SkillDefinitionMap;\n if (providedSkills) {\n pluginSkills = providedSkills;\n } else {\n pluginSkills = await discoverAllPluginSkills(projectDir ?? pluginDir);\n }\n\n const { compileConfig, warnings } = buildCompileConfig({\n agentNames,\n allAgents,\n projectConfig,\n pluginDir,\n });\n result.warnings.push(...warnings);\n\n const engine = await createLiquidEngine(projectDir);\n const resolvedAgents = await resolveAgents(allAgents, pluginSkills, compileConfig, sourcePath);\n\n const agentsDir = outputDir ?? getPluginAgentsDir(pluginDir);\n await ensureDir(agentsDir);\n\n await compileAndWriteAgents(\n {\n resolvedAgents,\n agentsDir,\n sourcePath,\n engine,\n installMode: options.installMode ?? deriveInstallMode(projectConfig?.skills ?? []),\n },\n result,\n );\n\n return result;\n}\n","import path from \"path\";\nimport { getErrorMessage } from \"../../utils/errors\";\nimport { readFile, ensureDir, glob, copy } from \"../../utils/fs\";\nimport { log, verbose, warn } from \"../../utils/logger\";\nimport {\n generateAgentPluginManifest,\n writePluginManifest,\n getPluginManifestPath,\n} from \"../plugins\";\nimport { computeStringHash, determinePluginVersion, writeContentHash } from \"../versioning\";\nimport { extractFrontmatter } from \"../../utils/frontmatter\";\nimport type { AgentFrontmatter, PluginManifest } from \"../../types\";\nimport { agentFrontmatterValidationSchema, formatZodErrors } from \"../schemas\";\n\nexport type AgentPluginOptions = {\n agentPath: string;\n outputDir: string;\n};\n\nexport type CompiledAgentPlugin = {\n pluginPath: string;\n manifest: PluginManifest;\n agentName: string;\n};\n\nfunction parseAgentFrontmatter(\n content: string,\n filePath: string,\n): Pick<AgentFrontmatter, \"name\" | \"description\"> | null {\n const raw = extractFrontmatter(content);\n if (!raw) {\n return null;\n }\n\n const result = agentFrontmatterValidationSchema.safeParse(raw);\n if (!result.success) {\n warn(`Invalid agent frontmatter in ${filePath}: ${formatZodErrors(result.error.issues)}`);\n return null;\n }\n\n return { name: result.data.name, description: result.data.description };\n}\n\nexport async function compileAgentPlugin(\n options: AgentPluginOptions,\n): Promise<CompiledAgentPlugin> {\n const { agentPath, outputDir } = options;\n const fileName = path.basename(agentPath);\n\n const content = await readFile(agentPath);\n const frontmatter = parseAgentFrontmatter(content, agentPath);\n\n if (!frontmatter) {\n throw new Error(\n `Agent '${fileName}' has invalid or missing YAML frontmatter. ` +\n `Required fields: 'name' and 'description'. File: ${agentPath}`,\n );\n }\n\n const agentName = frontmatter.name;\n\n verbose(`Compiling agent plugin: ${agentName} from ${agentPath}`);\n\n const pluginDir = path.join(outputDir, `agent-${agentName}`);\n const agentsDir = path.join(pluginDir, \"agents\");\n\n await ensureDir(pluginDir);\n await ensureDir(agentsDir);\n\n const newHash = computeStringHash(content);\n const { version, contentHash } = await determinePluginVersion(\n newHash,\n pluginDir,\n getPluginManifestPath,\n );\n\n const manifest = generateAgentPluginManifest({\n agentName,\n description: frontmatter.description,\n version,\n });\n\n await writePluginManifest(pluginDir, manifest);\n\n await writeContentHash(pluginDir, contentHash, getPluginManifestPath);\n\n verbose(` Wrote plugin.json for ${agentName} (v${version})`);\n\n await copy(agentPath, path.join(agentsDir, `${agentName}.md`));\n verbose(` Copied agent ${fileName} -> agents/${agentName}.md`);\n\n return {\n pluginPath: pluginDir,\n manifest,\n agentName,\n };\n}\n\nexport async function compileAllAgentPlugins(\n agentsDir: string,\n outputDir: string,\n): Promise<CompiledAgentPlugin[]> {\n const results: CompiledAgentPlugin[] = [];\n\n const agentMdFiles = await glob(\"*.md\", agentsDir);\n\n for (const agentFile of agentMdFiles) {\n const agentPath = path.join(agentsDir, agentFile);\n\n try {\n const result = await compileAgentPlugin({\n agentPath,\n outputDir,\n });\n results.push(result);\n log(` [OK] agent-${result.agentName}`);\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n warn(`Failed to compile agent from '${agentFile}': ${errorMessage}`);\n }\n }\n\n return results;\n}\n\nexport function printAgentCompilationSummary(results: CompiledAgentPlugin[]): void {\n log(`\\nCompiled ${results.length} agent plugins:`);\n for (const result of results) {\n log(` - agent-${result.agentName} (v${result.manifest.version})`);\n }\n}\n","export {\n type AgentDefinitionOptions,\n getAgentDefinitions,\n getLocalAgentDefinitions,\n fetchAgentDefinitionsFromRemote,\n} from \"./agent-fetcher\";\n\nexport {\n type RecompileAgentsOptions,\n type RecompileAgentsResult,\n recompileAgents,\n} from \"./agent-recompiler\";\n\nexport {\n type AgentPluginOptions,\n type CompiledAgentPlugin,\n compileAgentPlugin,\n compileAllAgentPlugins,\n printAgentCompilationSummary,\n} from \"./agent-plugin-compiler\";\n"],"mappings":"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","names":["path","path","path","path"]}
|