@ai-outfitter/outfitter 1.14.0 → 1.16.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/README.md +8 -4
- package/code/pi-extension/src/outfitter-extension.js +155 -65
- package/code/pi-extension/src/outfitter-runtime-extension.js +41 -25
- package/dist/cli/OutfitterCli.js +2 -0
- package/dist/cli/OutfitterCli.js.map +1 -1
- package/dist/cli/commands/DumpCommand.js +2 -2
- package/dist/cli/commands/DumpCommand.js.map +1 -1
- package/dist/cli/commands/LinkCommand.d.ts +27 -0
- package/dist/cli/commands/LinkCommand.js +137 -0
- package/dist/cli/commands/LinkCommand.js.map +1 -0
- package/dist/cli/commands/ListCommand.d.ts +2 -0
- package/dist/cli/commands/ListCommand.js +32 -8
- package/dist/cli/commands/ListCommand.js.map +1 -1
- package/dist/cli/commands/PiRuntimeLaunch.d.ts +6 -0
- package/dist/cli/commands/PiRuntimeLaunch.js +11 -1
- package/dist/cli/commands/PiRuntimeLaunch.js.map +1 -1
- package/dist/cli/commands/RunAgentCommand.d.ts +2 -0
- package/dist/cli/commands/RunAgentCommand.js +36 -14
- package/dist/cli/commands/RunAgentCommand.js.map +1 -1
- package/dist/cli/commands/SetupCommand.d.ts +22 -1
- package/dist/cli/commands/SetupCommand.js +97 -8
- package/dist/cli/commands/SetupCommand.js.map +1 -1
- package/dist/cli/commands/ValidateCommand.js +4 -1
- package/dist/cli/commands/ValidateCommand.js.map +1 -1
- package/dist/cli.js +14 -6
- package/dist/cli.js.map +1 -1
- package/dist/composer/Chain.d.ts +10 -0
- package/dist/composer/Chain.js +47 -0
- package/dist/composer/Chain.js.map +1 -0
- package/dist/composer/Composer.d.ts +6 -0
- package/dist/composer/Composer.js +42 -141
- package/dist/composer/Composer.js.map +1 -1
- package/dist/composer/Composition.d.ts +16 -0
- package/dist/composer/Defaults.d.ts +33 -0
- package/dist/composer/Defaults.js +103 -0
- package/dist/composer/Defaults.js.map +1 -0
- package/dist/composer/Mcp.d.ts +3 -0
- package/dist/composer/Mcp.js +68 -0
- package/dist/composer/Mcp.js.map +1 -0
- package/dist/dump/Dump.d.ts +2 -1
- package/dist/dump/Dump.js +67 -4
- package/dist/dump/Dump.js.map +1 -1
- package/dist/dump/WorkflowDump.d.ts +9 -1
- package/dist/dump/WorkflowDump.js +7 -3
- package/dist/dump/WorkflowDump.js.map +1 -1
- package/dist/links/HarnessHome.d.ts +15 -0
- package/dist/links/HarnessHome.js +23 -0
- package/dist/links/HarnessHome.js.map +1 -0
- package/dist/links/HarnessLinkApply.d.ts +26 -0
- package/dist/links/HarnessLinkApply.js +356 -0
- package/dist/links/HarnessLinkApply.js.map +1 -0
- package/dist/links/HarnessLinkPlan.d.ts +70 -0
- package/dist/links/HarnessLinkPlan.js +224 -0
- package/dist/links/HarnessLinkPlan.js.map +1 -0
- package/dist/links/HarnessMcp.d.ts +9 -0
- package/dist/links/HarnessMcp.js +67 -0
- package/dist/links/HarnessMcp.js.map +1 -0
- package/dist/projection/CodexSettings.d.ts +3 -0
- package/dist/projection/CodexSettings.js +17 -0
- package/dist/projection/CodexSettings.js.map +1 -0
- package/dist/projection/Materialize.d.ts +20 -2
- package/dist/projection/Materialize.js +66 -33
- package/dist/projection/Materialize.js.map +1 -1
- package/dist/projection/ProjectHarness.js +58 -14
- package/dist/projection/ProjectHarness.js.map +1 -1
- package/dist/projection/Projection.d.ts +3 -1
- package/dist/resolver/ResolverValidation.d.ts +5 -0
- package/dist/resolver/ResolverValidation.js +45 -10
- package/dist/resolver/ResolverValidation.js.map +1 -1
- package/dist/resolver/WorkflowDefinition.d.ts +10 -0
- package/dist/resolver/WorkflowDefinition.js.map +1 -1
- package/dist/resolver/WorkflowOutput.d.ts +9 -0
- package/dist/resolver/WorkflowOutput.js +40 -0
- package/dist/resolver/WorkflowOutput.js.map +1 -0
- package/dist/schemas/settings.schema.json +48 -1
- package/dist/schemas/workflow.schema.json +26 -0
- package/dist/settings/Settings.d.ts +22 -0
- package/dist/settings/Settings.js +14 -0
- package/dist/settings/Settings.js.map +1 -1
- package/dist/settings/SettingsLoader.js +17 -0
- package/dist/settings/SettingsLoader.js.map +1 -1
- package/dist/settings/SettingsMerger.js +37 -0
- package/dist/settings/SettingsMerger.js.map +1 -1
- package/dist/setup/DefaultCatalog.d.ts +4 -2
- package/dist/setup/DefaultCatalog.js +5 -3
- package/dist/setup/DefaultCatalog.js.map +1 -1
- package/dist/setup/Setup.d.ts +11 -2
- package/dist/setup/Setup.js +51 -39
- package/dist/setup/Setup.js.map +1 -1
- package/dist/version/NodeVersionGuard.d.ts +13 -0
- package/dist/version/NodeVersionGuard.js +50 -0
- package/dist/version/NodeVersionGuard.js.map +1 -0
- package/docs/architecture/state_writeback_strategy.md +1 -1
- package/docs/documentation/README.md +1 -1
- package/docs/documentation/catalogs.md +36 -1
- package/docs/documentation/cli.md +42 -7
- package/docs/documentation/conventions.md +1 -1
- package/docs/documentation/dump-and-bake.md +1 -1
- package/docs/documentation/getting-started.md +4 -2
- package/docs/documentation/linking-harnesses.md +88 -0
- package/docs/documentation/local-development.md +5 -7
- package/docs/documentation/migration.md +1 -1
- package/docs/documentation/settings.md +68 -3
- package/docs/documentation/state.md +1 -1
- package/docs/documentation/support-matrix.md +3 -1
- package/docs/documentation/switching-to-outfitter.md +1 -1
- package/docs/documentation/usecases/shared-conventions.md +1 -1
- package/package.json +2 -1
- package/src/schemas/settings.schema.json +48 -1
- package/src/schemas/workflow.schema.json +26 -0
- package/docs/documentation/porting-claude.md +0 -58
package/dist/dump/Dump.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// Writes a deterministic, self-contained `.agents/` tree for one agent's transitive closure.
|
|
2
2
|
import { copyFileSync, existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync, } from 'node:fs';
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
|
+
import { stringify } from 'yaml';
|
|
4
5
|
import { compose } from '../composer/Composer.js';
|
|
6
|
+
import { planAgentDefaults } from '../composer/Defaults.js';
|
|
5
7
|
import { removeTargetTypeConflict } from '../fs/TypeConflict.js';
|
|
6
8
|
import { pickLoadoutKeys } from '../resolver/AgentDefinition.js';
|
|
7
9
|
import { compareSlugs, findResource } from '../resolver/Resource.js';
|
|
@@ -91,6 +93,7 @@ const compositionProvenance = (plan) => {
|
|
|
91
93
|
return {
|
|
92
94
|
agent: plan.agent,
|
|
93
95
|
inheritanceChain: plan.inheritanceChain,
|
|
96
|
+
...(plan.agentDefaults === undefined ? {} : { agentDefaults: plan.agentDefaults }),
|
|
94
97
|
prompts: ordered
|
|
95
98
|
.filter((entry) => entry.fragment !== undefined)
|
|
96
99
|
.map((entry, order) => ({ order, role: entry.role, ...fragmentProvenance(entry.fragment) })),
|
|
@@ -126,13 +129,20 @@ const collectSkills = (selected, skills, errors) => {
|
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
131
|
};
|
|
132
|
+
const collectAgentDefaultMcpServers = (plan, defaults, servers) => {
|
|
133
|
+
for (const slug of defaults?.mcp ?? []) {
|
|
134
|
+
if (Object.hasOwn(plan.loadout.mcpServers, slug))
|
|
135
|
+
servers[slug] = plan.loadout.mcpServers[slug];
|
|
136
|
+
}
|
|
137
|
+
};
|
|
129
138
|
/** BFS over the selected agent and its delegated-agent closure. */
|
|
130
|
-
const composeClosure = (set, rootSlug, projectDirectory) => {
|
|
139
|
+
const composeClosure = (set, rootSlug, projectDirectory, agentDefaults) => {
|
|
131
140
|
const seen = new Set();
|
|
132
141
|
const agents = [];
|
|
133
142
|
const skills = new Map();
|
|
134
143
|
const warnings = [];
|
|
135
144
|
const errors = [];
|
|
145
|
+
const agentDefaultMcpServers = {};
|
|
136
146
|
const promptFiles = new Map();
|
|
137
147
|
const provenance = [];
|
|
138
148
|
const queue = [rootSlug];
|
|
@@ -144,7 +154,7 @@ const composeClosure = (set, rootSlug, projectDirectory) => {
|
|
|
144
154
|
seen.add(slug);
|
|
145
155
|
// compose surfaces an unknown/invalid root agent as an error; every queued subagent is already
|
|
146
156
|
// resolved by the composer, so a plan implies findResource returns the agent.
|
|
147
|
-
const composed = compose(set, slug, { projectDirectory });
|
|
157
|
+
const composed = compose(set, slug, { projectDirectory, agentDefaults });
|
|
148
158
|
if (composed.plan === undefined) {
|
|
149
159
|
errors.push(...composed.errors);
|
|
150
160
|
warnings.push(...composed.warnings);
|
|
@@ -153,6 +163,7 @@ const composeClosure = (set, rootSlug, projectDirectory) => {
|
|
|
153
163
|
collectContributingAgents(set, composed.plan.inheritanceChain, agents);
|
|
154
164
|
provenance.push(compositionProvenance(composed.plan));
|
|
155
165
|
warnings.push(...composed.plan.warnings);
|
|
166
|
+
collectAgentDefaultMcpServers(composed.plan, agentDefaults, agentDefaultMcpServers);
|
|
156
167
|
collectPromptFiles(composed.plan, promptFiles, errors);
|
|
157
168
|
collectSkills(composed.plan.loadout.skills, skills, errors);
|
|
158
169
|
queue.push(...composed.plan.loadout.subagents.map((subagent) => subagent.slug).sort(compareSlugs));
|
|
@@ -160,6 +171,7 @@ const composeClosure = (set, rootSlug, projectDirectory) => {
|
|
|
160
171
|
return {
|
|
161
172
|
agents,
|
|
162
173
|
skills: [...skills.values()].sort((left, right) => compareSlugs(left.slug, right.slug)),
|
|
174
|
+
agentDefaultMcpServers,
|
|
163
175
|
promptFiles: [...promptFiles.entries()]
|
|
164
176
|
.map(([reference, content]) => ({ reference, content }))
|
|
165
177
|
.sort((left, right) => compareSlugs(left.reference, right.reference)),
|
|
@@ -198,11 +210,58 @@ const writeMergedConfig = (agent, agentTarget, written) => {
|
|
|
198
210
|
written.push(configTarget);
|
|
199
211
|
}
|
|
200
212
|
};
|
|
213
|
+
/** Carries merged settings-layer defaults into the dump so the tree stays self-contained. */
|
|
214
|
+
const writeDefaultsSettings = (outRoot, agentDefaults, harnessDefaults, written) => {
|
|
215
|
+
const settingsYaml = settingsYamlForDefaults(agentDefaults, harnessDefaults);
|
|
216
|
+
if (settingsYaml === undefined)
|
|
217
|
+
return;
|
|
218
|
+
const settingsTarget = join(outRoot, 'settings.yml');
|
|
219
|
+
writeFileSync(settingsTarget, settingsYaml);
|
|
220
|
+
written.push(settingsTarget);
|
|
221
|
+
};
|
|
222
|
+
/** Makes settings-selected MCP servers resolvable from the flattened root copied into the dump. */
|
|
223
|
+
const writeAgentDefaultMcpServers = (outRoot, effectiveServers, written) => {
|
|
224
|
+
if (Object.keys(effectiveServers).length === 0)
|
|
225
|
+
return;
|
|
226
|
+
const target = join(outRoot, 'mcp.json');
|
|
227
|
+
let existingServers = {};
|
|
228
|
+
try {
|
|
229
|
+
const document = JSON.parse(readFileSync(target, 'utf8'));
|
|
230
|
+
existingServers = document.mcpServers ?? {};
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
// Composition already reported malformed source MCP JSON; emit the effective valid subset.
|
|
234
|
+
}
|
|
235
|
+
writeFileSync(target, `${JSON.stringify({ mcpServers: { ...existingServers, ...effectiveServers } }, null, 2)}\n`);
|
|
236
|
+
written.push(target);
|
|
237
|
+
};
|
|
201
238
|
const failure = (errors, warnings = []) => ({
|
|
202
239
|
writtenPaths: [],
|
|
203
240
|
warnings,
|
|
204
241
|
errors,
|
|
205
242
|
});
|
|
243
|
+
/** Serializes merged settings-layer defaults into the dumped tree so it stays self-contained. */
|
|
244
|
+
const settingsYamlForDefaults = (defaults, harnessDefaults) => {
|
|
245
|
+
const effective = planAgentDefaults(defaults);
|
|
246
|
+
if (effective === undefined && harnessDefaults === undefined)
|
|
247
|
+
return undefined;
|
|
248
|
+
// yaml.stringify omits undefined properties, so undeclared fields vanish from the document.
|
|
249
|
+
return stringify({
|
|
250
|
+
...(effective === undefined
|
|
251
|
+
? {}
|
|
252
|
+
: {
|
|
253
|
+
agent_defaults: {
|
|
254
|
+
extensions: effective.extensions,
|
|
255
|
+
skills: effective.skills,
|
|
256
|
+
mcp: effective.mcp,
|
|
257
|
+
plugins: effective.plugins,
|
|
258
|
+
subagents: effective.subagents,
|
|
259
|
+
append_system_prompt: effective.appendSystemPrompt,
|
|
260
|
+
},
|
|
261
|
+
}),
|
|
262
|
+
...(harnessDefaults === undefined ? {} : { harness_defaults: harnessDefaults }),
|
|
263
|
+
});
|
|
264
|
+
};
|
|
206
265
|
const promptTargetCollisions = (outRoot, prompts) => {
|
|
207
266
|
const errors = [];
|
|
208
267
|
for (const prompt of prompts) {
|
|
@@ -217,9 +276,9 @@ const promptTargetCollisions = (outRoot, prompts) => {
|
|
|
217
276
|
return errors;
|
|
218
277
|
};
|
|
219
278
|
/** Writes the composed closure of `agentSlug` into a freshly cleaned `<outDirectory>/.agents/`. */
|
|
220
|
-
export const dumpAgent = (set, agentSlug, outDirectory, projectDirectory) => {
|
|
279
|
+
export const dumpAgent = (set, agentSlug, outDirectory, projectDirectory, agentDefaults, harnessDefaults) => {
|
|
221
280
|
// composeClosure composes the root once and surfaces an unknown/invalid root agent as an error.
|
|
222
|
-
const closure = composeClosure(set, agentSlug, projectDirectory);
|
|
281
|
+
const closure = composeClosure(set, agentSlug, projectDirectory, agentDefaults);
|
|
223
282
|
if (closure.errors.length > 0) {
|
|
224
283
|
return failure(closure.errors, closure.warnings);
|
|
225
284
|
}
|
|
@@ -244,6 +303,10 @@ export const dumpAgent = (set, agentSlug, outDirectory, projectDirectory) => {
|
|
|
244
303
|
mkdirSync(dirname(provenanceTarget), { recursive: true });
|
|
245
304
|
writeFileSync(provenanceTarget, `${JSON.stringify({ version: 1, compositions: closure.provenance }, null, 2)}\n`);
|
|
246
305
|
written.push(provenanceTarget);
|
|
306
|
+
// Carry the merged settings-layer defaults into the dumped tree so it resolves identically on
|
|
307
|
+
// its own; catalogs without agent_defaults dump byte-identically to before.
|
|
308
|
+
writeDefaultsSettings(outRoot, agentDefaults, harnessDefaults, written);
|
|
309
|
+
writeAgentDefaultMcpServers(outRoot, closure.agentDefaultMcpServers, written);
|
|
247
310
|
for (const agent of closure.agents) {
|
|
248
311
|
const agentTarget = join(outRoot, 'agents', agent.slug);
|
|
249
312
|
// Local resources are flattened below so the dumped tree is directly consumable by harnesses.
|
package/dist/dump/Dump.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dump.js","sourceRoot":"","sources":["../../src/dump/Dump.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dump.js","sourceRoot":"","sources":["../../src/dump/Dump.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { EffectiveResourceSet } from '../resolver/Resource.js';
|
|
2
|
+
import type { AgentDefaults, HarnessDefaults } from '../settings/Settings.js';
|
|
3
|
+
import type { WorkflowDefinition } from '../resolver/WorkflowDefinition.js';
|
|
2
4
|
import type { DumpResult } from './Dump.js';
|
|
5
|
+
/** Walks a workflow root through its nested workflows, collecting every agent actor it references. */
|
|
6
|
+
export declare const collectWorkflowClosure: (set: EffectiveResourceSet, root: string) => {
|
|
7
|
+
workflows: WorkflowDefinition[];
|
|
8
|
+
agents: string[];
|
|
9
|
+
errors: string[];
|
|
10
|
+
};
|
|
3
11
|
/** Export a workflow and every nested workflow/agent closure. Workflows remain configuration only. */
|
|
4
|
-
export declare const dumpWorkflow: (set: EffectiveResourceSet, workflowSlug: string, outDirectory: string, projectDirectory?: string) => DumpResult;
|
|
12
|
+
export declare const dumpWorkflow: (set: EffectiveResourceSet, workflowSlug: string, outDirectory: string, projectDirectory?: string, agentDefaults?: AgentDefaults, harnessDefaults?: HarnessDefaults) => DumpResult;
|
|
@@ -5,9 +5,11 @@ import { dirname, join, relative } from 'node:path';
|
|
|
5
5
|
import { findResource } from '../resolver/Resource.js';
|
|
6
6
|
import { compareSlugs } from '../resolver/Resource.js';
|
|
7
7
|
import { isWorkflowDefinitionIssue, readWorkflowDefinition } from '../resolver/WorkflowDefinition.js';
|
|
8
|
+
import { resolveWorkflowOutputs } from '../resolver/WorkflowOutput.js';
|
|
8
9
|
import { dumpAgent } from './Dump.js';
|
|
9
10
|
import { escapesRoots } from './Containment.js';
|
|
10
|
-
|
|
11
|
+
/** Walks a workflow root through its nested workflows, collecting every agent actor it references. */
|
|
12
|
+
export const collectWorkflowClosure = (set, root) => {
|
|
11
13
|
const workflows = [];
|
|
12
14
|
const agents = new Set();
|
|
13
15
|
const errors = [];
|
|
@@ -70,7 +72,7 @@ const mergeTree = (source, target, written, errors) => {
|
|
|
70
72
|
}
|
|
71
73
|
};
|
|
72
74
|
/** Export a workflow and every nested workflow/agent closure. Workflows remain configuration only. */
|
|
73
|
-
export const dumpWorkflow = (set, workflowSlug, outDirectory, projectDirectory) => {
|
|
75
|
+
export const dumpWorkflow = (set, workflowSlug, outDirectory, projectDirectory, agentDefaults, harnessDefaults) => {
|
|
74
76
|
const closure = collectWorkflowClosure(set, workflowSlug);
|
|
75
77
|
if (closure.errors.length > 0)
|
|
76
78
|
return { writtenPaths: [], warnings: [], errors: closure.errors };
|
|
@@ -83,10 +85,11 @@ export const dumpWorkflow = (set, workflowSlug, outDirectory, projectDirectory)
|
|
|
83
85
|
const warnings = [];
|
|
84
86
|
const errors = [];
|
|
85
87
|
const compositions = [];
|
|
88
|
+
const definitions = new Map(closure.workflows.map((workflow) => [workflow.id, workflow]));
|
|
86
89
|
try {
|
|
87
90
|
for (const agent of closure.agents) {
|
|
88
91
|
const agentDump = join(temporary, agent);
|
|
89
|
-
const result = dumpAgent(set, agent, agentDump, projectDirectory);
|
|
92
|
+
const result = dumpAgent(set, agent, agentDump, projectDirectory, agentDefaults, harnessDefaults);
|
|
90
93
|
warnings.push(...result.warnings);
|
|
91
94
|
errors.push(...result.errors);
|
|
92
95
|
const composition = join(agentDump, '.agents', '.outfitter', 'composition.json');
|
|
@@ -128,6 +131,7 @@ export const dumpWorkflow = (set, workflowSlug, outDirectory, projectDirectory)
|
|
|
128
131
|
const resource = findResource(set, 'workflow', workflow.id);
|
|
129
132
|
return {
|
|
130
133
|
id: workflow.id,
|
|
134
|
+
outputs: resolveWorkflowOutputs(workflow, definitions),
|
|
131
135
|
source: {
|
|
132
136
|
layer: resource.winner.layer.label,
|
|
133
137
|
path: relative(resource.winner.layer.root, resource.winner.path),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowDump.js","sourceRoot":"","sources":["../../src/dump/WorkflowDump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowDump.js","sourceRoot":"","sources":["../../src/dump/WorkflowDump.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Harnesses with a persistent home directory that Outfitter can populate with managed links. */
|
|
2
|
+
export type LinkHarness = 'pi' | 'claude' | 'codex';
|
|
3
|
+
export declare const linkHarnesses: readonly LinkHarness[];
|
|
4
|
+
export declare const isLinkHarness: (value: string) => value is LinkHarness;
|
|
5
|
+
/**
|
|
6
|
+
* Claude Code reads `CLAUDE_CONFIG_DIR` and Codex reads `CODEX_HOME` before their defaults, so a
|
|
7
|
+
* link must land wherever the harness will actually look.
|
|
8
|
+
*/
|
|
9
|
+
export declare const resolveHarnessHome: (harness: LinkHarness, homeDirectory: string, env: Readonly<Record<string, string | undefined>>) => string;
|
|
10
|
+
/**
|
|
11
|
+
* A harness counts as installed when its executable is on `PATH` or its home already exists. Every
|
|
12
|
+
* supported harness creates its home on first launch, so a directory check alone would skip a
|
|
13
|
+
* harness installed minutes ago.
|
|
14
|
+
*/
|
|
15
|
+
export declare const detectInstalledHarnesses: (homeDirectory: string, env: Readonly<Record<string, string | undefined>>) => readonly LinkHarness[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Resolves the native configuration directory of each harness that `outfitter link` can manage.
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { delimiter, join } from 'node:path';
|
|
4
|
+
export const linkHarnesses = ['pi', 'claude', 'codex'];
|
|
5
|
+
export const isLinkHarness = (value) => linkHarnesses.includes(value);
|
|
6
|
+
/**
|
|
7
|
+
* Claude Code reads `CLAUDE_CONFIG_DIR` and Codex reads `CODEX_HOME` before their defaults, so a
|
|
8
|
+
* link must land wherever the harness will actually look.
|
|
9
|
+
*/
|
|
10
|
+
export const resolveHarnessHome = (harness, homeDirectory, env) => {
|
|
11
|
+
const override = harness === 'pi' ? env.PI_CODING_AGENT_DIR : harness === 'claude' ? env.CLAUDE_CONFIG_DIR : env.CODEX_HOME;
|
|
12
|
+
if (override !== undefined && override.trim() !== '')
|
|
13
|
+
return override;
|
|
14
|
+
return join(homeDirectory, harness === 'pi' ? '.pi/agent' : harness === 'claude' ? '.claude' : '.codex');
|
|
15
|
+
};
|
|
16
|
+
const onPath = (harness, env) => (env.PATH ?? '').split(delimiter).some((directory) => directory !== '' && existsSync(join(directory, harness)));
|
|
17
|
+
/**
|
|
18
|
+
* A harness counts as installed when its executable is on `PATH` or its home already exists. Every
|
|
19
|
+
* supported harness creates its home on first launch, so a directory check alone would skip a
|
|
20
|
+
* harness installed minutes ago.
|
|
21
|
+
*/
|
|
22
|
+
export const detectInstalledHarnesses = (homeDirectory, env) => linkHarnesses.filter((harness) => onPath(harness, env) || existsSync(resolveHarnessHome(harness, homeDirectory, env)));
|
|
23
|
+
//# sourceMappingURL=HarnessHome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HarnessHome.js","sourceRoot":"","sources":["../../src/links/HarnessHome.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAK5C,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAwB,EAAE,CAClE,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAoB,EACpB,aAAqB,EACrB,GAAiD,EACzC,EAAE;IACV,MAAM,QAAQ,GACZ,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7G,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACtE,OAAO,IAAI,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3G,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,OAAoB,EAAE,GAAiD,EAAW,EAAE,CAClG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAElH;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAqB,EACrB,GAAiD,EACzB,EAAE,CAC1B,aAAa,CAAC,MAAM,CAClB,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CACjG,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LinkHarness } from './HarnessHome.js';
|
|
2
|
+
import type { HarnessLinkPlan, LinkEntry } from './HarnessLinkPlan.js';
|
|
3
|
+
export type LinkStatus = 'created' | 'updated' | 'unchanged' | 'conflict' | 'skipped' | 'removed' | 'pruned';
|
|
4
|
+
export interface LinkAction {
|
|
5
|
+
readonly entry: LinkEntry;
|
|
6
|
+
readonly status: LinkStatus;
|
|
7
|
+
readonly detail?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface HarnessCommandResult {
|
|
10
|
+
/** False when the harness CLI is not installed on PATH. */
|
|
11
|
+
readonly found: boolean;
|
|
12
|
+
readonly ok: boolean;
|
|
13
|
+
readonly output: string;
|
|
14
|
+
}
|
|
15
|
+
export type HarnessCommandRunner = (harness: LinkHarness, args: readonly string[]) => HarnessCommandResult;
|
|
16
|
+
export declare const spawnHarnessCommand: HarnessCommandRunner;
|
|
17
|
+
export interface ApplyLinksOptions {
|
|
18
|
+
readonly dryRun?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface ApplyLinksResult {
|
|
21
|
+
readonly actions: readonly LinkAction[];
|
|
22
|
+
}
|
|
23
|
+
/** Applies the plan idempotently, records ownership, and never rewrites anything it does not own. */
|
|
24
|
+
export declare const applyHarnessLinks: (plan: HarnessLinkPlan, home: string, options?: ApplyLinksOptions, run?: HarnessCommandRunner) => ApplyLinksResult;
|
|
25
|
+
/** Removes exactly what the manifest records and forgets it; unmanaged neighbors are untouched. */
|
|
26
|
+
export declare const removeHarnessLinks: (harness: LinkHarness, home: string, run?: HarnessCommandRunner) => ApplyLinksResult;
|