@ai-outfitter/outfitter 0.8.0 → 0.10.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/.outfitter/skills/outfitter/SKILL.md +86 -0
- package/README.md +10 -0
- package/code/pi-extension/src/outfitter-extension.js +11 -0
- package/dist/agents/AdapterProfileControls.js +2 -2
- package/dist/agents/AdapterProfileControls.js.map +1 -1
- package/dist/agents/AdapterStatePaths.js +3 -1
- package/dist/agents/AdapterStatePaths.js.map +1 -1
- package/dist/agents/AgentAdapter.d.ts +1 -2
- package/dist/agents/LaunchResources.d.ts +4 -0
- package/dist/agents/LaunchResources.js +27 -1
- package/dist/agents/LaunchResources.js.map +1 -1
- package/dist/agents/OutfitterSkill.d.ts +11 -0
- package/dist/agents/OutfitterSkill.js +128 -0
- package/dist/agents/OutfitterSkill.js.map +1 -0
- package/dist/agents/claude/ClaudeAdapter.js +19 -3
- package/dist/agents/claude/ClaudeAdapter.js.map +1 -1
- package/dist/agents/pi/PiAdapter.js +13 -17
- package/dist/agents/pi/PiAdapter.js.map +1 -1
- package/dist/agents/pi/PiArgs.js +1 -1
- package/dist/agents/pi/PiArgs.js.map +1 -1
- package/dist/agents/pi/PiExtensionCache.d.ts +8 -0
- package/dist/agents/pi/PiExtensionCache.js +95 -5
- package/dist/agents/pi/PiExtensionCache.js.map +1 -1
- package/dist/agents/pi/PiSkillSources.js +5 -1
- package/dist/agents/pi/PiSkillSources.js.map +1 -1
- package/dist/cli/OutfitterCli.js +0 -2
- package/dist/cli/OutfitterCli.js.map +1 -1
- package/dist/cli/commands/PiLoginLaunch.d.ts +5 -0
- package/dist/cli/commands/PiLoginLaunch.js +5 -9
- package/dist/cli/commands/PiLoginLaunch.js.map +1 -1
- package/dist/cli/commands/RunCommand.d.ts +2 -2
- package/dist/cli/commands/RunCommand.js +140 -55
- package/dist/cli/commands/RunCommand.js.map +1 -1
- package/dist/cli/commands/SyncCommand.d.ts +1 -1
- package/dist/cli/commands/SyncCommand.js +37 -12
- package/dist/cli/commands/SyncCommand.js.map +1 -1
- package/dist/cli/commands/profile/LintCommand.js +33 -1
- package/dist/cli/commands/profile/LintCommand.js.map +1 -1
- package/dist/cli/commands/run/RunFirstRunOnboarding.d.ts +7 -0
- package/dist/cli/commands/run/RunFirstRunOnboarding.js +52 -0
- package/dist/cli/commands/run/RunFirstRunOnboarding.js.map +1 -0
- package/dist/cli/commands/run/RunProfileResolution.d.ts +2 -0
- package/dist/cli/commands/run/RunProfileResolution.js +14 -1
- package/dist/cli/commands/run/RunProfileResolution.js.map +1 -1
- package/dist/cli/commands/run/RunStateWritePrompt.d.ts +2 -0
- package/dist/cli/commands/run/RunStateWritePrompt.js +29 -0
- package/dist/cli/commands/run/RunStateWritePrompt.js.map +1 -0
- package/dist/compositeProfile/CompositeProfileCleanup.d.ts +9 -0
- package/dist/compositeProfile/CompositeProfileCleanup.js +87 -0
- package/dist/compositeProfile/CompositeProfileCleanup.js.map +1 -0
- package/dist/compositeProfile/StatePersistence.d.ts +16 -1
- package/dist/compositeProfile/StatePersistence.js +27 -5
- package/dist/compositeProfile/StatePersistence.js.map +1 -1
- package/dist/fs/SafeSymlink.d.ts +13 -0
- package/dist/fs/SafeSymlink.js +50 -0
- package/dist/fs/SafeSymlink.js.map +1 -0
- package/dist/profiles/Profile.d.ts +14 -1
- package/dist/profiles/Profile.js.map +1 -1
- package/dist/profiles/ProfileLoader.js +18 -2
- package/dist/profiles/ProfileLoader.js.map +1 -1
- package/dist/profiles/ProfileMerger.js +3 -2
- package/dist/profiles/ProfileMerger.js.map +1 -1
- package/dist/schemas/profile.schema.json +40 -3
- package/dist/settings/SettingsLoader.d.ts +1 -0
- package/dist/settings/SettingsLoader.js +10 -1
- package/dist/settings/SettingsLoader.js.map +1 -1
- package/dist/skills/ProfileSkillResolution.d.ts +21 -0
- package/dist/skills/ProfileSkillResolution.js +88 -0
- package/dist/skills/ProfileSkillResolution.js.map +1 -0
- package/dist/skills/SkillCatalog.d.ts +41 -0
- package/dist/skills/SkillCatalog.js +119 -0
- package/dist/skills/SkillCatalog.js.map +1 -0
- package/dist/skills/SkillDocument.d.ts +21 -0
- package/dist/skills/SkillDocument.js +85 -0
- package/dist/skills/SkillDocument.js.map +1 -0
- package/dist/skills/SkillResolution.d.ts +34 -0
- package/dist/skills/SkillResolution.js +217 -0
- package/dist/skills/SkillResolution.js.map +1 -0
- package/{doc → docs}/documentation/README.md +4 -1
- package/docs/documentation/actions.md +97 -0
- package/docs/documentation/best-practices.md +105 -0
- package/{doc → docs}/documentation/profile-repository.md +74 -6
- package/docs/documentation/skills.md +436 -0
- package/{doc → docs}/documentation/state.md +22 -2
- package/{doc → docs}/documentation/support-matrix.md +4 -1
- package/package.json +4 -8
- package/src/schemas/profile.schema.json +40 -3
- package/dist/agents/OutfitterDocs.d.ts +0 -2
- package/dist/agents/OutfitterDocs.js +0 -38
- package/dist/agents/OutfitterDocs.js.map +0 -1
- package/skills/outfitter/SKILL.md +0 -68
- /package/{doc → docs}/architecture/state_writeback_strategy.md +0 -0
- /package/{doc → docs}/documentation/cli.md +0 -0
- /package/{doc → docs}/documentation/concepts.md +0 -0
- /package/{doc → docs}/documentation/first-time-cli-agent-users.md +0 -0
- /package/{doc → docs}/documentation/getting-started.md +0 -0
- /package/{doc → docs}/documentation/iterating-on-profiles.md +0 -0
- /package/{doc → docs}/documentation/profiles.md +0 -0
- /package/{doc → docs}/documentation/switching-to-outfitter.md +0 -0
- /package/{doc → docs}/documentation/usecases/engineering.md +0 -0
- /package/{doc → docs}/documentation/usecases/organization-profile-catalog.md +0 -0
- /package/{doc → docs}/documentation/usecases/persona-reviews.md +0 -0
- /package/{doc → docs}/philosophy.md +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileLoader.js","sourceRoot":"","sources":["../../src/profiles/ProfileLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProfileLoader.js","sourceRoot":"","sources":["../../src/profiles/ProfileLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { mergeObjectsWithPolicy } from '../merge/SettingsValueMerger.js';
|
|
2
|
-
import { normalizeExtensionResourceIdentity
|
|
2
|
+
import { normalizeExtensionResourceIdentity } from '../agents/ResourceIdentity.js';
|
|
3
|
+
import { skillControlEntryIdentity } from '../agents/LaunchResources.js';
|
|
3
4
|
export const mergeProfileStack = (profileStack) => {
|
|
4
5
|
const [baseProfile, ...higherPrecedenceProfiles] = profileStack;
|
|
5
6
|
const mergedProfile = higherPrecedenceProfiles.reduce((mergedProfile, profile) => mergeObjectsWithPolicy(mergedProfile, profile, { arrayPolicyForPath: profileArrayPolicy }), baseProfile);
|
|
@@ -38,7 +39,7 @@ const profileArrayPolicy = (path) => {
|
|
|
38
39
|
mode: 'uniqueBy',
|
|
39
40
|
order: 'prepend',
|
|
40
41
|
winner: 'first',
|
|
41
|
-
key: (source) =>
|
|
42
|
+
key: (source) => skillControlEntryIdentity(source),
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
45
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileMerger.js","sourceRoot":"","sources":["../../src/profiles/ProfileMerger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"ProfileMerger.js","sourceRoot":"","sources":["../../src/profiles/ProfileMerger.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"skills": {
|
|
44
44
|
"type": "array",
|
|
45
|
-
"items": { "
|
|
45
|
+
"items": { "$ref": "#/$defs/skillEntry" }
|
|
46
46
|
},
|
|
47
47
|
"prompt_template": { "type": "string" },
|
|
48
48
|
"system_prompt": { "type": "string" },
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
},
|
|
82
82
|
"skills": {
|
|
83
83
|
"type": "array",
|
|
84
|
-
"items": { "
|
|
84
|
+
"items": { "$ref": "#/$defs/skillEntry" }
|
|
85
85
|
},
|
|
86
86
|
"prompt_template": { "type": "string" },
|
|
87
87
|
"system_prompt": { "type": "string" },
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
},
|
|
112
112
|
"skills": {
|
|
113
113
|
"type": "array",
|
|
114
|
-
"items": { "
|
|
114
|
+
"items": { "$ref": "#/$defs/skillEntry" }
|
|
115
115
|
},
|
|
116
116
|
"prompt_template": { "type": "string" },
|
|
117
117
|
"system_prompt": { "type": "string" },
|
|
@@ -129,6 +129,43 @@
|
|
|
129
129
|
},
|
|
130
130
|
"additionalProperties": true,
|
|
131
131
|
"$defs": {
|
|
132
|
+
"skillReference": {
|
|
133
|
+
"oneOf": [
|
|
134
|
+
{
|
|
135
|
+
"type": "object",
|
|
136
|
+
"required": ["file"],
|
|
137
|
+
"properties": {
|
|
138
|
+
"file": { "type": "string" }
|
|
139
|
+
},
|
|
140
|
+
"additionalProperties": false
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"type": "object",
|
|
144
|
+
"required": ["repo_file"],
|
|
145
|
+
"properties": {
|
|
146
|
+
"repo_file": { "type": "string" }
|
|
147
|
+
},
|
|
148
|
+
"additionalProperties": false
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"skillEntry": {
|
|
153
|
+
"oneOf": [
|
|
154
|
+
{ "type": "string" },
|
|
155
|
+
{
|
|
156
|
+
"type": "object",
|
|
157
|
+
"required": ["id"],
|
|
158
|
+
"properties": {
|
|
159
|
+
"id": { "type": "string" },
|
|
160
|
+
"references": {
|
|
161
|
+
"type": "array",
|
|
162
|
+
"items": { "$ref": "#/$defs/skillReference" }
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"additionalProperties": false
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
},
|
|
132
169
|
"appendSystemPromptEntry": {
|
|
133
170
|
"oneOf": [
|
|
134
171
|
{ "type": "string" },
|
|
@@ -28,6 +28,7 @@ export interface SettingsDiscoveryInput {
|
|
|
28
28
|
export declare const createSettingsLoadPlan: (locations: readonly SettingsLocation[]) => SettingsLoadPlan;
|
|
29
29
|
export declare const discoverSettingsLoadPlan: (input: SettingsDiscoveryInput) => SettingsLoadPlan;
|
|
30
30
|
export declare const discoverRemoteSettingsLoadPlan: (homeDirectory: string, remoteSettings: readonly RemoteSettingsReference[]) => SettingsLoadPlan;
|
|
31
|
+
export declare const resolveCachedRemoteSettingsPath: (homeDirectory: string, source: RemoteSettingsReference) => string;
|
|
31
32
|
export declare const loadSettingsFiles: (plan: SettingsLoadPlan) => SettingsLoadResult;
|
|
32
33
|
export declare const loadSettings: (plan: SettingsLoadPlan) => LoadedSettings;
|
|
33
34
|
export declare const loadSettingsWithCachedRemoteSettings: (input: SettingsDiscoveryInput, remoteSettingsReferencesOverride?: readonly RemoteSettingsReference[]) => LoadedSettings;
|
|
@@ -14,6 +14,15 @@ export const discoverSettingsLoadPlan = (input) => createSettingsLoadPlan([
|
|
|
14
14
|
{ scope: 'project-local', path: join(input.projectDirectory, '.outfitter', 'local', 'settings.yml') },
|
|
15
15
|
]);
|
|
16
16
|
export const discoverRemoteSettingsLoadPlan = (homeDirectory, remoteSettings) => discoverRemoteSettingsLocations(homeDirectory, remoteSettings).plan;
|
|
17
|
+
export const resolveCachedRemoteSettingsPath = (homeDirectory, source) => {
|
|
18
|
+
const repositoryPath = createRemoteRepositoryCachePath(homeDirectory, source);
|
|
19
|
+
const configuredPath = resolveRemoteRepositorySubpath(repositoryPath, source.path);
|
|
20
|
+
if (existsSync(configuredPath) || source.path !== 'settings.yml') {
|
|
21
|
+
return configuredPath;
|
|
22
|
+
}
|
|
23
|
+
const nestedOutfitterSettingsPath = resolveRemoteRepositorySubpath(repositoryPath, '.outfitter/settings.yml');
|
|
24
|
+
return existsSync(nestedOutfitterSettingsPath) ? nestedOutfitterSettingsPath : configuredPath;
|
|
25
|
+
};
|
|
17
26
|
export const loadSettingsFiles = (plan) => {
|
|
18
27
|
const files = [];
|
|
19
28
|
const issues = [];
|
|
@@ -54,7 +63,7 @@ const discoverRemoteSettingsLocations = (homeDirectory, remoteSettings) => {
|
|
|
54
63
|
try {
|
|
55
64
|
locations.push({
|
|
56
65
|
scope: 'remote',
|
|
57
|
-
path:
|
|
66
|
+
path: resolveCachedRemoteSettingsPath(homeDirectory, source),
|
|
58
67
|
});
|
|
59
68
|
}
|
|
60
69
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsLoader.js","sourceRoot":"","sources":["../../src/settings/SettingsLoader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SettingsLoader.js","sourceRoot":"","sources":["../../src/settings/SettingsLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LoadedProfile } from '../profiles/ProfileLoader.js';
|
|
2
|
+
import type { Profile } from '../profiles/Profile.js';
|
|
3
|
+
import { type SkillResolutionDiagnostic } from './SkillResolution.js';
|
|
4
|
+
export interface ProfileSkillResolutionInput {
|
|
5
|
+
readonly profile: Profile;
|
|
6
|
+
readonly profileLayers: readonly LoadedProfile[];
|
|
7
|
+
/** Materialized configured profile-source paths, in configured order. */
|
|
8
|
+
readonly sourcePaths: readonly string[];
|
|
9
|
+
readonly projectDirectory: string;
|
|
10
|
+
/** Composite profile root; generated skills are written beneath `outfitter/skills/`. */
|
|
11
|
+
readonly outputDirectory?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ProfileSkillResolutionResult {
|
|
14
|
+
readonly profile: Profile;
|
|
15
|
+
readonly diagnostics: readonly SkillResolutionDiagnostic[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolves catalog skill IDs in `controls.skills` (generic and adapter-scoped) to
|
|
19
|
+
* generated skill directories, so adapters keep receiving plain path sources.
|
|
20
|
+
*/
|
|
21
|
+
export declare const resolveProfileSkillControls: (input: ProfileSkillResolutionInput) => ProfileSkillResolutionResult;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Resolves a profile's selected skill IDs into generated skill sources before adapter launch.
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { inferProfileIncludeSourceRoot } from '../profiles/PromptIncludes.js';
|
|
4
|
+
import { skillControlEntryIdentity } from '../agents/LaunchResources.js';
|
|
5
|
+
import { discoverSkillCatalog } from './SkillCatalog.js';
|
|
6
|
+
import { resolveSkillEntries, } from './SkillResolution.js';
|
|
7
|
+
/**
|
|
8
|
+
* Resolves catalog skill IDs in `controls.skills` (generic and adapter-scoped) to
|
|
9
|
+
* generated skill directories, so adapters keep receiving plain path sources.
|
|
10
|
+
*/
|
|
11
|
+
export const resolveProfileSkillControls = (input) => {
|
|
12
|
+
const catalog = discoverSkillCatalog({
|
|
13
|
+
projectDirectory: input.projectDirectory,
|
|
14
|
+
profileLayers: input.profileLayers,
|
|
15
|
+
sourcePaths: input.sourcePaths,
|
|
16
|
+
});
|
|
17
|
+
const diagnostics = [];
|
|
18
|
+
const outputDirectory = input.outputDirectory === undefined ? undefined : join(input.outputDirectory, 'outfitter', 'skills');
|
|
19
|
+
// One skill ID materializes once; selecting it from several control scopes reuses
|
|
20
|
+
// the same generated directory, and conflicting reference sets are an error.
|
|
21
|
+
const materializationCache = new Map();
|
|
22
|
+
const resolveEntries = (entries, scope) => {
|
|
23
|
+
const resolution = resolveSkillEntries({
|
|
24
|
+
entries: entries.map((entry) => toSkillEntryInput(entry, scope, input.profileLayers)),
|
|
25
|
+
catalog,
|
|
26
|
+
projectDirectory: input.projectDirectory,
|
|
27
|
+
outputDirectory,
|
|
28
|
+
materializationCache,
|
|
29
|
+
});
|
|
30
|
+
diagnostics.push(...resolution.diagnostics);
|
|
31
|
+
return resolution.sources;
|
|
32
|
+
};
|
|
33
|
+
const controls = resolveSkillControls(input.profile.controls, resolveEntries);
|
|
34
|
+
diagnostics.push(...createShadowedSkillDiagnostics(catalog, input.profile.controls));
|
|
35
|
+
return { profile: { ...input.profile, controls }, diagnostics };
|
|
36
|
+
};
|
|
37
|
+
const resolveSkillControls = (controls, resolveEntries) => ({
|
|
38
|
+
...controls,
|
|
39
|
+
...(controls.skills === undefined ? {} : { skills: resolveEntries(controls.skills, 'skills') }),
|
|
40
|
+
...(controls.pi?.skills === undefined
|
|
41
|
+
? {}
|
|
42
|
+
: { pi: { ...controls.pi, skills: resolveEntries(controls.pi.skills, 'pi') } }),
|
|
43
|
+
...(controls.claude?.skills === undefined
|
|
44
|
+
? {}
|
|
45
|
+
: { claude: { ...controls.claude, skills: resolveEntries(controls.claude.skills, 'claude') } }),
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Profile-added `file` references resolve from the repository containing the
|
|
49
|
+
* declaring profile. The lookup stays within the entry's own control scope so an
|
|
50
|
+
* object selection in another scope cannot supply the wrong repository root.
|
|
51
|
+
*/
|
|
52
|
+
const toSkillEntryInput = (entry, scope, profileLayers) => {
|
|
53
|
+
if (typeof entry === 'string') {
|
|
54
|
+
return { entry };
|
|
55
|
+
}
|
|
56
|
+
const identity = skillControlEntryIdentity(entry);
|
|
57
|
+
const declaringLayer = [...profileLayers]
|
|
58
|
+
.reverse()
|
|
59
|
+
.find((layer) => readScopedSkillEntries(layer.profile.controls, scope).some((layerEntry) => typeof layerEntry !== 'string' && skillControlEntryIdentity(layerEntry) === identity));
|
|
60
|
+
return {
|
|
61
|
+
entry,
|
|
62
|
+
profileReferenceRoot: declaringLayer === undefined
|
|
63
|
+
? undefined
|
|
64
|
+
: inferProfileIncludeSourceRoot({
|
|
65
|
+
sourceRootPath: declaringLayer.sourceRootPath,
|
|
66
|
+
profilePath: declaringLayer.profilePath,
|
|
67
|
+
}),
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
const readScopedSkillEntries = (controls, scope) => (scope === 'skills' ? controls.skills : controls[scope]?.skills) ?? [];
|
|
71
|
+
const readLayerSkillEntries = (controls) => [
|
|
72
|
+
...(controls.skills ?? []),
|
|
73
|
+
...(controls.pi?.skills ?? []),
|
|
74
|
+
...(controls.claude?.skills ?? []),
|
|
75
|
+
];
|
|
76
|
+
/** Reports shadowing only for IDs the profile actually selects. */
|
|
77
|
+
const createShadowedSkillDiagnostics = (catalog, controls) => {
|
|
78
|
+
const selectedIds = new Set(readLayerSkillEntries(controls).map((entry) => (typeof entry === 'string' ? entry : entry.id)));
|
|
79
|
+
return catalog.shadowed
|
|
80
|
+
.filter((shadow) => selectedIds.has(shadow.selected.id))
|
|
81
|
+
.map((shadow) => ({
|
|
82
|
+
severity: 'warning',
|
|
83
|
+
path: shadow.shadowedDirectory,
|
|
84
|
+
message: `Skill ID '${shadow.selected.id}' is supplied by ${shadow.selected.origin} ('${shadow.selected.directory}') ` +
|
|
85
|
+
`and shadows '${shadow.shadowedDirectory}'.`,
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=ProfileSkillResolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileSkillResolution.js","sourceRoot":"","sources":["../../src/skills/ProfileSkillResolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface SkillCatalogRoot {
|
|
2
|
+
/** Directory scanned for `<skill-id>/SKILL.md` entries. */
|
|
3
|
+
readonly skillsDirectory: string;
|
|
4
|
+
/** Root that skill `file` references resolve from (the repository containing the skill). */
|
|
5
|
+
readonly referenceRoot: string;
|
|
6
|
+
/** Human-readable origin for shadowing diagnostics. */
|
|
7
|
+
readonly origin: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SkillCatalogEntry {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly directory: string;
|
|
12
|
+
readonly skillPath: string;
|
|
13
|
+
readonly referenceRoot: string;
|
|
14
|
+
readonly origin: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SkillCatalog {
|
|
17
|
+
readonly entries: ReadonlyMap<string, SkillCatalogEntry>;
|
|
18
|
+
readonly shadowed: readonly {
|
|
19
|
+
readonly selected: SkillCatalogEntry;
|
|
20
|
+
readonly shadowedDirectory: string;
|
|
21
|
+
}[];
|
|
22
|
+
}
|
|
23
|
+
export interface SkillCatalogInput {
|
|
24
|
+
readonly projectDirectory?: string;
|
|
25
|
+
/** Directory-profile resource roots contributing bundled `skills/` folders. */
|
|
26
|
+
readonly profileLayers?: readonly {
|
|
27
|
+
readonly sourceRootPath?: string;
|
|
28
|
+
readonly resourceRootPath?: string;
|
|
29
|
+
}[];
|
|
30
|
+
/** Materialized configured profile-source paths, in configured (precedence) order. */
|
|
31
|
+
readonly sourcePaths?: readonly string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Builds the skill ID catalog following layer precedence: project-local, project,
|
|
35
|
+
* bundled directory-profile skills (highest-precedence layer first), then
|
|
36
|
+
* configured sources (later entries outrank earlier ones, matching profile
|
|
37
|
+
* precedence). The first root supplying an ID wins; later roots are reported as
|
|
38
|
+
* shadowed.
|
|
39
|
+
*/
|
|
40
|
+
export declare const discoverSkillCatalog: (input: SkillCatalogInput) => SkillCatalog;
|
|
41
|
+
export declare const createSkillCatalogRoots: (input: SkillCatalogInput) => readonly SkillCatalogRoot[];
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// Discovers catalog skills across project, directory-profile, and configured-source roots.
|
|
2
|
+
import { existsSync, readdirSync, statSync } from 'node:fs';
|
|
3
|
+
import { basename, dirname, join } from 'node:path';
|
|
4
|
+
import { inferProfileIncludeSourceRoot } from '../profiles/PromptIncludes.js';
|
|
5
|
+
import { isValidSkillId } from './SkillDocument.js';
|
|
6
|
+
/**
|
|
7
|
+
* Builds the skill ID catalog following layer precedence: project-local, project,
|
|
8
|
+
* bundled directory-profile skills (highest-precedence layer first), then
|
|
9
|
+
* configured sources (later entries outrank earlier ones, matching profile
|
|
10
|
+
* precedence). The first root supplying an ID wins; later roots are reported as
|
|
11
|
+
* shadowed.
|
|
12
|
+
*/
|
|
13
|
+
export const discoverSkillCatalog = (input) => {
|
|
14
|
+
const entries = new Map();
|
|
15
|
+
const shadowed = [];
|
|
16
|
+
for (const root of createSkillCatalogRoots(input)) {
|
|
17
|
+
for (const entry of readSkillCatalogRootEntries(root)) {
|
|
18
|
+
const selected = entries.get(entry.id);
|
|
19
|
+
if (selected === undefined) {
|
|
20
|
+
entries.set(entry.id, entry);
|
|
21
|
+
}
|
|
22
|
+
else if (selected.directory !== entry.directory) {
|
|
23
|
+
shadowed.push({ selected, shadowedDirectory: entry.directory });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return { entries, shadowed };
|
|
28
|
+
};
|
|
29
|
+
export const createSkillCatalogRoots = (input) => {
|
|
30
|
+
const roots = [];
|
|
31
|
+
if (input.projectDirectory !== undefined) {
|
|
32
|
+
roots.push({
|
|
33
|
+
skillsDirectory: join(input.projectDirectory, '.outfitter', 'local', 'skills'),
|
|
34
|
+
referenceRoot: input.projectDirectory,
|
|
35
|
+
origin: 'project-local skills',
|
|
36
|
+
}, {
|
|
37
|
+
skillsDirectory: join(input.projectDirectory, '.outfitter', 'skills'),
|
|
38
|
+
referenceRoot: input.projectDirectory,
|
|
39
|
+
origin: 'project skills',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// Profile layers arrive lowest-precedence first (see ProfileMerger); reverse so
|
|
43
|
+
// the selected profile's bundled skill outranks an inherited base profile's.
|
|
44
|
+
for (const layer of [...(input.profileLayers ?? [])].reverse()) {
|
|
45
|
+
if (layer.resourceRootPath === undefined) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
roots.push({
|
|
49
|
+
skillsDirectory: join(layer.resourceRootPath, 'skills'),
|
|
50
|
+
referenceRoot: inferProfileIncludeSourceRoot({
|
|
51
|
+
sourceRootPath: layer.sourceRootPath,
|
|
52
|
+
profilePath: join(layer.resourceRootPath, 'profile.yml'),
|
|
53
|
+
/* v8 ignore next -- directory profiles always sit under a source root. */
|
|
54
|
+
}) ?? layer.resourceRootPath,
|
|
55
|
+
origin: `profile '${basename(layer.resourceRootPath)}' skills`,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// Later configured sources outrank earlier ones for profiles; mirror that here.
|
|
59
|
+
for (const sourcePath of [...(input.sourcePaths ?? [])].reverse()) {
|
|
60
|
+
const catalogRoot = resolveCatalogRoot(sourcePath);
|
|
61
|
+
roots.push({
|
|
62
|
+
skillsDirectory: join(catalogRoot, 'skills'),
|
|
63
|
+
referenceRoot: basename(catalogRoot) === '.outfitter' ? dirname(catalogRoot) : catalogRoot,
|
|
64
|
+
origin: `source '${sourcePath}'`,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return dedupeSkillCatalogRoots(roots);
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* The catalog root is the directory containing `profiles/`. A source path that
|
|
71
|
+
* points directly at the profiles directory resolves to its parent.
|
|
72
|
+
*/
|
|
73
|
+
const resolveCatalogRoot = (sourcePath) => basename(sourcePath) === 'profiles' ? dirname(sourcePath) : sourcePath;
|
|
74
|
+
const dedupeSkillCatalogRoots = (roots) => {
|
|
75
|
+
const seen = new Set();
|
|
76
|
+
return roots.filter((root) => {
|
|
77
|
+
if (seen.has(root.skillsDirectory)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
seen.add(root.skillsDirectory);
|
|
81
|
+
return true;
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
const readSkillCatalogRootEntries = (root) => readOptionalDirectoryNames(root.skillsDirectory)
|
|
85
|
+
.filter((name) => isValidSkillId(name) && existsSync(join(root.skillsDirectory, name, 'SKILL.md')))
|
|
86
|
+
.sort()
|
|
87
|
+
.map((name) => ({
|
|
88
|
+
id: name,
|
|
89
|
+
directory: join(root.skillsDirectory, name),
|
|
90
|
+
skillPath: join(root.skillsDirectory, name, 'SKILL.md'),
|
|
91
|
+
referenceRoot: root.referenceRoot,
|
|
92
|
+
origin: root.origin,
|
|
93
|
+
}));
|
|
94
|
+
const readOptionalDirectoryNames = (directory) => {
|
|
95
|
+
try {
|
|
96
|
+
return readdirSync(directory, { withFileTypes: true })
|
|
97
|
+
.filter((entry) => entry.isDirectory() || isSymlinkedDirectory(join(directory, entry.name), entry.isSymbolicLink()))
|
|
98
|
+
.map((entry) => entry.name);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
if (isMissingPathError(error)) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
throw new Error(`Could not read skills directory '${directory}': ${String(error)}`, { cause: error });
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const isSymlinkedDirectory = (path, isSymbolicLink) => {
|
|
108
|
+
if (!isSymbolicLink) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
return statSync(path).isDirectory();
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
const isMissingPathError = (error) => error !== null && typeof error === 'object' && 'code' in error && error.code === 'ENOENT';
|
|
119
|
+
//# sourceMappingURL=SkillCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillCatalog.js","sourceRoot":"","sources":["../../src/skills/SkillCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SkillReference } from '../profiles/Profile.js';
|
|
2
|
+
export declare const isSkillReference: (value: unknown) => value is SkillReference;
|
|
3
|
+
/** Frontmatter keys that materialize external files into a generated skill directory. */
|
|
4
|
+
export declare const skillMaterializationSections: readonly ["references", "scripts", "assets"];
|
|
5
|
+
export type SkillMaterializationSection = (typeof skillMaterializationSections)[number];
|
|
6
|
+
export interface SkillDocument {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly description?: string;
|
|
9
|
+
readonly references: readonly SkillReference[];
|
|
10
|
+
readonly scripts: readonly SkillReference[];
|
|
11
|
+
readonly assets: readonly SkillReference[];
|
|
12
|
+
}
|
|
13
|
+
export interface SkillDocumentIssue {
|
|
14
|
+
readonly path: string;
|
|
15
|
+
readonly message: string;
|
|
16
|
+
}
|
|
17
|
+
/** Skill IDs and directory names: lowercase alphanumerics and single hyphens, at most 64 characters. */
|
|
18
|
+
export declare const isValidSkillId: (value: string) => boolean;
|
|
19
|
+
export declare const parseSkillDocument: (content: string, skillPath: string) => SkillDocument | SkillDocumentIssue;
|
|
20
|
+
export declare const readSkillDocument: (skillPath: string) => SkillDocument | SkillDocumentIssue;
|
|
21
|
+
export declare const isSkillDocumentIssue: (value: SkillDocument | SkillDocumentIssue) => value is SkillDocumentIssue;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Parses and validates SKILL.md frontmatter for catalog skill resolution.
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { parseYamlDocument } from '../validation/YamlDocument.js';
|
|
4
|
+
export const isSkillReference = (value) => value !== null &&
|
|
5
|
+
typeof value === 'object' &&
|
|
6
|
+
!Array.isArray(value) &&
|
|
7
|
+
Object.keys(value).length === 1 &&
|
|
8
|
+
(typeof value.file === 'string' ||
|
|
9
|
+
typeof value.repo_file === 'string');
|
|
10
|
+
const skillNamePattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/u;
|
|
11
|
+
const skillNameMaxLength = 64;
|
|
12
|
+
/** Frontmatter keys that materialize external files into a generated skill directory. */
|
|
13
|
+
export const skillMaterializationSections = ['references', 'scripts', 'assets'];
|
|
14
|
+
/** Skill IDs and directory names: lowercase alphanumerics and single hyphens, at most 64 characters. */
|
|
15
|
+
export const isValidSkillId = (value) => value.length <= skillNameMaxLength && skillNamePattern.test(value);
|
|
16
|
+
export const parseSkillDocument = (content, skillPath) => {
|
|
17
|
+
const frontmatter = parseSkillFrontmatter(content, skillPath);
|
|
18
|
+
if ('message' in frontmatter) {
|
|
19
|
+
return frontmatter;
|
|
20
|
+
}
|
|
21
|
+
const { name, description } = frontmatter.record;
|
|
22
|
+
if (typeof name !== 'string' || !isValidSkillId(name)) {
|
|
23
|
+
return {
|
|
24
|
+
path: skillPath,
|
|
25
|
+
message: `SKILL.md 'name' must use lowercase letters, numbers, and single hyphens ` +
|
|
26
|
+
`(max ${skillNameMaxLength} characters).`,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const sections = {};
|
|
30
|
+
for (const section of skillMaterializationSections) {
|
|
31
|
+
const entries = frontmatter.record[section];
|
|
32
|
+
if (entries !== undefined && (!Array.isArray(entries) || !entries.every(isSkillReference))) {
|
|
33
|
+
return {
|
|
34
|
+
path: skillPath,
|
|
35
|
+
message: `SKILL.md '${section}' entries must each contain exactly one 'file' or 'repo_file' source.`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
sections[section] = entries ?? [];
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
name,
|
|
42
|
+
description: typeof description === 'string' ? description : undefined,
|
|
43
|
+
references: sections.references,
|
|
44
|
+
scripts: sections.scripts,
|
|
45
|
+
assets: sections.assets,
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
const parseSkillFrontmatter = (content, skillPath) => {
|
|
49
|
+
const frontmatter = extractFrontmatter(content);
|
|
50
|
+
if (frontmatter === undefined) {
|
|
51
|
+
return { path: skillPath, message: 'SKILL.md must start with a `---` YAML frontmatter block.' };
|
|
52
|
+
}
|
|
53
|
+
const parsed = parseYamlDocument(frontmatter, skillPath);
|
|
54
|
+
if (!parsed.ok) {
|
|
55
|
+
return { path: skillPath, message: `SKILL.md frontmatter is not valid YAML: ${parsed.issue.message}` };
|
|
56
|
+
}
|
|
57
|
+
const record = parsed.document;
|
|
58
|
+
if (record === null || typeof record !== 'object' || Array.isArray(record)) {
|
|
59
|
+
return { path: skillPath, message: 'SKILL.md frontmatter must be a YAML mapping.' };
|
|
60
|
+
}
|
|
61
|
+
return { record: record };
|
|
62
|
+
};
|
|
63
|
+
export const readSkillDocument = (skillPath) => {
|
|
64
|
+
let content;
|
|
65
|
+
try {
|
|
66
|
+
content = readFileSync(skillPath, 'utf8');
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return { path: skillPath, message: `Could not read SKILL.md: ${String(error)}` };
|
|
70
|
+
}
|
|
71
|
+
return parseSkillDocument(content, skillPath);
|
|
72
|
+
};
|
|
73
|
+
export const isSkillDocumentIssue = (value) => 'message' in value;
|
|
74
|
+
const extractFrontmatter = (content) => {
|
|
75
|
+
const lines = content.split('\n');
|
|
76
|
+
if (lines[0]?.trimEnd() !== '---') {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
const closingIndex = lines.findIndex((line, index) => index > 0 && line.trimEnd() === '---');
|
|
80
|
+
if (closingIndex === -1) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
return lines.slice(1, closingIndex).join('\n');
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=SkillDocument.js.map
|