@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
|
@@ -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) =>
|
|
136
|
-
|
|
137
|
-
...
|
|
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 ?
|
|
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
|
-
|
|
184
|
-
|
|
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 {
|
|
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":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,CAAC,KAAsB,EAAa,EAAE,CACvE,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAE3E,0FAA0F;AAC1F,+FAA+F;AAC/F,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,gGAAgG;AAChG,2FAA2F;AAC3F,iGAAiG;AACjG,gEAAgE;AAChE,gGAAgG;AAChG,oGAAoG;AACpG,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAqB,EAAE;IACtE,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACtE,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1B,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,WAA4B,EAAqB,EAAE;IAC/E,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAChC,MAAM,OAAO,GAAa,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,gGAAgG;IAChG,iGAAiG;IACjG,gGAAgG;IAChG,6FAA6F;IAC7F,gGAAgG;IAChG,4DAA4D;IAC5D,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEvF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAA4B,EAAE,KAAsB,EAAqB,EAAE,CAC7G,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAErG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,IAA8C,EAAU,EAAE,CACjG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC;AAEpD,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,aAAqB,EAAE,KAAwB,EAAqB,EAAE;IAChH;oGACgG;IAChG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;IACpE,gGAAgG;IAChG,2EAA2E;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,YAAY,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,WAA4B,EAC5B,KAAsB,EACtB,gBAAwB,EACxB,iBAAoC,EACjB,EAAE,CAAC;IACtB,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC;IAC7C,gBAAgB;IAChB,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,KAAK,SAAS;QAC7E,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,KAAK,CAAC,aAAa,qBAAqB,CAAC;QACpE,CAAC,CAAC,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,WAA4B,EAAE,OAAgB,EAAqB,EAAE,CACxF,WAAW,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;IACxC,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEnF,kGAAkG;AAClG,6DAA6D;AAC7D,MAAM,oBAAoB,GAAG,CAC3B,KAAsB,EACtB,YAA+B,EAC/B,KAAqB,EACJ,EAAE,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO;IAChB,sFAAsF;IACtF,IAAI,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IACxE,GAAG,EAAE,KAAK,CAAC,GAAG;CACf,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,aAAqB,EAAE,SAAoB,EAAqB,EAAE,CAAC;IACxF,cAAc;IACd,aAAa;IACb,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,aAAqB,EAAE,SAAoB,EAAqB,EAAE,CAC1F,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAElE,MAAM,UAAU,GAAG,CAAC,aAAqB,EAAE,SAAoB,EAAqB,EAAE,CAAC;IACrF,GAAG,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC;IAC7C,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC;CAC7D,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,aAAqB,EAAE,SAAoB,EAAoC,EAAE,CAClG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAEvE;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,WAA4B,EAAE,KAAsB,EAAQ,EAAE;IACzF,IAAI,0BAA0B,CAAC,KAAK,CAAC,KAAK,SAAS;QAAE,OAAO;IAC5D,yBAAyB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/G,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,WAA4B,EAC5B,KAAsB,EACtB,YAAqC,EACrC,iBAAoC,EACpC,KAAqB,EACJ,EAAE;IACnB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;IACpC,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzG,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;QAC/B,IAAI,EAAE;YACJ,wFAAwF;YACxF,4FAA4F;YAC5F,qFAAqF;YACrF,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtG,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;YACnF,GAAG,SAAS;YACZ,GAAG,aAAa;YAChB,GAAG,KAAK,CAAC,IAAI;YACb,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;SACjC;QACD,8FAA8F;QAC9F,4FAA4F;QAC5F,iGAAiG;QACjG,GAAG,EAAE,IAAI;YACP,CAAC,CAAC;gBACE,mBAAmB,EAAE,KAAK,CAAC,aAAa;gBACxC,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBACvG,GAAG,KAAK,CAAC,GAAG;aACb;YACH,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE;KACnE,CAAC;AACJ,CAAC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAA4B,EAAE,KAAsB,EAAuB,EAAE;IAC9G,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,gCAAgC,CAAC,KAAK,CAAC,+BAA+B,IAAI,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACnG,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IACD,gGAAgG;IAChG,kGAAkG;IAClG,oGAAoG;IACpG,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE7F,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG;QAClB,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC;QAC1C,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,qBAAqB,CAAC;QAC/E,GAAG,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,uBAAuB,CAAC;KACxF,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG;YACf,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM;gBACjC,CAAC,CAAC,CAAC,wFAAwF,CAAC;gBAC5F,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,QAAQ,CAAC,QAAQ;YACpB,GAAG,cAAc,CAAC,QAAQ;SAC3B,CAAC;QACF,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAC/E,CAAC;IAED,mGAAmG;IACnG,MAAM,MAAM,GAAG,yBAAyB,CACtC,WAAW,EACX,KAAK,EACL,YAAY,EACZ,CAAC,GAAG,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,EACvE,cAAc,CACf,CAAC;IAEF,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;AACxG,CAAC,CAAC"}
|
|
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';
|
|
@@ -16,6 +17,10 @@ export interface ValidationOptions {
|
|
|
16
17
|
readonly deferLoadoutResolution?: boolean;
|
|
17
18
|
/** Validate only these enabled workflow roots and their nested workflow closure. */
|
|
18
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;
|
|
19
24
|
}
|
|
20
25
|
/**
|
|
21
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
|
-
|
|
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
|
|
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, {
|
|
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) => ({
|
|
@@ -163,14 +167,17 @@ const selectedMcpFindings = (workflow, node, profile, selected) => (node.uses ??
|
|
|
163
167
|
const hasAgentClosureAssertions = (workflow, node) => nodeSkills(node).length > 0 ||
|
|
164
168
|
nodePrompts(node).length > 0 ||
|
|
165
169
|
(node.uses ?? []).some((integrationId) => workflow.integrations?.[integrationId]?.kind === 'mcp');
|
|
166
|
-
const validateWorkflowAgentNode = (set, workflow, node,
|
|
170
|
+
const validateWorkflowAgentNode = (set, workflow, node, options) => {
|
|
167
171
|
const actor = node.actor === undefined ? undefined : workflow.actors[node.actor];
|
|
168
172
|
if (actor?.kind !== 'agent') {
|
|
169
173
|
return hasAgentClosureAssertions(workflow, node)
|
|
170
174
|
? [workflowError(workflow.id, `node '${node.id}' has agent-closure assertions but no agent actor.`)]
|
|
171
175
|
: [];
|
|
172
176
|
}
|
|
173
|
-
const composed = compose(set, actor.profile, {
|
|
177
|
+
const composed = compose(set, actor.profile, {
|
|
178
|
+
projectDirectory: options.projectDirectory,
|
|
179
|
+
agentDefaults: options.agentDefaults,
|
|
180
|
+
});
|
|
174
181
|
if (composed.plan === undefined) {
|
|
175
182
|
return composed.errors.map((message) => workflowError(workflow.id, `node '${node.id}' agent '${actor.profile}': ${message}`));
|
|
176
183
|
}
|
|
@@ -210,6 +217,32 @@ const validateWorkflowNodeReferences = (workflow, node, nodeIds, definitions) =>
|
|
|
210
217
|
...optionalReferenceFinding(workflow.id, node.id, 'workflow', node.workflow, (nested) => definitions.has(nested)),
|
|
211
218
|
];
|
|
212
219
|
};
|
|
220
|
+
const missingNestedOutputFinding = (workflow, workflowSlug, name, outputName, definitions) => {
|
|
221
|
+
const nested = definitions.get(workflowSlug);
|
|
222
|
+
return nested !== undefined && !Object.hasOwn(nested.outputs ?? {}, outputName)
|
|
223
|
+
? [
|
|
224
|
+
workflowError(workflow.id, `output '${name}' references unknown output '${outputName}' on workflow '${workflowSlug}'.`),
|
|
225
|
+
]
|
|
226
|
+
: [];
|
|
227
|
+
};
|
|
228
|
+
const validateWorkflowOutput = (workflow, definitions, name, output) => {
|
|
229
|
+
const node = workflow.nodes.find((candidate) => candidate.id === output.from);
|
|
230
|
+
if (node === undefined)
|
|
231
|
+
return [workflowError(workflow.id, `output '${name}' references unknown node '${output.from}'.`)];
|
|
232
|
+
if (output.type !== undefined) {
|
|
233
|
+
return node.action !== undefined
|
|
234
|
+
? []
|
|
235
|
+
: [
|
|
236
|
+
workflowError(workflow.id, `output '${name}' uses type with workflow node '${output.from}'; nested workflow outputs must use output.`),
|
|
237
|
+
];
|
|
238
|
+
}
|
|
239
|
+
if (node.workflow === undefined)
|
|
240
|
+
return [
|
|
241
|
+
workflowError(workflow.id, `output '${name}' maps output from action node '${output.from}'; action outputs must use type.`),
|
|
242
|
+
];
|
|
243
|
+
return missingNestedOutputFinding(workflow, node.workflow, name, output.output, definitions);
|
|
244
|
+
};
|
|
245
|
+
const validateWorkflowOutputs = (workflow, definitions) => Object.entries(workflow.outputs ?? {}).flatMap(([name, output]) => validateWorkflowOutput(workflow, definitions, name, output));
|
|
213
246
|
const validateWorkflowArtifacts = (workflow) => Object.entries(workflow.integrations ?? {}).flatMap(([id, artifact]) => {
|
|
214
247
|
if (artifact.kind !== 'artifact')
|
|
215
248
|
return [];
|
|
@@ -222,7 +255,7 @@ const validateWorkflowArtifacts = (workflow) => Object.entries(workflow.integrat
|
|
|
222
255
|
findings.push(workflowError(workflow.id, `artifact integration '${id}' must declare repository and path.`));
|
|
223
256
|
return findings;
|
|
224
257
|
});
|
|
225
|
-
const validateWorkflow = (set, workflow, definitions,
|
|
258
|
+
const validateWorkflow = (set, workflow, definitions, options) => {
|
|
226
259
|
const findings = [];
|
|
227
260
|
const nodeIds = new Set();
|
|
228
261
|
findings.push(...validateWorkflowActors(set, workflow));
|
|
@@ -233,8 +266,9 @@ const validateWorkflow = (set, workflow, definitions, projectDirectory) => {
|
|
|
233
266
|
}
|
|
234
267
|
for (const node of workflow.nodes) {
|
|
235
268
|
findings.push(...validateWorkflowNodeReferences(workflow, node, nodeIds, definitions));
|
|
236
|
-
findings.push(...validateWorkflowAgentNode(set, workflow, node,
|
|
269
|
+
findings.push(...validateWorkflowAgentNode(set, workflow, node, options));
|
|
237
270
|
}
|
|
271
|
+
findings.push(...validateWorkflowOutputs(workflow, definitions));
|
|
238
272
|
for (const edge of workflow.feedback ?? []) {
|
|
239
273
|
if (!nodeIds.has(edge.from))
|
|
240
274
|
findings.push(workflowError(workflow.id, `feedback references unknown source node '${edge.from}'.`));
|
|
@@ -273,8 +307,9 @@ const workflowCycleFindings = (definitions) => {
|
|
|
273
307
|
*/
|
|
274
308
|
export const validateEffectiveSet = (set, projectDirectory, options = {}) => {
|
|
275
309
|
const findings = [];
|
|
310
|
+
const effectiveOptions = { ...options, projectDirectory };
|
|
276
311
|
for (const agent of listResources(set, 'agent')) {
|
|
277
|
-
findings.push(...validateAgent(set, agent,
|
|
312
|
+
findings.push(...validateAgent(set, agent, effectiveOptions), ...reservedNamespaceFindings(agent));
|
|
278
313
|
}
|
|
279
314
|
for (const skill of listResources(set, 'skill')) {
|
|
280
315
|
findings.push(...validateSkill(skill));
|
|
@@ -282,7 +317,7 @@ export const validateEffectiveSet = (set, projectDirectory, options = {}) => {
|
|
|
282
317
|
const workflows = workflowDefinitions(set, options.workflowRoots);
|
|
283
318
|
findings.push(...workflows.findings);
|
|
284
319
|
for (const workflow of workflows.definitions.values()) {
|
|
285
|
-
findings.push(...validateWorkflow(set, workflow, workflows.definitions,
|
|
320
|
+
findings.push(...validateWorkflow(set, workflow, workflows.definitions, effectiveOptions));
|
|
286
321
|
}
|
|
287
322
|
findings.push(...workflowCycleFindings(workflows.definitions));
|
|
288
323
|
for (const [agentSlug] of set.agentResources) {
|
|
@@ -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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"}
|
|
@@ -31,6 +31,15 @@ export interface WorkflowNode {
|
|
|
31
31
|
readonly uses?: readonly string[];
|
|
32
32
|
readonly if?: string;
|
|
33
33
|
}
|
|
34
|
+
export type WorkflowOutput = {
|
|
35
|
+
readonly from: string;
|
|
36
|
+
readonly type: string;
|
|
37
|
+
readonly output?: never;
|
|
38
|
+
} | {
|
|
39
|
+
readonly from: string;
|
|
40
|
+
readonly output: string;
|
|
41
|
+
readonly type?: never;
|
|
42
|
+
};
|
|
34
43
|
export interface WorkflowDefinition {
|
|
35
44
|
readonly version: 1;
|
|
36
45
|
readonly id: string;
|
|
@@ -42,6 +51,7 @@ export interface WorkflowDefinition {
|
|
|
42
51
|
readonly integrations?: Readonly<Record<string, WorkflowIntegration>>;
|
|
43
52
|
readonly checks?: Readonly<Record<string, unknown>>;
|
|
44
53
|
readonly triggers?: readonly Readonly<Record<string, unknown>>[];
|
|
54
|
+
readonly outputs?: Readonly<Record<string, WorkflowOutput>>;
|
|
45
55
|
readonly nodes: readonly WorkflowNode[];
|
|
46
56
|
readonly feedback?: readonly {
|
|
47
57
|
readonly from: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowDefinition.js","sourceRoot":"","sources":["../../src/resolver/WorkflowDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowDefinition.js","sourceRoot":"","sources":["../../src/resolver/WorkflowDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAyDlE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAmD,EACjB,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAgD,EAAE;IACnG,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kCAAkC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,oCAAoC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IAErG,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3F,CAAC;IAED,OAAO,MAAM,CAAC,QAA8B,CAAC;AAC/C,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { WorkflowDefinition } from './WorkflowDefinition.js';
|
|
2
|
+
export interface ResolvedWorkflowOutput {
|
|
3
|
+
readonly from: string;
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly output?: string;
|
|
6
|
+
}
|
|
7
|
+
export type ResolvedWorkflowOutputs = Readonly<Record<string, ResolvedWorkflowOutput>>;
|
|
8
|
+
/** Resolves and name-sorts the valid output declarations of one workflow without mutating inputs. */
|
|
9
|
+
export declare const resolveWorkflowOutputs: (definition: WorkflowDefinition, definitions: ReadonlyMap<string, WorkflowDefinition>) => ResolvedWorkflowOutputs;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const resolvedActionType = (definition, output) => {
|
|
2
|
+
const node = definition.nodes.find((candidate) => candidate.id === output.from);
|
|
3
|
+
return node?.action === undefined ? undefined : output.type;
|
|
4
|
+
};
|
|
5
|
+
const resolvedMappedType = (workflowSlug, outputName, definitions, visited) => {
|
|
6
|
+
if (workflowSlug === undefined)
|
|
7
|
+
return undefined;
|
|
8
|
+
const nested = definitions.get(workflowSlug);
|
|
9
|
+
if (nested === undefined)
|
|
10
|
+
return undefined;
|
|
11
|
+
const nestedOutputs = nested.outputs ?? {};
|
|
12
|
+
if (!Object.hasOwn(nestedOutputs, outputName))
|
|
13
|
+
return undefined;
|
|
14
|
+
const nestedOutput = nestedOutputs[outputName];
|
|
15
|
+
const key = `${nested.id}\u0000${outputName}`;
|
|
16
|
+
if (visited.has(key))
|
|
17
|
+
return undefined;
|
|
18
|
+
return resolvedType(nested, nestedOutput, definitions, new Set([...visited, key]));
|
|
19
|
+
};
|
|
20
|
+
const resolvedType = (definition, output, definitions, visited) => {
|
|
21
|
+
if (output.type !== undefined)
|
|
22
|
+
return resolvedActionType(definition, output);
|
|
23
|
+
const workflowSlug = definition.nodes.find((candidate) => candidate.id === output.from)?.workflow;
|
|
24
|
+
return resolvedMappedType(workflowSlug, output.output, definitions, visited);
|
|
25
|
+
};
|
|
26
|
+
/** Resolves and name-sorts the valid output declarations of one workflow without mutating inputs. */
|
|
27
|
+
export const resolveWorkflowOutputs = (definition, definitions) => {
|
|
28
|
+
const resolved = Object.create(null);
|
|
29
|
+
const outputs = definition.outputs ?? {};
|
|
30
|
+
for (const name of Object.keys(outputs).sort()) {
|
|
31
|
+
const output = outputs[name];
|
|
32
|
+
const type = resolvedType(definition, output, definitions, new Set([`${definition.id}\u0000${name}`]));
|
|
33
|
+
if (type === undefined)
|
|
34
|
+
continue;
|
|
35
|
+
resolved[name] =
|
|
36
|
+
output.output === undefined ? { from: output.from, type } : { from: output.from, type, output: output.output };
|
|
37
|
+
}
|
|
38
|
+
return { ...resolved };
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=WorkflowOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowOutput.js","sourceRoot":"","sources":["../../src/resolver/WorkflowOutput.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,7 +103,54 @@
|
|
|
103
103
|
"custom_settings": {
|
|
104
104
|
"type": "object",
|
|
105
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
|
|
106
134
|
}
|
|
107
135
|
},
|
|
108
|
-
"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
|
+
}
|
|
109
156
|
}
|
|
@@ -50,6 +50,32 @@
|
|
|
50
50
|
"checks": { "type": "object" },
|
|
51
51
|
"triggers": { "type": "array", "items": { "type": "object" } },
|
|
52
52
|
"feedback": { "type": "array", "items": { "type": "object", "required": ["from", "to"] } },
|
|
53
|
+
"outputs": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"propertyNames": { "pattern": "^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$" },
|
|
56
|
+
"additionalProperties": {
|
|
57
|
+
"oneOf": [
|
|
58
|
+
{
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"required": ["from", "type"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"from": { "type": "string" },
|
|
64
|
+
"type": { "type": "string", "pattern": "^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$" }
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"type": "object",
|
|
69
|
+
"additionalProperties": false,
|
|
70
|
+
"required": ["from", "output"],
|
|
71
|
+
"properties": {
|
|
72
|
+
"from": { "type": "string" },
|
|
73
|
+
"output": { "type": "string" }
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
},
|
|
53
79
|
"nodes": {
|
|
54
80
|
"type": "array",
|
|
55
81
|
"minItems": 1,
|