@ai-outfitter/outfitter 1.13.0 → 1.15.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 (92) hide show
  1. package/README.md +4 -1
  2. package/code/pi-extension/src/outfitter-extension.js +2 -2
  3. package/dist/cli/OutfitterCli.js +2 -0
  4. package/dist/cli/OutfitterCli.js.map +1 -1
  5. package/dist/cli/commands/DumpCommand.js +17 -4
  6. package/dist/cli/commands/DumpCommand.js.map +1 -1
  7. package/dist/cli/commands/LinkCommand.d.ts +27 -0
  8. package/dist/cli/commands/LinkCommand.js +137 -0
  9. package/dist/cli/commands/LinkCommand.js.map +1 -0
  10. package/dist/cli/commands/ListCommand.js +8 -2
  11. package/dist/cli/commands/ListCommand.js.map +1 -1
  12. package/dist/cli/commands/RunAgentCommand.js +6 -1
  13. package/dist/cli/commands/RunAgentCommand.js.map +1 -1
  14. package/dist/cli/commands/ValidateCommand.js +5 -2
  15. package/dist/cli/commands/ValidateCommand.js.map +1 -1
  16. package/dist/cli.js +14 -6
  17. package/dist/cli.js.map +1 -1
  18. package/dist/composer/Chain.d.ts +10 -0
  19. package/dist/composer/Chain.js +47 -0
  20. package/dist/composer/Chain.js.map +1 -0
  21. package/dist/composer/Composer.d.ts +6 -0
  22. package/dist/composer/Composer.js +42 -141
  23. package/dist/composer/Composer.js.map +1 -1
  24. package/dist/composer/Composition.d.ts +16 -0
  25. package/dist/composer/Defaults.d.ts +33 -0
  26. package/dist/composer/Defaults.js +103 -0
  27. package/dist/composer/Defaults.js.map +1 -0
  28. package/dist/composer/Mcp.d.ts +3 -0
  29. package/dist/composer/Mcp.js +68 -0
  30. package/dist/composer/Mcp.js.map +1 -0
  31. package/dist/dump/Dump.d.ts +2 -1
  32. package/dist/dump/Dump.js +67 -4
  33. package/dist/dump/Dump.js.map +1 -1
  34. package/dist/dump/WorkflowDump.d.ts +9 -1
  35. package/dist/dump/WorkflowDump.js +4 -3
  36. package/dist/dump/WorkflowDump.js.map +1 -1
  37. package/dist/links/HarnessHome.d.ts +15 -0
  38. package/dist/links/HarnessHome.js +23 -0
  39. package/dist/links/HarnessHome.js.map +1 -0
  40. package/dist/links/HarnessLinkApply.d.ts +26 -0
  41. package/dist/links/HarnessLinkApply.js +356 -0
  42. package/dist/links/HarnessLinkApply.js.map +1 -0
  43. package/dist/links/HarnessLinkPlan.d.ts +70 -0
  44. package/dist/links/HarnessLinkPlan.js +224 -0
  45. package/dist/links/HarnessLinkPlan.js.map +1 -0
  46. package/dist/links/HarnessMcp.d.ts +9 -0
  47. package/dist/links/HarnessMcp.js +67 -0
  48. package/dist/links/HarnessMcp.js.map +1 -0
  49. package/dist/projection/CodexSettings.d.ts +3 -0
  50. package/dist/projection/CodexSettings.js +17 -0
  51. package/dist/projection/CodexSettings.js.map +1 -0
  52. package/dist/projection/Materialize.d.ts +20 -2
  53. package/dist/projection/Materialize.js +66 -33
  54. package/dist/projection/Materialize.js.map +1 -1
  55. package/dist/projection/ProjectHarness.js +58 -14
  56. package/dist/projection/ProjectHarness.js.map +1 -1
  57. package/dist/projection/Projection.d.ts +3 -1
  58. package/dist/resolver/ResolverValidation.d.ts +7 -0
  59. package/dist/resolver/ResolverValidation.js +46 -14
  60. package/dist/resolver/ResolverValidation.js.map +1 -1
  61. package/dist/schemas/settings.schema.json +54 -1
  62. package/dist/settings/Settings.d.ts +24 -0
  63. package/dist/settings/Settings.js +15 -0
  64. package/dist/settings/Settings.js.map +1 -1
  65. package/dist/settings/SettingsLoader.js +18 -0
  66. package/dist/settings/SettingsLoader.js.map +1 -1
  67. package/dist/settings/SettingsMerger.js +43 -0
  68. package/dist/settings/SettingsMerger.js.map +1 -1
  69. package/dist/setup/DefaultCatalog.d.ts +4 -2
  70. package/dist/setup/DefaultCatalog.js +5 -3
  71. package/dist/setup/DefaultCatalog.js.map +1 -1
  72. package/dist/setup/Setup.js +34 -12
  73. package/dist/setup/Setup.js.map +1 -1
  74. package/dist/version/NodeVersionGuard.d.ts +13 -0
  75. package/dist/version/NodeVersionGuard.js +50 -0
  76. package/dist/version/NodeVersionGuard.js.map +1 -0
  77. package/docs/architecture/state_writeback_strategy.md +1 -1
  78. package/docs/documentation/README.md +1 -1
  79. package/docs/documentation/cli.md +35 -1
  80. package/docs/documentation/conventions.md +1 -1
  81. package/docs/documentation/getting-started.md +4 -2
  82. package/docs/documentation/linking-harnesses.md +88 -0
  83. package/docs/documentation/local-development.md +5 -7
  84. package/docs/documentation/migration.md +1 -1
  85. package/docs/documentation/settings.md +75 -4
  86. package/docs/documentation/state.md +1 -1
  87. package/docs/documentation/support-matrix.md +3 -1
  88. package/docs/documentation/switching-to-outfitter.md +1 -1
  89. package/docs/documentation/usecases/shared-conventions.md +1 -1
  90. package/package.json +2 -1
  91. package/src/schemas/settings.schema.json +54 -1
  92. package/docs/documentation/porting-claude.md +0 -58
