@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.
- package/README.md +4 -1
- package/code/pi-extension/src/outfitter-extension.js +2 -2
- package/dist/cli/OutfitterCli.js +2 -0
- package/dist/cli/OutfitterCli.js.map +1 -1
- package/dist/cli/commands/DumpCommand.js +17 -4
- 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.js +8 -2
- package/dist/cli/commands/ListCommand.js.map +1 -1
- package/dist/cli/commands/RunAgentCommand.js +6 -1
- package/dist/cli/commands/RunAgentCommand.js.map +1 -1
- package/dist/cli/commands/ValidateCommand.js +5 -2
- 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 +4 -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 +7 -0
- package/dist/resolver/ResolverValidation.js +46 -14
- package/dist/resolver/ResolverValidation.js.map +1 -1
- package/dist/schemas/settings.schema.json +54 -1
- package/dist/settings/Settings.d.ts +24 -0
- package/dist/settings/Settings.js +15 -0
- package/dist/settings/Settings.js.map +1 -1
- package/dist/settings/SettingsLoader.js +18 -0
- package/dist/settings/SettingsLoader.js.map +1 -1
- package/dist/settings/SettingsMerger.js +43 -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.js +34 -12
- 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/cli.md +35 -1
- package/docs/documentation/conventions.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 +75 -4
- 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 +54 -1
- package/docs/documentation/porting-claude.md +0 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsLoader.js","sourceRoot":"","sources":["../../src/settings/SettingsLoader.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAE5G,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsLoader.js","sourceRoot":"","sources":["../../src/settings/SettingsLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,41 @@
|
|
|
1
1
|
/* eslint-disable complexity */
|
|
2
2
|
// Provides deterministic Settings merge scaffolding.
|
|
3
3
|
import { mergeObjectsWithPolicy } from '../merge/SettingsValueMerger.js';
|
|
4
|
+
import { promptSourceKey } from '../composer/PromptSource.js';
|
|
4
5
|
import { emptySettings } from './Settings.js';
|
|
6
|
+
/** Folds one additive defaults list across the stack, collapsing duplicates to their first occurrence. */
|
|
7
|
+
const mergeDefaultsList = (lower, higher, key) => {
|
|
8
|
+
if (lower === undefined && higher === undefined)
|
|
9
|
+
return undefined;
|
|
10
|
+
const merged = [];
|
|
11
|
+
const seen = new Set();
|
|
12
|
+
for (const entry of [...(lower ?? []), ...(higher ?? [])]) {
|
|
13
|
+
const entryKey = key(entry);
|
|
14
|
+
if (!seen.has(entryKey)) {
|
|
15
|
+
seen.add(entryKey);
|
|
16
|
+
merged.push(entry);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return merged;
|
|
20
|
+
};
|
|
21
|
+
const mergeAgentDefaults = (lower, higher) => {
|
|
22
|
+
if (lower === undefined && higher === undefined)
|
|
23
|
+
return undefined;
|
|
24
|
+
return {
|
|
25
|
+
extensions: mergeDefaultsList(lower?.extensions, higher?.extensions, (entry) => entry),
|
|
26
|
+
skills: mergeDefaultsList(lower?.skills, higher?.skills, (entry) => entry),
|
|
27
|
+
mcp: mergeDefaultsList(lower?.mcp, higher?.mcp, (entry) => entry),
|
|
28
|
+
plugins: mergeDefaultsList(lower?.plugins, higher?.plugins, (entry) => entry),
|
|
29
|
+
subagents: mergeDefaultsList(lower?.subagents, higher?.subagents, (entry) => entry),
|
|
30
|
+
appendSystemPrompt: mergeDefaultsList(lower?.appendSystemPrompt, higher?.appendSystemPrompt, promptSourceKey),
|
|
31
|
+
};
|
|
32
|
+
};
|
|
5
33
|
export const mergeSettingsStack = (settingsStack) => {
|
|
6
34
|
let defaultAgent;
|
|
7
35
|
let defaultHarness;
|
|
8
36
|
let isolation;
|
|
9
37
|
let sources;
|
|
38
|
+
const workflows = [];
|
|
10
39
|
let remoteSettings;
|
|
11
40
|
let cacheDirectory;
|
|
12
41
|
let sourceCache;
|
|
@@ -15,11 +44,17 @@ export const mergeSettingsStack = (settingsStack) => {
|
|
|
15
44
|
let startup;
|
|
16
45
|
let enterprise;
|
|
17
46
|
let telemetry;
|
|
47
|
+
let agentDefaults;
|
|
48
|
+
let harnessDefaults;
|
|
18
49
|
for (const settings of settingsStack) {
|
|
19
50
|
defaultAgent = settings.defaultAgent ?? defaultAgent;
|
|
20
51
|
defaultHarness = settings.defaultHarness ?? defaultHarness;
|
|
21
52
|
isolation = settings.isolation ?? isolation;
|
|
22
53
|
sources = settings.sources ?? sources;
|
|
54
|
+
for (const workflow of settings.workflows ?? []) {
|
|
55
|
+
if (!workflows.includes(workflow))
|
|
56
|
+
workflows.push(workflow);
|
|
57
|
+
}
|
|
23
58
|
remoteSettings = settings.remoteSettings ?? remoteSettings;
|
|
24
59
|
cacheDirectory = settings.cacheDirectory ?? cacheDirectory;
|
|
25
60
|
sourceCache = settings.sourceCache === undefined ? sourceCache : { ...sourceCache, ...settings.sourceCache };
|
|
@@ -31,6 +66,11 @@ export const mergeSettingsStack = (settingsStack) => {
|
|
|
31
66
|
startup = settings.startup === undefined ? startup : { ...startup, ...settings.startup };
|
|
32
67
|
enterprise = settings.enterprise === undefined ? enterprise : { ...enterprise, ...settings.enterprise };
|
|
33
68
|
telemetry = settings.telemetry === undefined ? telemetry : { ...telemetry, ...settings.telemetry };
|
|
69
|
+
agentDefaults = mergeAgentDefaults(agentDefaults, settings.agentDefaults);
|
|
70
|
+
harnessDefaults =
|
|
71
|
+
settings.harnessDefaults === undefined
|
|
72
|
+
? harnessDefaults
|
|
73
|
+
: mergeObjectsWithPolicy(harnessDefaults, settings.harnessDefaults);
|
|
34
74
|
}
|
|
35
75
|
return {
|
|
36
76
|
...emptySettings(),
|
|
@@ -38,6 +78,7 @@ export const mergeSettingsStack = (settingsStack) => {
|
|
|
38
78
|
defaultHarness,
|
|
39
79
|
isolation,
|
|
40
80
|
sources: sources ?? [],
|
|
81
|
+
workflows,
|
|
41
82
|
remoteSettings: remoteSettings ?? [],
|
|
42
83
|
cacheDirectory,
|
|
43
84
|
sourceCache: sourceCache ?? {},
|
|
@@ -46,6 +87,8 @@ export const mergeSettingsStack = (settingsStack) => {
|
|
|
46
87
|
startup: startup ?? {},
|
|
47
88
|
enterprise: enterprise ?? {},
|
|
48
89
|
telemetry: telemetry ?? {},
|
|
90
|
+
agentDefaults,
|
|
91
|
+
harnessDefaults,
|
|
49
92
|
};
|
|
50
93
|
};
|
|
51
94
|
const mergeOptionalCustomSettings = (lowerPrecedence, higherPrecedence) => higherPrecedence === undefined ? lowerPrecedence : mergeCustomSettings(lowerPrecedence, higherPrecedence);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsMerger.js","sourceRoot":"","sources":["../../src/settings/SettingsMerger.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,qDAAqD;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsMerger.js","sourceRoot":"","sources":["../../src/settings/SettingsMerger.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,11 @@ import type { RemoteSourceReference } from '../sources/SourceCache.js';
|
|
|
3
3
|
/** Fetches one repository into the cache. Injectable so tests exercise bootstrap hermetically. */
|
|
4
4
|
export type RepositorySync = typeof syncRemoteRepositoryAtomically;
|
|
5
5
|
export declare const defaultCatalogSource: {
|
|
6
|
-
readonly github: "ai-outfitter/
|
|
7
|
-
readonly ref: "v1.
|
|
6
|
+
readonly github: "ai-outfitter/community-profiles";
|
|
7
|
+
readonly ref: "v1.7.0";
|
|
8
8
|
};
|
|
9
|
+
/** Superseded default catalogs; setup replaces their pins instead of keeping them alongside. */
|
|
10
|
+
export declare const retiredDefaultCatalogSources: readonly ["ai-outfitter/default-profiles"];
|
|
9
11
|
export interface PinnedCatalogBootstrapInput {
|
|
10
12
|
readonly homeDirectory: string;
|
|
11
13
|
readonly cacheDirectory?: string;
|
|
@@ -6,11 +6,13 @@ import { createRemoteRepositoryCachePath, encodeRemoteSourceSelection, formatRem
|
|
|
6
6
|
import { readDeclaredRemoteSources } from '../sources/TransitiveSources.js';
|
|
7
7
|
import { writeSourceState } from '../sources/SourceState.js';
|
|
8
8
|
export const defaultCatalogSource = {
|
|
9
|
-
github: 'ai-outfitter/
|
|
10
|
-
// TODO(release-automation): when
|
|
9
|
+
github: 'ai-outfitter/community-profiles',
|
|
10
|
+
// TODO(release-automation): when community-profiles publishes a new Release Please tag, open a
|
|
11
11
|
// conventional dependency-bump commit in Outfitter so its next Release Please release ships it.
|
|
12
|
-
ref: 'v1.
|
|
12
|
+
ref: 'v1.7.0',
|
|
13
13
|
};
|
|
14
|
+
/** Superseded default catalogs; setup replaces their pins instead of keeping them alongside. */
|
|
15
|
+
export const retiredDefaultCatalogSources = ['ai-outfitter/default-profiles'];
|
|
14
16
|
// A recognized payload marker must be a real directory, not merely a path that exists: a repository
|
|
15
17
|
// committing a regular file named `agents` is not a catalog and must not validate as one.
|
|
16
18
|
const isDirectory = (path) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultCatalog.js","sourceRoot":"","sources":["../../src/setup/DefaultCatalog.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACvG,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAK7D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,+
|
|
1
|
+
{"version":3,"file":"DefaultCatalog.js","sourceRoot":"","sources":["../../src/setup/DefaultCatalog.ts"],"names":[],"mappings":"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"}
|
package/dist/setup/Setup.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
5
5
|
import { HARNESSES } from '../settings/Settings.js';
|
|
6
|
-
import { defaultCatalogSource } from './DefaultCatalog.js';
|
|
6
|
+
import { defaultCatalogSource, retiredDefaultCatalogSources } from './DefaultCatalog.js';
|
|
7
7
|
export const setupNextStepMessage = "Run 'outfitter sync', then run 'outfitter' again. Pseudonymous usage analytics are on by default; turn them off with telemetry.enabled: false in ~/.agents/settings.yml.";
|
|
8
8
|
const telemetrySettingsHint = [
|
|
9
9
|
'# Pseudonymous product analytics. Set enabled: false to opt out.',
|
|
@@ -57,6 +57,8 @@ const discoverAgentsInCatalog = (root) => {
|
|
|
57
57
|
if (!statSync(agentPath).isFile())
|
|
58
58
|
return [];
|
|
59
59
|
const content = readFileSync(agentPath, 'utf8');
|
|
60
|
+
if (readFrontmatterValue(content, 'abstract') === 'true')
|
|
61
|
+
return [];
|
|
60
62
|
const id = sanitizeAgentSlug(readFrontmatterValue(content, 'name') ?? entry);
|
|
61
63
|
if (id !== entry || !agentSlugPattern.test(id))
|
|
62
64
|
return [];
|
|
@@ -73,9 +75,9 @@ const discoverAgentsInCatalog = (root) => {
|
|
|
73
75
|
}
|
|
74
76
|
});
|
|
75
77
|
return choices.sort((left, right) => {
|
|
76
|
-
if (left.id === '
|
|
78
|
+
if (left.id === 'engineer')
|
|
77
79
|
return -1;
|
|
78
|
-
if (right.id === '
|
|
80
|
+
if (right.id === 'engineer')
|
|
79
81
|
return 1;
|
|
80
82
|
return left.id.localeCompare(right.id);
|
|
81
83
|
});
|
|
@@ -101,19 +103,39 @@ const upsertDefaultCatalogSource = (content) => {
|
|
|
101
103
|
}
|
|
102
104
|
const lines = content.replace(/\s*$/u, '').split('\n');
|
|
103
105
|
const start = lines.findIndex((line) => /^sources:\s*$/u.test(line));
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
const sourcesEnd = () => {
|
|
107
|
+
let boundary = start + 1;
|
|
108
|
+
while (boundary < lines.length && (/^\s/u.test(lines[boundary] ?? '') || (lines[boundary] ?? '') === ''))
|
|
109
|
+
boundary += 1;
|
|
110
|
+
return boundary;
|
|
111
|
+
};
|
|
112
|
+
const indexOfSource = (github) => {
|
|
113
|
+
const boundary = sourcesEnd();
|
|
114
|
+
return lines.findIndex((line, index) => {
|
|
115
|
+
if (index <= start || index >= boundary)
|
|
116
|
+
return false;
|
|
117
|
+
const match = /^\s*-\s+github:\s*(.+?)\s*$/u.exec(line);
|
|
118
|
+
return match?.[1]?.replace(/^['"]|['"]$/gu, '') === github;
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
// Every retired pin leaves, even when the current source is already present;
|
|
122
|
+
// the first retired pin found donates its position when it is not.
|
|
123
|
+
for (const retiredName of retiredDefaultCatalogSources) {
|
|
124
|
+
for (let retired = indexOfSource(retiredName); retired !== -1; retired = indexOfSource(retiredName)) {
|
|
125
|
+
let retiredEnd = retired + 1;
|
|
126
|
+
const boundary = sourcesEnd();
|
|
127
|
+
while (retiredEnd < boundary && !/^\s*-\s+/u.test(lines[retiredEnd] ?? ''))
|
|
128
|
+
retiredEnd += 1;
|
|
129
|
+
const replacement = indexOfSource(defaultCatalogSource.github) === -1 ? sourceLines : [];
|
|
130
|
+
lines.splice(retired, retiredEnd - retired, ...replacement);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const existing = indexOfSource(defaultCatalogSource.github);
|
|
113
134
|
if (existing === -1) {
|
|
114
135
|
lines.splice(start + 1, 0, ...sourceLines);
|
|
115
136
|
return `${lines.join('\n')}\n`;
|
|
116
137
|
}
|
|
138
|
+
const end = sourcesEnd();
|
|
117
139
|
let blockEnd = existing + 1;
|
|
118
140
|
while (blockEnd < end && !/^\s*-\s+/u.test(lines[blockEnd] ?? ''))
|
|
119
141
|
blockEnd += 1;
|
package/dist/setup/Setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../src/setup/Setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../src/setup/Setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface NodeVersionCheck {
|
|
2
|
+
readonly required: string;
|
|
3
|
+
readonly current: string;
|
|
4
|
+
readonly satisfied: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const readRequiredNodeRange: () => string;
|
|
7
|
+
export declare const checkNodeVersion: (current: string, required: string) => NodeVersionCheck;
|
|
8
|
+
export declare const formatNodeVersionError: (check: NodeVersionCheck) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Prints the upgrade message and returns false when the running Node is below the
|
|
11
|
+
* published floor. Callers must not import or spawn pi before this returns true.
|
|
12
|
+
*/
|
|
13
|
+
export declare const enforceNodeVersion: (current?: string, required?: string, writeError?: (message: string) => void) => boolean;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Refuses to run on a Node release below the published `engines.node` floor.
|
|
2
|
+
//
|
|
3
|
+
// npm treats an engines mismatch as a warning, so `npm install -g` and `npx` succeed on
|
|
4
|
+
// old Node. Outfitter's own commands then work, and the process only crashes deep inside
|
|
5
|
+
// the bundled pi once `run` or `setup` spawns it (issue #368). This guard turns that stack
|
|
6
|
+
// trace into a one-line message before any command, including the telemetry notice, runs.
|
|
7
|
+
import { readFileSync } from 'node:fs';
|
|
8
|
+
// Always yields three parts so comparisons never index past the end.
|
|
9
|
+
const parseVersion = (version) => {
|
|
10
|
+
const [major = 0, minor = 0, patch = 0] = version
|
|
11
|
+
.replace(/^v/u, '')
|
|
12
|
+
.split('.')
|
|
13
|
+
.map((part) => Number.parseInt(part, 10) || 0);
|
|
14
|
+
return [major, minor, patch];
|
|
15
|
+
};
|
|
16
|
+
// `engines.node` is required by OFTR-001.1 to be an unbounded `>=x.y.z` range, so only
|
|
17
|
+
// that shape is supported. Anything else is treated as satisfied rather than blocking.
|
|
18
|
+
const parseMinimum = (range) => {
|
|
19
|
+
const match = /^>=\s*v?(\d+\.\d+\.\d+)$/u.exec(range.trim());
|
|
20
|
+
return match === null ? undefined : parseVersion(match[1]);
|
|
21
|
+
};
|
|
22
|
+
export const readRequiredNodeRange = () => {
|
|
23
|
+
const packageJsonPath = new URL('../../package.json', import.meta.url);
|
|
24
|
+
const manifest = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
25
|
+
return manifest.engines.node;
|
|
26
|
+
};
|
|
27
|
+
export const checkNodeVersion = (current, required) => {
|
|
28
|
+
const minimum = parseMinimum(required);
|
|
29
|
+
if (minimum === undefined)
|
|
30
|
+
return { required, current, satisfied: true };
|
|
31
|
+
const actual = parseVersion(current);
|
|
32
|
+
const first = minimum.findIndex((part, index) => part !== actual[index]);
|
|
33
|
+
const satisfied = first === -1 || actual[first] > minimum[first];
|
|
34
|
+
return { required, current, satisfied };
|
|
35
|
+
};
|
|
36
|
+
export const formatNodeVersionError = (check) => [
|
|
37
|
+
`Outfitter requires Node ${check.required} but found v${check.current}.`,
|
|
38
|
+
'Upgrade Node (for example with `nvm install --lts`) and run the command again.',
|
|
39
|
+
].join('\n');
|
|
40
|
+
/**
|
|
41
|
+
* Prints the upgrade message and returns false when the running Node is below the
|
|
42
|
+
* published floor. Callers must not import or spawn pi before this returns true.
|
|
43
|
+
*/
|
|
44
|
+
export const enforceNodeVersion = (current = process.versions.node, required = readRequiredNodeRange(), writeError = console.error) => {
|
|
45
|
+
const check = checkNodeVersion(current, required);
|
|
46
|
+
if (!check.satisfied)
|
|
47
|
+
writeError(formatNodeVersionError(check));
|
|
48
|
+
return check.satisfied;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=NodeVersionGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeVersionGuard.js","sourceRoot":"","sources":["../../src/version/NodeVersionGuard.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,7 @@ Outfitter defaults
|
|
|
68
68
|
|
|
69
69
|
Native CLI state is not a configuration layer. For `symlink` paths, the selected adapter resolves a native fallback location directly, such as `~/.pi/agent/...` for most Pi state paths, `~/.claude/...` for most Claude Code state paths, or `<cache_directory>/utilities` for Pi `utilities/` and `bin/`. The native fallback does not participate in resource resolution or merge precedence and cannot contribute resources. Claude Code `projects/` is additionally controlled by the session-directory setting when set.
|
|
70
70
|
|
|
71
|
-
For a [
|
|
71
|
+
For a [linked Claude Code home](../documentation/linking-harnesses.md), managed configuration entries under `~/.claude` are symlinks into `~/.agents/`, so a durable write through the projection's `skills/` link lands in the protocol tree. The links are created by `outfitter link`, not setup; the state machinery just follows them.
|
|
72
72
|
|
|
73
73
|
## Path-keyed adapter declarations
|
|
74
74
|
|
|
@@ -23,7 +23,7 @@ One runbook per rung of [the adoption ramp](../philosophy.md#the-ramp-to-an-auto
|
|
|
23
23
|
- [Getting started](./getting-started.md) — install, first run, default agent.
|
|
24
24
|
- [First-time CLI agent users](./first-time-cli-agent-users.md) — new to agent CLIs entirely.
|
|
25
25
|
- [Switching to Outfitter](./switching-to-outfitter.md) — adopt from an existing agent-CLI setup.
|
|
26
|
-
- [
|
|
26
|
+
- [Linking into Claude Code and Codex](./linking-harnesses.md) — `outfitter link` places managed links to the tree in `~/.claude` and `~/.codex`.
|
|
27
27
|
|
|
28
28
|
## Understand (the model)
|
|
29
29
|
|
|
@@ -48,7 +48,7 @@ to import**; complete that branch; choose a home/project settings target; then c
|
|
|
48
48
|
CLI agent. Pi/Outfitter is preselected. Passing `[source]` retains the original direct-source path
|
|
49
49
|
and starts at target selection. Pi hosts the deterministic setup UI without a model provider and
|
|
50
50
|
does not port or symlink harness configuration. The default picker always comes from
|
|
51
|
-
`ai-outfitter/
|
|
51
|
+
`ai-outfitter/community-profiles` at the immutable Release Please version tag pinned by the installed
|
|
52
52
|
Outfitter version; setup fetches or reuses that release through the normal source cache and writes
|
|
53
53
|
the same GitHub/ref pair to settings. It never reads a sibling checkout or a packaged catalog
|
|
54
54
|
fallback.
|
|
@@ -103,6 +103,40 @@ Workflow dumps are non-executable configuration bundles. They contain the canoni
|
|
|
103
103
|
`outfitter run` verifies these caches before composition. Use
|
|
104
104
|
`--source-cache-policy <repair|locked|offline>` to override the configured startup policy.
|
|
105
105
|
|
|
106
|
+
## `outfitter link`
|
|
107
|
+
|
|
108
|
+
Project composed resources and native defaults into Pi, Claude Code, and Codex homes, so plain
|
|
109
|
+
`pi`, `claude`, and `codex` sessions carry shared configuration
|
|
110
|
+
without going through `outfitter run`. `run` still uses a temporary projection; `link` is the
|
|
111
|
+
opt-in persistent one. See [Linking into Claude Code and Codex](./linking-harnesses.md).
|
|
112
|
+
|
|
113
|
+
| Option | Description |
|
|
114
|
+
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
115
|
+
| `--harness <name>` | Harness home to link into: `pi`, `claude`, or `codex` (repeatable). Defaults to every harness on `PATH` or with an existing home. |
|
|
116
|
+
| `--agent <id>` | Agent whose composed closure to link (repeatable). |
|
|
117
|
+
| `--workflow <id>` | Enabled workflow whose agent closures to link (repeatable). |
|
|
118
|
+
| `--all` | Link every resolvable agent, with its skills and commands. |
|
|
119
|
+
| `--dry-run` | Report what would change (`would create`, `would update`, `would prune`) without touching the home. |
|
|
120
|
+
| `--remove` | Remove every entry this command created and forget it. |
|
|
121
|
+
| `--strict` | Exit non-zero on warnings, conflicts, or skipped entries. |
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
outfitter link # enabled workflows + default_agent, every installed harness
|
|
125
|
+
outfitter link --workflow engineer --harness claude
|
|
126
|
+
outfitter link --all --dry-run
|
|
127
|
+
outfitter link --remove
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
With no selection the scope is every enabled workflow root (`workflows:` in settings) plus
|
|
131
|
+
`default_agent`. Each scoped agent is composed the same way `run` and `dump` compose it, and its
|
|
132
|
+
subagents join the closure. The harness home is `$CLAUDE_CONFIG_DIR` (default `~/.claude`) or
|
|
133
|
+
`$CODEX_HOME` (default `~/.codex`); an explicit `--harness` creates the home if it is missing.
|
|
134
|
+
|
|
135
|
+
Ownership is recorded in `<harness home>/.outfitter/links.json`. `link` never overwrites, adopts, or
|
|
136
|
+
deletes anything it did not create: an unmanaged file, directory, or symlink in the way is reported
|
|
137
|
+
as a `conflict` and left alone. Re-running is idempotent (`unchanged`), a managed link whose target
|
|
138
|
+
vanished is `pruned`, and MCP servers already registered in the harness are left as they are.
|
|
139
|
+
|
|
106
140
|
## `outfitter sources`
|
|
107
141
|
|
|
108
142
|
Report local and remote source precedence, requested and resolved revisions, origins, and cache
|
|
@@ -15,7 +15,7 @@ Each layer inherits the one above it. ID-addressed resources — agents, skills,
|
|
|
15
15
|
| Layer | Location | Holds |
|
|
16
16
|
| ---------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
17
17
|
| Community | e.g. `ai-outfitter/community-profiles` | Reviewed building blocks — skills and reference agents anyone can mix and match. |
|
|
18
|
-
| Curated defaults | e.g. `ai-outfitter/
|
|
18
|
+
| Curated defaults | e.g. `ai-outfitter/community-profiles` | The pinned, curated assembly — starter agents users adopt as-is. |
|
|
19
19
|
| Organization | `owner/.outfitter` [control repo](./usecases/organization-profile-catalog.md) | Bespoke org agents, shared `agents.md`, org-specific skills (brand voice, RBAC, endpoints). |
|
|
20
20
|
| User / project | `~/.agents`, `<repo>/.agents` | Personal and repo overrides, loadout-added references, same-ID resource overrides. |
|
|
21
21
|
|
|
@@ -20,11 +20,13 @@ outfitter run # launch with your defaults
|
|
|
20
20
|
|
|
21
21
|
Set `default_agent` in `.agents/settings.yml` to one of your [agent](./agents.md) slugs; that agent's own loadout selects the skills, subagents, model, and so on it runs with. You're done.
|
|
22
22
|
|
|
23
|
-
If your configuration lives in `~/.claude` instead,
|
|
23
|
+
If your configuration lives in `~/.claude` instead, move it into `~/.agents/` and run `outfitter link` so Claude Code reads the tree natively — see [Linking into Claude Code and Codex](./linking-harnesses.md).
|
|
24
24
|
|
|
25
25
|
## First-time setup
|
|
26
26
|
|
|
27
|
-
Bootstrap from the Outfitter
|
|
27
|
+
Bootstrap from the Outfitter
|
|
28
|
+
[default catalog](https://github.com/ai-outfitter/community-profiles), then launch
|
|
29
|
+
the default agent:
|
|
28
30
|
|
|
29
31
|
```bash
|
|
30
32
|
outfitter setup
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Linking into Pi, Claude Code, and Codex
|
|
2
|
+
|
|
3
|
+
`outfitter run` projects a composition into a temporary directory for one launch. `outfitter link` is the persistent form: it places managed resources and native defaults inside a harness's own home, so plain `pi`, `claude`, and `codex` sessions can use the shared configuration with no Outfitter in the loop.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
outfitter link # every enabled workflow + default_agent, into every installed harness
|
|
7
|
+
outfitter link --workflow engineer --harness claude # one workflow's agent closures, Claude only
|
|
8
|
+
outfitter link --all --dry-run # preview linking every resolvable agent
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The `.agents` tree stays the source of truth. Links point into it; nothing is copied and diverged.
|
|
12
|
+
|
|
13
|
+
## Scope
|
|
14
|
+
|
|
15
|
+
With no selection, `link` takes what settings already opted into: every enabled workflow root (`workflows:` in `settings.yml`) plus `default_agent`. `--workflow` must name an enabled workflow; `--agent` names any resolvable agent; `--all` widens the scope to every resolvable agent. Each scoped agent is composed by the same composer `run` and `dump` use, and every subagent it delegates to joins the closure — with its own skills, commands, and MCP servers.
|
|
16
|
+
|
|
17
|
+
The harness home is `$PI_CODING_AGENT_DIR` (default `~/.pi/agent`) for Pi, `$CLAUDE_CONFIG_DIR` (default `~/.claude`) for Claude Code, and `$CODEX_HOME` (default `~/.codex`) for Codex. Without `--harness`, every harness whose executable is on `PATH` or whose home exists is linked; an explicit `--harness` creates the home if it is missing.
|
|
18
|
+
|
|
19
|
+
## What lands where
|
|
20
|
+
|
|
21
|
+
| Tree resource | Pi home | Claude Code home | Codex home | How |
|
|
22
|
+
| ------------------------------------------- | --------------- | -------------------------------------- | ------------------- | ----------------- |
|
|
23
|
+
| Winning tree-root `agents.md` | — (warning) | `CLAUDE.md` | `AGENTS.md` | symlink |
|
|
24
|
+
| Skill `skills/<slug>/` | `skills/<slug>` | `skills/<slug>` | `skills/<slug>` | symlink |
|
|
25
|
+
| Composed agent (scoped agent and delegates) | — (warning) | `agents/<slug>.md` | — (warning) | generated |
|
|
26
|
+
| Command (catalog and agent-local) | — (warning) | `commands/<slug>.md` | `prompts/<slug>.md` | symlink |
|
|
27
|
+
| Selected MCP server | — (warning) | `claude mcp add-json ... --scope user` | `codex mcp add ...` | registered |
|
|
28
|
+
| `harness_defaults` leaf | `settings.json` | `settings.json` | `config.toml` | managed per value |
|
|
29
|
+
|
|
30
|
+
- **Symlinked** entries resolve to the winning file or directory in the tree, so editing the tree edits what the harness reads.
|
|
31
|
+
- **Generated** entries are written, not linked. A Claude agent definition is a single Markdown file, but an Outfitter agent's identity is composed — system prompt, shared context, appended prompt fragments, inherited bodies — with frontmatter carrying `name`, `description`, `model`, `tools`, and `skills`. `link` writes that composition into `agents/<slug>.md` under a `Generated by outfitter link` marker. Edit the tree and relink; edits to the generated file are replaced. Codex has no native agent definitions, so agent identities are reported as a warning and not linked there.
|
|
32
|
+
- **Registered** entries go through the harness's own CLI so the harness owns the record. Claude takes the protocol definition verbatim at user scope. Codex takes what `codex mcp add` can express: stdio `command`, `args`, and literal `--env` values; HTTP `--url`, with `Authorization: Bearer ${VAR}` mapped to `--bearer-token-env-var`. Other headers and `${VAR}` env references are warned about and dropped rather than mis-registered.
|
|
33
|
+
|
|
34
|
+
Prompt fragments are not linked as standalone files: they are composed into each generated agent document. The always-on shared context is the `agents.md` link.
|
|
35
|
+
|
|
36
|
+
## What stays native
|
|
37
|
+
|
|
38
|
+
Runtime and account state is not configuration and is not touched:
|
|
39
|
+
|
|
40
|
+
- auth and account state
|
|
41
|
+
- sessions and project history (`projects/`)
|
|
42
|
+
- native settings not declared under `harness_defaults`; permissions, model, and hooks remain harness-native unless explicitly shared there
|
|
43
|
+
- plugins, caches, debug output
|
|
44
|
+
|
|
45
|
+
This is the same boundary [state persistence](./state.md) enforces at run time: configuration lives in the tree, mutable state lives with the harness.
|
|
46
|
+
|
|
47
|
+
## Ownership and conflicts
|
|
48
|
+
|
|
49
|
+
`link` records what it created in `<harness home>/.outfitter/links.json` and only ever acts on entries in that manifest. It never overwrites, adopts, or deletes anything it did not create. Each entry reports one status:
|
|
50
|
+
|
|
51
|
+
| Status | Meaning |
|
|
52
|
+
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
53
|
+
| `created` | Written or registered for the first time. |
|
|
54
|
+
| `updated` | A manifest entry whose target or content changed; only owned entries are ever updated. |
|
|
55
|
+
| `unchanged` | Already correct. MCP servers already present in the harness are `unchanged` and never modified. |
|
|
56
|
+
| `conflict` | An unmanaged file, directory, or symlink is in the way — including an unmanaged symlinked parent such as a whole `skills -> ...` directory link. The message says what to unlink. |
|
|
57
|
+
| `skipped` | The harness CLI is not on `PATH`, or its `mcp add` failed. |
|
|
58
|
+
| `pruned` | A managed symlink whose target vanished was removed and forgotten. |
|
|
59
|
+
|
|
60
|
+
Conflicts are reported, not resolved: move or unlink the unmanaged entry yourself, then relink. `--strict` exits 1 on any warning, conflict, or skipped entry, which is the form to use in scripts.
|
|
61
|
+
|
|
62
|
+
## Relinking
|
|
63
|
+
|
|
64
|
+
`link` is idempotent. After editing the tree, adding a skill to an agent, or bumping a source, run it again: unchanged entries stay put, changed generated files are rewritten, new closure members are created, and links whose targets disappeared are pruned. A second run with nothing changed reports everything `unchanged`.
|
|
65
|
+
|
|
66
|
+
`--dry-run` prints `would create`, `would update`, and `would prune` without touching the home; the only harness commands it runs are read-only (`mcp get`).
|
|
67
|
+
|
|
68
|
+
## Removing
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
outfitter link --remove
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Removes exactly the manifest entries — symlinks, generated agent files, individual native setting values, and MCP servers it added (through `mcp remove`) — and forgets them. Managed containers (`skills/`, `agents/`, `commands/`, `prompts/`) are removed when they are left empty. Anything unmanaged beside them is untouched.
|
|
75
|
+
|
|
76
|
+
## Migrating an existing `~/.claude`
|
|
77
|
+
|
|
78
|
+
`outfitter setup` does not port `~/.claude`. To bring an existing Claude Code setup under the tree: move your `skills/`, `agents/`, and `commands/` into `~/.agents/` (or a git repo linked there — see [Local development](./local-development.md)), reshaping agents as `agents/<id>/agent.md` and `CLAUDE.md` as `agents.md`; remove any whole-directory symlinks such as `~/.claude/skills -> ...`, since `link` manages entries, not containers; then run `outfitter link --all`. Reference the migrated resources by slug from an agent's loadout like any protocol resource:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
<!-- ~/.agents/agents/daily/agent.md -->
|
|
82
|
+
---
|
|
83
|
+
name: daily
|
|
84
|
+
skills: [wiki, code-review] # formerly ~/.claude/skills/*
|
|
85
|
+
---
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`outfitter list` shows what resolved; `outfitter run daily --harness claude` launches through Outfitter; plain `claude` reads the links.
|