@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.
Files changed (111) hide show
  1. package/README.md +8 -4
  2. package/code/pi-extension/src/outfitter-extension.js +155 -65
  3. package/code/pi-extension/src/outfitter-runtime-extension.js +41 -25
  4. package/dist/cli/OutfitterCli.js +2 -0
  5. package/dist/cli/OutfitterCli.js.map +1 -1
  6. package/dist/cli/commands/DumpCommand.js +2 -2
  7. package/dist/cli/commands/DumpCommand.js.map +1 -1
  8. package/dist/cli/commands/LinkCommand.d.ts +27 -0
  9. package/dist/cli/commands/LinkCommand.js +137 -0
  10. package/dist/cli/commands/LinkCommand.js.map +1 -0
  11. package/dist/cli/commands/ListCommand.d.ts +2 -0
  12. package/dist/cli/commands/ListCommand.js +32 -8
  13. package/dist/cli/commands/ListCommand.js.map +1 -1
  14. package/dist/cli/commands/PiRuntimeLaunch.d.ts +6 -0
  15. package/dist/cli/commands/PiRuntimeLaunch.js +11 -1
  16. package/dist/cli/commands/PiRuntimeLaunch.js.map +1 -1
  17. package/dist/cli/commands/RunAgentCommand.d.ts +2 -0
  18. package/dist/cli/commands/RunAgentCommand.js +36 -14
  19. package/dist/cli/commands/RunAgentCommand.js.map +1 -1
  20. package/dist/cli/commands/SetupCommand.d.ts +22 -1
  21. package/dist/cli/commands/SetupCommand.js +97 -8
  22. package/dist/cli/commands/SetupCommand.js.map +1 -1
  23. package/dist/cli/commands/ValidateCommand.js +4 -1
  24. package/dist/cli/commands/ValidateCommand.js.map +1 -1
  25. package/dist/cli.js +14 -6
  26. package/dist/cli.js.map +1 -1
  27. package/dist/composer/Chain.d.ts +10 -0
  28. package/dist/composer/Chain.js +47 -0
  29. package/dist/composer/Chain.js.map +1 -0
  30. package/dist/composer/Composer.d.ts +6 -0
  31. package/dist/composer/Composer.js +42 -141
  32. package/dist/composer/Composer.js.map +1 -1
  33. package/dist/composer/Composition.d.ts +16 -0
  34. package/dist/composer/Defaults.d.ts +33 -0
  35. package/dist/composer/Defaults.js +103 -0
  36. package/dist/composer/Defaults.js.map +1 -0
  37. package/dist/composer/Mcp.d.ts +3 -0
  38. package/dist/composer/Mcp.js +68 -0
  39. package/dist/composer/Mcp.js.map +1 -0
  40. package/dist/dump/Dump.d.ts +2 -1
  41. package/dist/dump/Dump.js +67 -4
  42. package/dist/dump/Dump.js.map +1 -1
  43. package/dist/dump/WorkflowDump.d.ts +9 -1
  44. package/dist/dump/WorkflowDump.js +7 -3
  45. package/dist/dump/WorkflowDump.js.map +1 -1
  46. package/dist/links/HarnessHome.d.ts +15 -0
  47. package/dist/links/HarnessHome.js +23 -0
  48. package/dist/links/HarnessHome.js.map +1 -0
  49. package/dist/links/HarnessLinkApply.d.ts +26 -0
  50. package/dist/links/HarnessLinkApply.js +356 -0
  51. package/dist/links/HarnessLinkApply.js.map +1 -0
  52. package/dist/links/HarnessLinkPlan.d.ts +70 -0
  53. package/dist/links/HarnessLinkPlan.js +224 -0
  54. package/dist/links/HarnessLinkPlan.js.map +1 -0
  55. package/dist/links/HarnessMcp.d.ts +9 -0
  56. package/dist/links/HarnessMcp.js +67 -0
  57. package/dist/links/HarnessMcp.js.map +1 -0
  58. package/dist/projection/CodexSettings.d.ts +3 -0
  59. package/dist/projection/CodexSettings.js +17 -0
  60. package/dist/projection/CodexSettings.js.map +1 -0
  61. package/dist/projection/Materialize.d.ts +20 -2
  62. package/dist/projection/Materialize.js +66 -33
  63. package/dist/projection/Materialize.js.map +1 -1
  64. package/dist/projection/ProjectHarness.js +58 -14
  65. package/dist/projection/ProjectHarness.js.map +1 -1
  66. package/dist/projection/Projection.d.ts +3 -1
  67. package/dist/resolver/ResolverValidation.d.ts +5 -0
  68. package/dist/resolver/ResolverValidation.js +45 -10
  69. package/dist/resolver/ResolverValidation.js.map +1 -1
  70. package/dist/resolver/WorkflowDefinition.d.ts +10 -0
  71. package/dist/resolver/WorkflowDefinition.js.map +1 -1
  72. package/dist/resolver/WorkflowOutput.d.ts +9 -0
  73. package/dist/resolver/WorkflowOutput.js +40 -0
  74. package/dist/resolver/WorkflowOutput.js.map +1 -0
  75. package/dist/schemas/settings.schema.json +48 -1
  76. package/dist/schemas/workflow.schema.json +26 -0
  77. package/dist/settings/Settings.d.ts +22 -0
  78. package/dist/settings/Settings.js +14 -0
  79. package/dist/settings/Settings.js.map +1 -1
  80. package/dist/settings/SettingsLoader.js +17 -0
  81. package/dist/settings/SettingsLoader.js.map +1 -1
  82. package/dist/settings/SettingsMerger.js +37 -0
  83. package/dist/settings/SettingsMerger.js.map +1 -1
  84. package/dist/setup/DefaultCatalog.d.ts +4 -2
  85. package/dist/setup/DefaultCatalog.js +5 -3
  86. package/dist/setup/DefaultCatalog.js.map +1 -1
  87. package/dist/setup/Setup.d.ts +11 -2
  88. package/dist/setup/Setup.js +51 -39
  89. package/dist/setup/Setup.js.map +1 -1
  90. package/dist/version/NodeVersionGuard.d.ts +13 -0
  91. package/dist/version/NodeVersionGuard.js +50 -0
  92. package/dist/version/NodeVersionGuard.js.map +1 -0
  93. package/docs/architecture/state_writeback_strategy.md +1 -1
  94. package/docs/documentation/README.md +1 -1
  95. package/docs/documentation/catalogs.md +36 -1
  96. package/docs/documentation/cli.md +42 -7
  97. package/docs/documentation/conventions.md +1 -1
  98. package/docs/documentation/dump-and-bake.md +1 -1
  99. package/docs/documentation/getting-started.md +4 -2
  100. package/docs/documentation/linking-harnesses.md +88 -0
  101. package/docs/documentation/local-development.md +5 -7
  102. package/docs/documentation/migration.md +1 -1
  103. package/docs/documentation/settings.md +68 -3
  104. package/docs/documentation/state.md +1 -1
  105. package/docs/documentation/support-matrix.md +3 -1
  106. package/docs/documentation/switching-to-outfitter.md +1 -1
  107. package/docs/documentation/usecases/shared-conventions.md +1 -1
  108. package/package.json +2 -1
  109. package/src/schemas/settings.schema.json +48 -1
  110. package/src/schemas/workflow.schema.json +26 -0
  111. 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.
@@ -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
- const collectWorkflowClosure = (set, root) => {
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":"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"}
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;