@@ -3,8 +3,9 @@ import { readFileSync, writeFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import { PI_SESSION_DIRECTORY_ENV } from '../agents/PiSessionDirectory.js';
5
5
  import { projectCodexMcpServers } from './CodexMcp.js';
6
+ import { codexSettingKey, codexSettingValue } from './CodexSettings.js';
6
7
  import { projectModel } from './ModelProjection.js';
7
- import { applyPiRuntimeDefaults, materializeComposition, materializeConfigurationOverlays, writeClaudePluginManifest, } from './Materialize.js';
8
+ import { applyPiRuntimeDefaults, applyJsonSettingsDefaults, materializeComposition, materializeConfigurationOverlays, writeClaudePluginManifest, } from './Materialize.js';
8
9
  import { toolArgs } from './Tools.js';
9
10
  /**
10
11
  * Inheriting is the default: a profile is a costume over the user's own harness, not a replacement
@@ -104,12 +105,32 @@ const promptArgs = (composition, input, systemPromptPath, appendPromptPaths) =>
104
105
  const thinkingArg = (composition, harness) => composition.loadout.thinking === undefined
105
106
  ? []
106
107
  : [harness === 'pi' ? '--thinking' : '--effort', composition.loadout.thinking];
108
+ const projectCodexDefaults = (defaults) => {
109
+ const args = [];
110
+ const warnings = [];
111
+ const visit = (value, path) => {
112
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
113
+ for (const [key, child] of Object.entries(value))
114
+ visit(child, [...path, key]);
115
+ return;
116
+ }
117
+ const encoded = codexSettingValue(value);
118
+ const key = codexSettingKey(path);
119
+ if (encoded === undefined)
120
+ warnings.push(`codex harness default '${key}' cannot be represented as TOML.`);
121
+ else
122
+ args.push('--config', `${key}=${encoded}`);
123
+ };
124
+ for (const [key, value] of Object.entries(defaults ?? {}))
125
+ visit(value, [key]);
126
+ return { args, warnings };
127
+ };
107
128
  // MCP overrides lead and pass-through args trail so a pass-through positional (`exec "<prompt>"`)
108
129
  // stays last, where codex expects its subcommand and prompt.
109
- const buildCodexLaunchPlan = (input, codexMcpArgs, model) => ({
130
+ const buildCodexLaunchPlan = (input, defaultArgs, codexMcpArgs, model) => ({
110
131
  command: 'codex',
111
132
  // Root `-m` propagation through `exec` was verified empirically on codex-cli 0.145.0.
112
- args: [...codexMcpArgs, ...model.args, ...(input.passThroughArgs ?? [])],
133
+ args: [...defaultArgs, ...codexMcpArgs, ...model.args, ...(input.passThroughArgs ?? [])],
113
134
  env: model.env,
114
135
  });
115
136
  /**
@@ -132,9 +153,12 @@ const claudeMcpArgs = (mcpConfigPath, isolation) => [
132
153
  * seeding and nothing needs copying back. Verified against Claude Code 2.1.226: a plugin directory
133
154
  * loads skills unnamespaced, and commands and subagents under the plugin's name.
134
155
  */
135
- const claudeConfigArgs = (rootDirectory, isolation) => isolation === 'isolated' ? [] : ['--plugin-dir', rootDirectory];
136
- const claudeArgs = (rootDirectory, isolation) => [
137
- ...claudeConfigArgs(rootDirectory, isolation),
156
+ const claudeConfigArgs = (rootDirectory, isolation, settingsPath) => [
157
+ ...(isolation === 'isolated' ? [] : ['--plugin-dir', rootDirectory]),
158
+ ...(settingsPath === undefined ? [] : ['--settings', settingsPath]),
159
+ ];
160
+ const claudeArgs = (rootDirectory, isolation, settingsPath) => [
161
+ ...claudeConfigArgs(rootDirectory, isolation, settingsPath),
138
162
  ...claudeMcpArgs(join(rootDirectory, 'mcp.json'), isolation),
139
163
  ];
140
164
  const claudeEnv = (rootDirectory, isolation) => isolation === 'isolated' ? { CLAUDE_CONFIG_DIR: rootDirectory } : {};
@@ -148,10 +172,10 @@ const declareClaudePlugin = (composition, input) => {
148
172
  return;
149
173
  writeClaudePluginManifest(input.rootDirectory, input.profileSlug ?? 'outfitter', composition.identity.label);
150
174
  };
151
- const buildPiOrClaudeLaunchPlan = (composition, input, materialized, appendPromptPaths, model) => {
175
+ const buildPiOrClaudeLaunchPlan = (composition, input, materialized, appendPromptPaths, model, settingsPath) => {
152
176
  const isPi = input.harness === 'pi';
153
177
  const isolation = resolveProjectionIsolation(input);
154
- const skillArgs = isPi ? composition.loadout.skills.flatMap((skill) => ['--skill', skill.slug]) : [];
178
+ const skillArgs = isPi ? materialized.skillDirectories.flatMap((dir) => ['--skill', dir]) : [];
155
179
  const extensionArgs = isPi ? (input.extensionLoadDirs ?? []).flatMap((dir) => ['--extension', dir]) : [];
156
180
  return {
157
181
  command: isPi ? 'pi' : 'claude',
@@ -165,7 +189,7 @@ const buildPiOrClaudeLaunchPlan = (composition, input, materialized, appendPromp
165
189
  ...extensionArgs,
166
190
  ...model.args,
167
191
  ...thinkingArg(composition, input.harness),
168
- ...(isPi ? [] : claudeArgs(input.rootDirectory, isolation)),
192
+ ...(isPi ? [] : claudeArgs(input.rootDirectory, isolation, settingsPath)),
169
193
  ...(input.passThroughArgs ?? []),
170
194
  ],
171
195
  // The projection root is deleted after the run, so pi's default session store (a subdirectory
@@ -180,12 +204,26 @@ const buildPiOrClaudeLaunchPlan = (composition, input, materialized, appendPromp
180
204
  : { ...claudeEnv(input.rootDirectory, isolation), ...model.env },
181
205
  };
182
206
  };
183
- /** Materializes the composition into the runtime root and builds the harness launch plan. */
184
- export const projectComposition = (composition, input) => {
207
+ const prepareHarnessDefaults = (input) => {
208
+ const defaultWarnings = [];
185
209
  if (input.harness === 'pi') {
186
210
  materializeConfigurationOverlays(input.configurationOverlayDirectories ?? [], input.rootDirectory);
211
+ const settingsPath = applyJsonSettingsDefaults(input.rootDirectory, input.harnessDefaults);
212
+ if (input.harnessDefaults !== undefined &&
213
+ Object.keys(input.harnessDefaults).length > 0 &&
214
+ settingsPath === undefined)
215
+ defaultWarnings.push('pi harness defaults could not be merged because settings.json is not a JSON object.');
187
216
  applyPiRuntimeDefaults(input.rootDirectory);
188
217
  }
218
+ const claudeSettingsPath = input.harness === 'claude' ? applyJsonSettingsDefaults(input.rootDirectory, input.harnessDefaults) : undefined;
219
+ const codex = input.harness === 'codex' ? projectCodexDefaults(input.harnessDefaults) : undefined;
220
+ if (codex !== undefined)
221
+ defaultWarnings.push(...codex.warnings);
222
+ return { warnings: defaultWarnings, claudeSettingsPath, codexArgs: codex === undefined ? [] : codex.args };
223
+ };
224
+ /** Materializes the composition into the runtime root and builds the harness launch plan. */
225
+ export const projectComposition = (composition, input) => {
226
+ const defaults = prepareHarnessDefaults(input);
189
227
  // Materialization runs for every harness so containment and definition diagnostics are reported
190
228
  // uniformly. Codex reads none of the generated files — it takes its MCP config in argv and has no
191
229
  // config-directory projection yet — but the root is temporary, so the unused writes do not persist.
@@ -199,18 +237,24 @@ export const projectComposition = (composition, input) => {
199
237
  ];
200
238
  if (input.harness === 'codex') {
201
239
  const codexMcp = projectCodexMcpServers(composition.loadout.mcp, composition.loadout.mcpServers);
202
- const launch = buildCodexLaunchPlan(input, codexMcp.args, projectedModel);
240
+ const launch = buildCodexLaunchPlan(input, defaults.codexArgs, codexMcp.args, projectedModel);
203
241
  const warnings = [
204
242
  ...(input.appendPromptPaths?.length
205
243
  ? ['codex adapter does not project supplied append-prompt documents; they will be dropped.']
206
244
  : []),
207
245
  ...codexMcp.warnings,
246
+ ...defaults.warnings,
208
247
  ...projectedModel.warnings,
209
248
  ];
210
249
  return { rootDirectory: input.rootDirectory, launch, unsupported, warnings };
211
250
  }
212
251
  // Caller documents follow the composition's own, so a persona is read against the agent it adopts.
213
- const launch = buildPiOrClaudeLaunchPlan(composition, input, materialized, [...materialized.appendPromptPaths, ...(input.appendPromptPaths ?? [])], projectedModel);
214
- return { rootDirectory: input.rootDirectory, launch, unsupported, warnings: projectedModel.warnings };
252
+ const launch = buildPiOrClaudeLaunchPlan(composition, input, materialized, [...materialized.appendPromptPaths, ...(input.appendPromptPaths ?? [])], projectedModel, defaults.claudeSettingsPath);
253
+ return {
254
+ rootDirectory: input.rootDirectory,
255
+ launch,
256
+ unsupported,
257
+ warnings: [...defaults.warnings, ...projectedModel.warnings],
258
+ };
215
259
  };
216
260
  //# sourceMappingURL=ProjectHarness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectHarness.js","sourceRoot":"","sources":["../../src/projection/ProjectHarness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectHarness.js","sourceRoot":"","sources":["../../src/projection/ProjectHarness.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Harness, Isolation } from '../settings/Settings.js';
1
+ import type { Harness, HarnessDefaultSettings, Isolation } from '../settings/Settings.js';
2
2
  export interface AgentLaunchPlan {
3
3
  readonly command: string;
4
4
  readonly args: readonly string[];
@@ -40,4 +40,6 @@ export interface ProjectionInput {
40
40
  readonly extensionLoadDirs?: readonly string[];
41
41
  /** Harness-native configuration directories, highest precedence first, overlaid into the root. */
42
42
  readonly configurationOverlayDirectories?: readonly string[];
43
+ /** Harness-native defaults from the merged Outfitter settings stack. */
44
+ readonly harnessDefaults?: HarnessDefaultSettings;
43
45
  }
@@ -1,3 +1,4 @@
1
+ import type { AgentDefaults } from '../settings/Settings.js';
1
2
  import type { EffectiveResourceSet } from './Resource.js';
2
3
  export interface ValidationFinding {
3
4
  readonly severity: 'error' | 'warning';
@@ -14,6 +15,12 @@ export interface ValidationFinding {
14
15
  */
15
16
  export interface ValidationOptions {
16
17
  readonly deferLoadoutResolution?: boolean;
18
+ /** Validate only these enabled workflow roots and their nested workflow closure. */
19
+ readonly workflowRoots?: readonly string[];
20
+ /** Settings-layer defaults composed into every agent during validation. */
21
+ readonly agentDefaults?: AgentDefaults;
22
+ /** Active repository root for `repo_file` prompt references during composition. */
23
+ readonly projectDirectory?: string;
17
24
  }
18
25
  /**
19
26
  * Collects validation findings across the effective set. `error` findings always fail validation;
@@ -6,10 +6,11 @@ import { agentLocalKinds, findResource, listAgentResources, listResources } from
6
6
  import { isWorkflowDefinitionIssue, readWorkflowDefinition } from './WorkflowDefinition.js';
7
7
  // Matches the composer's top-level unresolved-loadout warning wording (see `compose` in Composer.ts).
8
8
  // It is deliberately coupled to that message; `resolver-validation.test.ts` drives the real composer,
9
- // so a wording drift fails that test rather than silently disabling deferral.
10
- const isUnresolvedLoadoutReference = (message) => /^loadout (?:skills|subagents) references unknown (?:skill|agent) '/.test(message);
9
+ // so a wording drift fails that test rather than silently disabling deferral. Settings-layer
10
+ // defaults use the same wording with an `agent_defaults` prefix instead of `loadout`.
11
+ const isUnresolvedLoadoutReference = (message) => /^(?:loadout|agent_defaults) (?:skills|subagents) references unknown (?:skill|agent) '/.test(message);
11
12
  const compositionWarningSeverity = (message, options) => isUnresolvedLoadoutReference(message) && !options.deferLoadoutResolution ? 'error' : 'warning';
12
- const validateAgent = (set, agent, options, projectDirectory) => {
13
+ const validateAgent = (set, agent, options) => {
13
14
  const definition = readAgentDefinition(agent.winner.path, agent.configPaths);
14
15
  if (isAgentDefinitionIssue(definition)) {
15
16
  return [{ severity: 'error', resource: `agent:${agent.slug}`, message: definition.message }];
@@ -23,7 +24,10 @@ const validateAgent = (set, agent, options, projectDirectory) => {
23
24
  },
24
25
  ];
25
26
  }
26
- const composed = compose(set, agent.slug, { projectDirectory });
27
+ const composed = compose(set, agent.slug, {
28
+ projectDirectory: options.projectDirectory,
29
+ agentDefaults: options.agentDefaults,
30
+ });
27
31
  const compositionFindings = [
28
32
  ...composed.errors.map((message) => ({ severity: 'error', resource: `agent:${agent.slug}`, message })),
29
33
  ...composed.warnings.map((message) => ({
@@ -106,10 +110,25 @@ const workflowError = (slug, message) => ({
106
110
  resource: `workflow:${slug}`,
107
111
  message,
108
112
  });
109
- const workflowDefinitions = (set) => {
113
+ const findRequestedWorkflow = (set, slug, roots, findings) => {
114
+ const resource = findResource(set, 'workflow', slug);
115
+ if (resource === undefined && roots?.includes(slug) === true)
116
+ findings.push(workflowError(slug, 'enabled workflow is not resolvable.'));
117
+ return resource;
118
+ };
119
+ const workflowDefinitions = (set, roots) => {
110
120
  const definitions = new Map();
111
121
  const findings = [];
112
- for (const resource of listResources(set, 'workflow')) {
122
+ const pending = roots === undefined ? listResources(set, 'workflow').map((resource) => resource.slug) : [...roots];
123
+ const visited = new Set();
124
+ while (pending.length > 0) {
125
+ const slug = pending.shift();
126
+ if (visited.has(slug))
127
+ continue;
128
+ visited.add(slug);
129
+ const resource = findRequestedWorkflow(set, slug, roots, findings);
130
+ if (resource === undefined)
131
+ continue;
113
132
  const definition = readWorkflowDefinition(resource.winner.path);
114
133
  if (isWorkflowDefinitionIssue(definition)) {
115
134
  findings.push(workflowError(resource.slug, definition.message));
@@ -119,6 +138,9 @@ const workflowDefinitions = (set) => {
119
138
  }
120
139
  else {
121
140
  definitions.set(resource.slug, definition);
141
+ for (const node of definition.nodes)
142
+ if (node.workflow !== undefined)
143
+ pending.push(node.workflow);
122
144
  }
123
145
  }
124
146
  return { definitions, findings };
@@ -145,14 +167,17 @@ const selectedMcpFindings = (workflow, node, profile, selected) => (node.uses ??
145
167
  const hasAgentClosureAssertions = (workflow, node) => nodeSkills(node).length > 0 ||
146
168
  nodePrompts(node).length > 0 ||
147
169
  (node.uses ?? []).some((integrationId) => workflow.integrations?.[integrationId]?.kind === 'mcp');
148
- const validateWorkflowAgentNode = (set, workflow, node, projectDirectory) => {
170
+ const validateWorkflowAgentNode = (set, workflow, node, options) => {
149
171
  const actor = node.actor === undefined ? undefined : workflow.actors[node.actor];
150
172
  if (actor?.kind !== 'agent') {
151
173
  return hasAgentClosureAssertions(workflow, node)
152
174
  ? [workflowError(workflow.id, `node '${node.id}' has agent-closure assertions but no agent actor.`)]
153
175
  : [];
154
176
  }
155
- const composed = compose(set, actor.profile, { projectDirectory });
177
+ const composed = compose(set, actor.profile, {
178
+ projectDirectory: options.projectDirectory,
179
+ agentDefaults: options.agentDefaults,
180
+ });
156
181
  if (composed.plan === undefined) {
157
182
  return composed.errors.map((message) => workflowError(workflow.id, `node '${node.id}' agent '${actor.profile}': ${message}`));
158
183
  }
@@ -204,7 +229,7 @@ const validateWorkflowArtifacts = (workflow) => Object.entries(workflow.integrat
204
229
  findings.push(workflowError(workflow.id, `artifact integration '${id}' must declare repository and path.`));
205
230
  return findings;
206
231
  });
207
- const validateWorkflow = (set, workflow, definitions, projectDirectory) => {
232
+ const validateWorkflow = (set, workflow, definitions, options) => {
208
233
  const findings = [];
209
234
  const nodeIds = new Set();
210
235
  findings.push(...validateWorkflowActors(set, workflow));
@@ -215,7 +240,7 @@ const validateWorkflow = (set, workflow, definitions, projectDirectory) => {
215
240
  }
216
241
  for (const node of workflow.nodes) {
217
242
  findings.push(...validateWorkflowNodeReferences(workflow, node, nodeIds, definitions));
218
- findings.push(...validateWorkflowAgentNode(set, workflow, node, projectDirectory));
243
+ findings.push(...validateWorkflowAgentNode(set, workflow, node, options));
219
244
  }
220
245
  for (const edge of workflow.feedback ?? []) {
221
246
  if (!nodeIds.has(edge.from))
@@ -255,23 +280,30 @@ const workflowCycleFindings = (definitions) => {
255
280
  */
256
281
  export const validateEffectiveSet = (set, projectDirectory, options = {}) => {
257
282
  const findings = [];
283
+ const effectiveOptions = { ...options, projectDirectory };
258
284
  for (const agent of listResources(set, 'agent')) {
259
- findings.push(...validateAgent(set, agent, options, projectDirectory), ...reservedNamespaceFindings(agent));
285
+ findings.push(...validateAgent(set, agent, effectiveOptions), ...reservedNamespaceFindings(agent));
260
286
  }
261
287
  for (const skill of listResources(set, 'skill')) {
262
288
  findings.push(...validateSkill(skill));
263
289
  }
264
- const workflows = workflowDefinitions(set);
290
+ const workflows = workflowDefinitions(set, options.workflowRoots);
265
291
  findings.push(...workflows.findings);
266
292
  for (const workflow of workflows.definitions.values()) {
267
- findings.push(...validateWorkflow(set, workflow, workflows.definitions, projectDirectory));
293
+ findings.push(...validateWorkflow(set, workflow, workflows.definitions, effectiveOptions));
268
294
  }
269
295
  findings.push(...workflowCycleFindings(workflows.definitions));
270
296
  for (const [agentSlug] of set.agentResources) {
271
297
  findings.push(...validateAgentLocalResources(set, agentSlug));
272
298
  }
273
299
  for (const kind of ['agent', 'skill', 'knowledge', 'command', 'workflow']) {
274
- for (const resource of listResources(set, kind)) {
300
+ const resources = kind === 'workflow'
301
+ ? [...workflows.definitions.keys()].flatMap((slug) => {
302
+ const resource = findResource(set, 'workflow', slug);
303
+ return resource === undefined ? [] : [resource];
304
+ })
305
+ : listResources(set, kind);
306
+ for (const resource of resources) {
275
307
  findings.push(...shadowFindings(resource));
276
308
  }
277
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResolverValidation.js","sourceRoot":"","sources":["../../src/resolver/ResolverValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolverValidation.js","sourceRoot":"","sources":["../../src/resolver/ResolverValidation.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,12 @@
77
77
  "additionalProperties": false
78
78
  }
79
79
  },
80
+ "workflows": {
81
+ "type": "array",
82
+ "description": "Workflow root slugs explicitly enabled by this settings scope.",
83
+ "items": { "type": "string", "minLength": 1 },
84
+ "uniqueItems": true
85
+ },
80
86
  "remote_settings": {
81
87
  "type": "array",
82
88
  "items": {
@@ -97,7 +103,54 @@
97
103
  "custom_settings": {
98
104
  "type": "object",
99
105
  "description": "Arbitrary YAML-compatible values exposed to Outfitter composition templates as outfitter.custom_settings."
106
+ },
107
+ "agent_defaults": {
108
+ "type": "object",
109
+ "description": "Additive loadout entries composed into every agent before its own loadout, using the same deterministic ordering and stable de-duplication as inherited agent loadouts.",
110
+ "properties": {
111
+ "extensions": { "$ref": "#/$defs/slugList" },
112
+ "skills": { "$ref": "#/$defs/slugList" },
113
+ "mcp": { "$ref": "#/$defs/slugList" },
114
+ "plugins": { "$ref": "#/$defs/slugList" },
115
+ "subagents": { "$ref": "#/$defs/slugList" },
116
+ "append_system_prompt": {
117
+ "oneOf": [
118
+ { "$ref": "#/$defs/promptSource" },
119
+ { "type": "array", "items": { "$ref": "#/$defs/promptSource" } }
120
+ ]
121
+ }
122
+ },
123
+ "additionalProperties": false
124
+ },
125
+ "harness_defaults": {
126
+ "type": "object",
127
+ "description": "Harness-native settings applied to every composed agent and persistently reconciled by outfitter link.",
128
+ "properties": {
129
+ "pi": { "$ref": "#/$defs/nativeSettings" },
130
+ "claude": { "$ref": "#/$defs/nativeSettings" },
131
+ "codex": { "$ref": "#/$defs/nativeSettings" }
132
+ },
133
+ "additionalProperties": false
100
134
  }
101
135
  },
102
- "additionalProperties": true
136
+ "additionalProperties": true,
137
+ "$defs": {
138
+ "slugList": {
139
+ "type": "array",
140
+ "items": { "type": "string", "minLength": 1 }
141
+ },
142
+ "promptSource": {
143
+ "type": "object",
144
+ "oneOf": [{ "required": ["file"] }, { "required": ["repo_file"] }],
145
+ "properties": {
146
+ "file": { "type": "string", "minLength": 1 },
147
+ "repo_file": { "type": "string", "minLength": 1 }
148
+ },
149
+ "additionalProperties": false
150
+ },
151
+ "nativeSettings": {
152
+ "type": "object",
153
+ "description": "A harness-native settings document. Native keys are validated by the selected harness release."
154
+ }
155
+ }
103
156
  }
@@ -1,3 +1,4 @@
1
+ import type { PromptSourceReference } from '../composer/PromptSource.js';
1
2
  import type { RemoteSourceReference } from '../sources/SourceCache.js';
2
3
  export type RemoteSettingsReference = RemoteSourceReference & {
3
4
  readonly path: string;
@@ -6,9 +7,11 @@ export type SettingsValue = string | number | boolean | null | readonly Settings
6
7
  readonly [key: string]: SettingsValue;
7
8
  };
8
9
  export type CustomSettings = Readonly<Record<string, SettingsValue>>;
10
+ export type HarnessDefaultSettings = Readonly<Record<string, SettingsValue>>;
9
11
  /** Harnesses Outfitter can launch a composed agent in. */
10
12
  export declare const HARNESSES: readonly ["pi", "claude", "codex"];
11
13
  export type Harness = (typeof HARNESSES)[number];
14
+ export type HarnessDefaults = Readonly<Partial<Record<Harness, HarnessDefaultSettings>>>;
12
15
  /**
13
16
  * How much of the user's own harness configuration a run stands on. `inherit` layers the
14
17
  * composition over the machine's native configuration — trust, permissions, credentials, and the
@@ -52,6 +55,21 @@ export interface EnterpriseSettings {
52
55
  export interface TelemetrySettings {
53
56
  readonly enabled?: boolean;
54
57
  }
58
+ /**
59
+ * Additive loadout entries composed into every agent before its own loadout. Only the loadout
60
+ * fields with additive union semantics are supported; per-agent overrides like `model`, `thinking`,
61
+ * and `tools` stay agent-owned so an organization default can never silently pin a scalar.
62
+ */
63
+ export interface AgentDefaults {
64
+ readonly extensions?: readonly string[];
65
+ readonly skills?: readonly string[];
66
+ readonly mcp?: readonly string[];
67
+ readonly plugins?: readonly string[];
68
+ readonly subagents?: readonly string[];
69
+ readonly appendSystemPrompt?: readonly PromptSourceReference[];
70
+ }
71
+ /** True when no defaults field carries an entry, so the settings layer contributes nothing. */
72
+ export declare const isEmptyAgentDefaults: (defaults: AgentDefaults | undefined) => boolean;
55
73
  export interface SourceCacheSettings {
56
74
  readonly policy?: SourceCachePolicy;
57
75
  }
@@ -67,6 +85,8 @@ export interface Settings {
67
85
  */
68
86
  readonly isolation?: Isolation;
69
87
  readonly sources?: readonly SourceReference[];
88
+ /** Workflow root slugs this settings stack explicitly enables. */
89
+ readonly workflows?: readonly string[];
70
90
  readonly remoteSettings?: readonly RemoteSettingsReference[];
71
91
  readonly cacheDirectory?: string;
72
92
  readonly sourceCache?: SourceCacheSettings;
@@ -75,5 +95,9 @@ export interface Settings {
75
95
  readonly startup?: StartupSettings;
76
96
  readonly enterprise?: EnterpriseSettings;
77
97
  readonly telemetry?: TelemetrySettings;
98
+ /** Additive loadout entries composed into every agent before its own loadout. */
99
+ readonly agentDefaults?: AgentDefaults;
100
+ /** Native settings applied to every run of each harness and by `outfitter link`. */
101
+ readonly harnessDefaults?: HarnessDefaults;
78
102
  }
79
103
  export declare const emptySettings: () => Settings;
@@ -8,8 +8,23 @@ export const HARNESSES = ['pi', 'claude', 'codex'];
8
8
  */
9
9
  export const ISOLATIONS = ['inherit', 'isolated'];
10
10
  export const SOURCE_CACHE_POLICIES = ['repair', 'locked', 'offline'];
11
+ /** True when no defaults field carries an entry, so the settings layer contributes nothing. */
12
+ export const isEmptyAgentDefaults = (defaults) => {
13
+ if (defaults === undefined)
14
+ return true;
15
+ const fields = [
16
+ defaults.extensions,
17
+ defaults.skills,
18
+ defaults.mcp,
19
+ defaults.plugins,
20
+ defaults.subagents,
21
+ defaults.appendSystemPrompt,
22
+ ];
23
+ return fields.every((values) => values === undefined || values.length === 0);
24
+ };
11
25
  export const emptySettings = () => ({
12
26
  sources: [],
27
+ workflows: [],
13
28
  remoteSettings: [],
14
29
  });
15
30
  //# sourceMappingURL=Settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/settings/Settings.ts"],"names":[],"mappings":"AAQA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAM3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAmD9E,MAAM,CAAC,MAAM,aAAa,GAAG,GAAa,EAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/settings/Settings.ts"],"names":[],"mappings":"AAUA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAI5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAM3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAuC9E,+FAA+F;AAC/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAmC,EAAW,EAAE;IACnF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG;QACb,QAAQ,CAAC,UAAU;QACnB,QAAQ,CAAC,MAAM;QACf,QAAQ,CAAC,GAAG;QACZ,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,SAAS;QAClB,QAAQ,CAAC,kBAAkB;KAC5B,CAAC;IACF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAkCF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAa,EAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,EAAE;CACnB,CAAC,CAAC"}
@@ -126,6 +126,7 @@ const convertSettingsDocument = (document, settingsDirectory, scope) => ({
126
126
  defaultHarness: document.default_harness,
127
127
  isolation: isHomeScope(scope) ? document.isolation : undefined,
128
128
  sources: document.sources?.map((source) => convertSource(source, settingsDirectory)),
129
+ workflows: document.workflows,
129
130
  remoteSettings: document.remote_settings?.map(convertRemoteSettingsSource),
130
131
  cacheDirectory: document.cache_directory === undefined
131
132
  ? undefined
@@ -136,10 +137,27 @@ const convertSettingsDocument = (document, settingsDirectory, scope) => ({
136
137
  startup: convertStartupSettings(document.startup),
137
138
  enterprise: isHomeScope(scope) ? convertEnterpriseSettings(document.enterprise) : undefined,
138
139
  telemetry: convertTelemetrySettings(document.telemetry),
140
+ agentDefaults: convertAgentDefaults(document.agent_defaults),
141
+ harnessDefaults: document.harness_defaults,
139
142
  });
140
143
  const convertStartupSettings = (startup) => startup === undefined ? undefined : { asciiArt: startup.ascii_art };
141
144
  const convertEnterpriseSettings = (enterprise) => enterprise === undefined ? undefined : { privateCatalogs: enterprise.private_catalogs };
142
145
  const convertTelemetrySettings = (telemetry) => telemetry === undefined ? undefined : { enabled: telemetry.enabled };
146
+ const convertAgentDefaults = (defaults) => defaults === undefined
147
+ ? undefined
148
+ : {
149
+ extensions: defaults.extensions,
150
+ skills: defaults.skills,
151
+ mcp: defaults.mcp,
152
+ plugins: defaults.plugins,
153
+ subagents: defaults.subagents,
154
+ // The settings schema guarantees each entry is a `{file}` or `{repo_file}` source.
155
+ appendSystemPrompt: Array.isArray(defaults.append_system_prompt)
156
+ ? defaults.append_system_prompt
157
+ : defaults.append_system_prompt === undefined
158
+ ? undefined
159
+ : [defaults.append_system_prompt],
160
+ };
143
161
  const convertRemoteSettingsSource = (source) => {
144
162
  if (source.uri !== undefined) {
145
163
  return { uri: source.uri, ref: source.ref, path: source.path };