sdd-mcp-server 5.1.1 → 5.2.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/CHANGELOG.md +10 -1
- package/README.md +27 -14
- package/dist/cli/install-skills.js +4 -4
- package/dist/cli/install-target.d.ts +20 -20
- package/dist/cli/install-target.js +10 -11
- package/dist/cli/install-target.js.map +1 -1
- package/dist/cli/sdd-mcp-cli.js +0 -0
- package/dist/cli/tool-support/omp-skill-routing.d.ts +3 -0
- package/dist/cli/tool-support/omp-skill-routing.js +41 -0
- package/dist/cli/tool-support/omp-skill-routing.js.map +1 -0
- package/dist/cli/tool-support/omp.js +4 -1
- package/dist/cli/tool-support/omp.js.map +1 -1
- package/dist/cli/tool-support/root-guidance.js +6 -6
- package/dist/cli/tool-support/root-guidance.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/shared/version.d.ts +1 -1
- package/dist/shared/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,16 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [5.2.0] - 2026-09-29
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Default role routes now pin Claude Code skills/agents to `claude-opus-5-5`/high for advisory work and `claude-sonnet-5-5`/medium for implementation/TDD; Codex and OMP use GPT-6 Sol/xhigh and GPT-6 Luna/medium respectively.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Route invoked OMP SDD skills through a project extension that applies their configured model and thinking level for the turn and restores the prior session route afterward; Claude Code continues to use native skill model/effort frontmatter.
|
|
15
|
+
|
|
16
|
+
### Documentation
|
|
17
|
+
- Document Claude Code 2.1.284 as the minimum version for both pinned 5.5 skill defaults and the 5.1.1-to-5.2.0 installer upgrade path.
|
|
9
18
|
|
|
10
19
|
## [5.1.1] - 2026-09-28
|
|
11
20
|
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
A Model Context Protocol server and target-native installer for governed Spec-Driven Development (SDD) in Claude Code, Codex, and Oh My Pi (OMP).
|
|
7
7
|
|
|
8
|
-
> **v5.
|
|
8
|
+
> **v5.2.0** — Routes invoked OMP SDD skills to their configured model/thinking level and pins Claude Code defaults to Opus/Sonnet 5.5, Codex/OMP defaults to GPT-6 Sol/Luna. Claude Code requires 2.1.284+ for both pinned defaults.
|
|
9
9
|
|
|
10
10
|
## Why sdd-mcp?
|
|
11
11
|
|
|
@@ -40,13 +40,26 @@ OMP defaults to `~/.omp/agent`; named profiles need their own setup. [The instal
|
|
|
40
40
|
|
|
41
41
|
Global setup changes **no Claude permission file** and installs no root guidance, agents, rules, hooks, steering, or repository files. These are local-machine assets, not Claude cloud/Cowork Skills. Reload the host and accept its normal trust/permission prompts.
|
|
42
42
|
|
|
43
|
-
From a directory
|
|
43
|
+
From a directory that is not this package checkout and has no shadowing project registration, verify `claude mcp get sdd-mcp`, `codex mcp get sdd-mcp`, or OMP `/mcp test sdd-mcp`. Two local conditions make that check fail even after a successful `setup-global`:
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
- A project `install` in this checkout writes `.mcp.json`, `.codex/config.toml`, or `.omp/mcp.json`. Those same-name entries hide the personal runtime. Remove only the project's `sdd-mcp` entry; setup does not do that.
|
|
46
|
+
- While the host's working directory is this checkout, the pinned `npx -y sdd-mcp-server@<version>` command exits with `sh: sdd-mcp-server: command not found` before the handshake. npm resolves the package name to this tree, and `npm install` does not put this package's own bin on `PATH`. After `npm install && npm run build`, link it once:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
mkdir -p node_modules/.bin
|
|
50
|
+
printf '%s\n' '#!/bin/sh' 'cd "$(dirname "$0")/../.." && exec node ./sdd-entry.js "$@"' > node_modules/.bin/sdd-mcp-server
|
|
51
|
+
chmod +x node_modules/.bin/sdd-mcp-server
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Reload the host after that link. Any other project directory can use the published command without it. An older user server named `sdd` is not this entry; remove it with `claude mcp remove sdd -s user` if Claude reports `ENOENT` for a bare `sdd-mcp-server` executable.
|
|
55
|
+
|
|
56
|
+
Existing project-scoped `sdd-mcp` entries still take precedence; remove only that project entry yourself if you want the personal runtime. Skill precedence is separate and host-specific. Global setup never scans or migrates repositories.
|
|
57
|
+
|
|
58
|
+
The repository installer below remains an **optional team/project-scoped alternative**, not a required follow-up. Do not run it in this checkout when the goal is personal scope.
|
|
46
59
|
|
|
47
60
|
## New project installation
|
|
48
61
|
|
|
49
|
-
Use this path when the repository has never had sdd-mcp-generated guidance. The `npx` commands below run from the **destination project's root**, not from this `sdd-mcp-server` source checkout
|
|
62
|
+
Use this path when the repository has never had sdd-mcp-generated guidance. The `npx` commands below run from the **destination project's root**, not from this `sdd-mcp-server` source checkout. Running them here, or running the local `install` entrypoint here, registers a project server that hides personal setup.
|
|
50
63
|
|
|
51
64
|
1. Open a terminal at the project root.
|
|
52
65
|
2. Choose the host that will execute the workflow.
|
|
@@ -54,15 +67,15 @@ Use this path when the repository has never had sdd-mcp-generated guidance. The
|
|
|
54
67
|
|
|
55
68
|
```bash
|
|
56
69
|
# Recommended explicit lean installation
|
|
57
|
-
npx sdd-mcp-server@5.
|
|
58
|
-
npx sdd-mcp-server@5.
|
|
59
|
-
npx sdd-mcp-server@5.
|
|
70
|
+
npx sdd-mcp-server@5.2.0 install --profile lean --target claude-code
|
|
71
|
+
npx sdd-mcp-server@5.2.0 install --profile lean --target codex
|
|
72
|
+
npx sdd-mcp-server@5.2.0 install --profile lean --target omp
|
|
60
73
|
|
|
61
74
|
# Interactive full installation: choose Claude Code, Codex, or OMP
|
|
62
|
-
npx sdd-mcp-server@5.
|
|
75
|
+
npx sdd-mcp-server@5.2.0 install --profile full
|
|
63
76
|
```
|
|
64
77
|
|
|
65
|
-
|
|
78
|
+
Use the local entrypoint only when this checkout itself is the intended project install. It does not repair personal runtime connection. Build once, then install explicitly:
|
|
66
79
|
|
|
67
80
|
```bash
|
|
68
81
|
npm install
|
|
@@ -72,7 +85,7 @@ node ./sdd-entry.js install --profile lean --target omp
|
|
|
72
85
|
node ./sdd-entry.js install --profile full
|
|
73
86
|
```
|
|
74
87
|
|
|
75
|
-
Do not use `--refresh-generated` for a new project. A normal installation records package ownership in `.sdd-mcp/install-manifest.json` and registers the
|
|
88
|
+
Do not use `--refresh-generated` for a new project. A normal installation records package ownership in `.sdd-mcp/install-manifest.json` and registers the project runtime. That registration is what a host in this directory will prefer over `setup-global`.
|
|
76
89
|
|
|
77
90
|
After installation, restart or reload the host and accept its project trust prompt. Then invoke the native requirements Skill with a feature name and goal; the Skill initializes or resumes durable state automatically.
|
|
78
91
|
|
|
@@ -85,11 +98,11 @@ Optionally create `models.yaml` in the project root and pass it on each install:
|
|
|
85
98
|
```yaml
|
|
86
99
|
modelRoles:
|
|
87
100
|
planner:
|
|
88
|
-
claudeCode: { model: opus, effort: high }
|
|
101
|
+
claudeCode: { model: claude-opus-5-5, effort: high }
|
|
89
102
|
codex: openai-codex/gpt-6-sol:high
|
|
90
103
|
omp: openai-codex/gpt-6-sol:high
|
|
91
104
|
implementer:
|
|
92
|
-
claudeCode: { model: sonnet, effort: medium }
|
|
105
|
+
claudeCode: { model: claude-sonnet-5-5, effort: medium }
|
|
93
106
|
codex: openai-codex/gpt-6-luna:max
|
|
94
107
|
omp: openai-codex/gpt-6-luna:max
|
|
95
108
|
```
|
|
@@ -138,7 +151,7 @@ Use this path when the project already contains generated sdd-mcp files from an
|
|
|
138
151
|
|
|
139
152
|
```bash
|
|
140
153
|
# Replace <target> with claude-code, codex, or omp
|
|
141
|
-
npx sdd-mcp-server@5.
|
|
154
|
+
npx sdd-mcp-server@5.2.0 install \
|
|
142
155
|
--profile full \
|
|
143
156
|
--target <target> \
|
|
144
157
|
--refresh-generated
|
|
@@ -194,7 +207,7 @@ Three-run fresh-session A/B comparisons used comparable provider-reported median
|
|
|
194
207
|
|
|
195
208
|
## Routing summary
|
|
196
209
|
|
|
197
|
-
Claude executes a skill in the current turn with its configured model and effort (default Opus/high for high-level work and Sonnet/medium for implementation/TDD); installed Claude subagents have matching metadata. Codex may request one configured custom advisor for high-level work; its agent metadata does not change the parent turn. OMP
|
|
210
|
+
Claude executes a skill in the current turn with its configured model and effort (default Claude Opus 5.5/high for high-level work and Claude Sonnet 5.5/medium for implementation/TDD); installed Claude subagents have matching metadata. Codex may request one configured GPT-6 Sol/xhigh custom advisor for high-level work; its agent metadata does not change the parent turn. OMP executes invoked SDD skills inline, with the installed `.omp/extensions/sdd-skill-routing.js` switching the parent to the configured model/thinking level (GPT-6 Sol/xhigh for high-level work, GPT-6 Luna/medium for implementation/TDD) for the turn and restoring it afterward. OMP’s `.omp/agents` advisors remain explicit opt-in only, allow one child, and cannot nest or retry. Implementation, TDD, and simple tasks remain inline unless genuinely independent parallel slices justify delegation.
|
|
198
211
|
|
|
199
212
|
See [docs/MODEL-ROUTING.md](docs/MODEL-ROUTING.md) for enforcement and fallback boundaries.
|
|
200
213
|
|
|
@@ -552,10 +552,10 @@ After installation, invoke the selected host's skills:
|
|
|
552
552
|
Continue with sdd-design, sdd-tasks, and sdd-implement after each approval.
|
|
553
553
|
|
|
554
554
|
Model Routing (defaults; override generated SDD roles with --model-roles):
|
|
555
|
-
Codex custom agents: gpt-
|
|
556
|
-
Claude Code skills and agents: opus/high
|
|
557
|
-
OMP project agents: gpt-
|
|
558
|
-
Inline Codex
|
|
555
|
+
Codex custom agents: gpt-6-sol/xhigh advisors, gpt-6-luna/medium implementation/TDD
|
|
556
|
+
Claude Code skills and agents: claude-opus-5-5/high advisors, claude-sonnet-5-5/medium implementation/TDD
|
|
557
|
+
OMP invoked skills and opt-in project agents: openai-codex/gpt-6-sol/xhigh advisors, openai-codex/gpt-6-luna/medium implementation/TDD
|
|
558
|
+
Inline Codex and generic host agents are not reconfigured; OMP skills require the installed extension.
|
|
559
559
|
`;
|
|
560
560
|
}
|
|
561
561
|
}
|
|
@@ -66,96 +66,96 @@ export declare class CliUsageError extends Error {
|
|
|
66
66
|
export declare class InstallCancelledError extends Error {
|
|
67
67
|
constructor();
|
|
68
68
|
}
|
|
69
|
-
export declare const SUPPORTED_CODEX_MODELS: readonly ["gpt-
|
|
70
|
-
export declare const DEFAULT_CODEX_MODEL: "gpt-
|
|
69
|
+
export declare const SUPPORTED_CODEX_MODELS: readonly ["gpt-6-sol", "gpt-6-luna"];
|
|
70
|
+
export declare const DEFAULT_CODEX_MODEL: "gpt-6-luna";
|
|
71
71
|
export declare const ROLE_MODEL_ROUTES: {
|
|
72
72
|
readonly planner: {
|
|
73
73
|
readonly taskClass: "implementation" | "advisor" | "local";
|
|
74
74
|
readonly codex: {
|
|
75
|
-
readonly model: "gpt-
|
|
75
|
+
readonly model: "gpt-6-sol" | "gpt-6-luna";
|
|
76
76
|
readonly reasoningEffort: "medium" | "xhigh";
|
|
77
77
|
};
|
|
78
78
|
readonly claudeCode: {
|
|
79
|
-
readonly model: "opus" | "sonnet";
|
|
79
|
+
readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
|
|
80
80
|
readonly effort: "high" | "medium";
|
|
81
81
|
};
|
|
82
82
|
readonly omp: {
|
|
83
|
-
readonly model: "gpt-
|
|
83
|
+
readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
|
|
84
84
|
readonly thinkingLevel: "medium" | "xhigh";
|
|
85
85
|
};
|
|
86
86
|
};
|
|
87
87
|
readonly architect: {
|
|
88
88
|
readonly taskClass: "implementation" | "advisor" | "local";
|
|
89
89
|
readonly codex: {
|
|
90
|
-
readonly model: "gpt-
|
|
90
|
+
readonly model: "gpt-6-sol" | "gpt-6-luna";
|
|
91
91
|
readonly reasoningEffort: "medium" | "xhigh";
|
|
92
92
|
};
|
|
93
93
|
readonly claudeCode: {
|
|
94
|
-
readonly model: "opus" | "sonnet";
|
|
94
|
+
readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
|
|
95
95
|
readonly effort: "high" | "medium";
|
|
96
96
|
};
|
|
97
97
|
readonly omp: {
|
|
98
|
-
readonly model: "gpt-
|
|
98
|
+
readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
|
|
99
99
|
readonly thinkingLevel: "medium" | "xhigh";
|
|
100
100
|
};
|
|
101
101
|
};
|
|
102
102
|
readonly reviewer: {
|
|
103
103
|
readonly taskClass: "implementation" | "advisor" | "local";
|
|
104
104
|
readonly codex: {
|
|
105
|
-
readonly model: "gpt-
|
|
105
|
+
readonly model: "gpt-6-sol" | "gpt-6-luna";
|
|
106
106
|
readonly reasoningEffort: "medium" | "xhigh";
|
|
107
107
|
};
|
|
108
108
|
readonly claudeCode: {
|
|
109
|
-
readonly model: "opus" | "sonnet";
|
|
109
|
+
readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
|
|
110
110
|
readonly effort: "high" | "medium";
|
|
111
111
|
};
|
|
112
112
|
readonly omp: {
|
|
113
|
-
readonly model: "gpt-
|
|
113
|
+
readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
|
|
114
114
|
readonly thinkingLevel: "medium" | "xhigh";
|
|
115
115
|
};
|
|
116
116
|
};
|
|
117
117
|
readonly 'security-auditor': {
|
|
118
118
|
readonly taskClass: "implementation" | "advisor" | "local";
|
|
119
119
|
readonly codex: {
|
|
120
|
-
readonly model: "gpt-
|
|
120
|
+
readonly model: "gpt-6-sol" | "gpt-6-luna";
|
|
121
121
|
readonly reasoningEffort: "medium" | "xhigh";
|
|
122
122
|
};
|
|
123
123
|
readonly claudeCode: {
|
|
124
|
-
readonly model: "opus" | "sonnet";
|
|
124
|
+
readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
|
|
125
125
|
readonly effort: "high" | "medium";
|
|
126
126
|
};
|
|
127
127
|
readonly omp: {
|
|
128
|
-
readonly model: "gpt-
|
|
128
|
+
readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
|
|
129
129
|
readonly thinkingLevel: "medium" | "xhigh";
|
|
130
130
|
};
|
|
131
131
|
};
|
|
132
132
|
readonly implementer: {
|
|
133
133
|
readonly taskClass: "implementation" | "advisor" | "local";
|
|
134
134
|
readonly codex: {
|
|
135
|
-
readonly model: "gpt-
|
|
135
|
+
readonly model: "gpt-6-sol" | "gpt-6-luna";
|
|
136
136
|
readonly reasoningEffort: "medium" | "xhigh";
|
|
137
137
|
};
|
|
138
138
|
readonly claudeCode: {
|
|
139
|
-
readonly model: "opus" | "sonnet";
|
|
139
|
+
readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
|
|
140
140
|
readonly effort: "high" | "medium";
|
|
141
141
|
};
|
|
142
142
|
readonly omp: {
|
|
143
|
-
readonly model: "gpt-
|
|
143
|
+
readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
|
|
144
144
|
readonly thinkingLevel: "medium" | "xhigh";
|
|
145
145
|
};
|
|
146
146
|
};
|
|
147
147
|
readonly 'tdd-guide': {
|
|
148
148
|
readonly taskClass: "implementation" | "advisor" | "local";
|
|
149
149
|
readonly codex: {
|
|
150
|
-
readonly model: "gpt-
|
|
150
|
+
readonly model: "gpt-6-sol" | "gpt-6-luna";
|
|
151
151
|
readonly reasoningEffort: "medium" | "xhigh";
|
|
152
152
|
};
|
|
153
153
|
readonly claudeCode: {
|
|
154
|
-
readonly model: "opus" | "sonnet";
|
|
154
|
+
readonly model: "claude-opus-5-5" | "claude-sonnet-5-5";
|
|
155
155
|
readonly effort: "high" | "medium";
|
|
156
156
|
};
|
|
157
157
|
readonly omp: {
|
|
158
|
-
readonly model: "gpt-
|
|
158
|
+
readonly model: "openai-codex/gpt-6-sol" | "openai-codex/gpt-6-luna";
|
|
159
159
|
readonly thinkingLevel: "medium" | "xhigh";
|
|
160
160
|
};
|
|
161
161
|
};
|
|
@@ -12,25 +12,24 @@ export class InstallCancelledError extends Error {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
export const SUPPORTED_CODEX_MODELS = [
|
|
15
|
-
'gpt-
|
|
16
|
-
'gpt-
|
|
17
|
-
'gpt-5.6-luna',
|
|
15
|
+
'gpt-6-sol',
|
|
16
|
+
'gpt-6-luna',
|
|
18
17
|
];
|
|
19
|
-
export const DEFAULT_CODEX_MODEL = 'gpt-
|
|
18
|
+
export const DEFAULT_CODEX_MODEL = 'gpt-6-luna';
|
|
20
19
|
export const ROLE_MODEL_ROUTES = {
|
|
21
|
-
planner: route('advisor', 'gpt-
|
|
22
|
-
architect: route('advisor', 'gpt-
|
|
23
|
-
reviewer: route('advisor', 'gpt-
|
|
24
|
-
'security-auditor': route('advisor', 'gpt-
|
|
25
|
-
implementer: route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'sonnet'),
|
|
26
|
-
'tdd-guide': route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'sonnet'),
|
|
20
|
+
planner: route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
|
|
21
|
+
architect: route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
|
|
22
|
+
reviewer: route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
|
|
23
|
+
'security-auditor': route('advisor', 'gpt-6-sol', 'xhigh', 'claude-opus-5-5'),
|
|
24
|
+
implementer: route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'claude-sonnet-5-5'),
|
|
25
|
+
'tdd-guide': route('implementation', DEFAULT_CODEX_MODEL, 'medium', 'claude-sonnet-5-5'),
|
|
27
26
|
};
|
|
28
27
|
function route(taskClass, model, reasoningEffort, claudeModel) {
|
|
29
28
|
return {
|
|
30
29
|
taskClass,
|
|
31
30
|
codex: { model, reasoningEffort },
|
|
32
31
|
claudeCode: { model: claudeModel, effort: taskClass === 'advisor' ? 'high' : 'medium' },
|
|
33
|
-
omp: { model
|
|
32
|
+
omp: { model: `openai-codex/${model}`, thinkingLevel: reasoningEffort },
|
|
34
33
|
};
|
|
35
34
|
}
|
|
36
35
|
export const SKILL_AGENT_ROUTES = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAgF7B,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,
|
|
1
|
+
{"version":3,"file":"install-target.js","sourceRoot":"","sources":["../../src/cli/install-target.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/sdd-mcp-cli.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ROLE_MODEL_ROUTES, SKILL_AGENT_ROUTES } from '../install-target.js';
|
|
2
|
+
/** OMP skills are prompt files; only an extension can change the parent session's model. */
|
|
3
|
+
export function renderOmpSkillRouting(routes = ROLE_MODEL_ROUTES) {
|
|
4
|
+
const selectors = Object.fromEntries(Object.entries(SKILL_AGENT_ROUTES).map(([skill, role]) => [skill, routes[role].omp]));
|
|
5
|
+
return `// Generated by sdd-mcp-server. OMP ignores model fields in SKILL.md.
|
|
6
|
+
const routes = ${JSON.stringify(selectors)};
|
|
7
|
+
const invocation = /^\\[IMPORTANT: User invoked the "([^"\\n]+)" skill; follow its instructions\\. Full skill below\\.\\]/;
|
|
8
|
+
|
|
9
|
+
export default function (pi) {
|
|
10
|
+
let previous;
|
|
11
|
+
pi.on('before_agent_start', async (event, ctx) => {
|
|
12
|
+
if (ctx.agent.kind !== 'main') return;
|
|
13
|
+
const match = invocation.exec(event.prompt);
|
|
14
|
+
if (!match || !Object.hasOwn(routes, match[1])) return;
|
|
15
|
+
const route = routes[match[1]];
|
|
16
|
+
const model = ctx.models.resolve(route.model);
|
|
17
|
+
if (!model) {
|
|
18
|
+
ctx.ui.notify('SDD skill ' + match[1] + ': configured model ' + route.model + ' is unavailable; select an installed model or reinstall with --model-roles.', 'error');
|
|
19
|
+
ctx.abort();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const original = previous ?? { model: ctx.models.current(), thinking: pi.getThinkingLevel() };
|
|
23
|
+
if (!await pi.setModel(model)) {
|
|
24
|
+
ctx.ui.notify('SDD skill ' + match[1] + ': no credentials for ' + route.model + '.', 'error');
|
|
25
|
+
ctx.abort();
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
previous = original;
|
|
29
|
+
pi.setThinkingLevel(route.thinkingLevel);
|
|
30
|
+
});
|
|
31
|
+
pi.on('agent_end', async (_event, ctx) => {
|
|
32
|
+
if (ctx.agent.kind !== 'main' || !previous) return;
|
|
33
|
+
const restore = previous;
|
|
34
|
+
previous = undefined;
|
|
35
|
+
if (restore.model) await pi.setModel(restore.model);
|
|
36
|
+
if (restore.thinking) pi.setThinkingLevel(restore.thinking);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=omp-skill-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omp-skill-routing.js","sourceRoot":"","sources":["../../../src/cli/tool-support/omp-skill-routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,4FAA4F;AAC5F,MAAM,UAAU,qBAAqB,CAAC,SAAsB,iBAAiB;IAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3H,OAAO;iBACQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCzC,CAAC;AACF,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { CliUsageError } from '../install-target.js';
|
|
|
4
4
|
import { PreservingWriter, validateChildName } from '../utils/preserving-writer.js';
|
|
5
5
|
import { buildCompactRootGuidance } from './root-guidance.js';
|
|
6
6
|
import { parseSourceAgent, renderOmpAgent } from './target-agent-renderer.js';
|
|
7
|
+
import { renderOmpSkillRouting } from './omp-skill-routing.js';
|
|
7
8
|
import { copyFlatComponents, TargetInstallSession, } from './target-installer.js';
|
|
8
9
|
export async function installOmpTarget(request) {
|
|
9
10
|
const writer = request.writer ?? new PreservingWriter(request.projectRoot);
|
|
@@ -15,8 +16,10 @@ async function installOmpTargetLocked(request) {
|
|
|
15
16
|
}
|
|
16
17
|
const session = new TargetInstallSession('omp', request.projectRoot, request.writer, request.profile ?? 'lean', request.components, request.refreshGenerated);
|
|
17
18
|
const selected = new Set(request.components);
|
|
18
|
-
if (selected.has('skills'))
|
|
19
|
+
if (selected.has('skills')) {
|
|
19
20
|
await session.copySkills(request.sources.skillManager, request.paths.skills, request.modelRoutes);
|
|
21
|
+
await session.write('skills', 'sdd-skill-routing', session.resolve('.omp/extensions/sdd-skill-routing.js'), renderOmpSkillRouting(request.modelRoutes));
|
|
22
|
+
}
|
|
20
23
|
if (selected.has('steering'))
|
|
21
24
|
await session.copySteering(request.sources.steeringSource, request.paths.steering);
|
|
22
25
|
if (selected.has('rules')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omp.js","sourceRoot":"","sources":["../../../src/cli/tool-support/omp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAM/B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA0B;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAyD;IAC7F,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,aAAa,CAAC,kEAAkE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,oBAAoB,CACtC,KAAK,EACL,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,OAAO,IAAI,MAAM,EACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,gBAAgB,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"omp.js","sourceRoot":"","sources":["../../../src/cli/tool-support/omp.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,17 +11,17 @@ export function buildCompactRootGuidance(target, paths, selected, preamble) {
|
|
|
11
11
|
const heading = preamble?.split(/\r?\n/).find(line => line.trim())?.trim();
|
|
12
12
|
const routing = target === 'omp'
|
|
13
13
|
? [
|
|
14
|
-
'
|
|
15
|
-
'
|
|
14
|
+
'Invoked SDD skills run inline with the model and thinking level selected by .omp/extensions/sdd-skill-routing.js.',
|
|
15
|
+
'Project advisors are explicit opt-in only; use one without nested delegation or retry, and continue inline if unavailable.',
|
|
16
16
|
]
|
|
17
17
|
: target === 'claude-code'
|
|
18
18
|
? [
|
|
19
|
-
'High-level planning, architecture, review, and security execute in the current turn on
|
|
20
|
-
'Implementation and TDD
|
|
19
|
+
'High-level planning, architecture, review, and security execute in the current turn on their configured skill model/effort.',
|
|
20
|
+
'Implementation and TDD use their configured skill model/effort; do not spawn a redundant specialist.',
|
|
21
21
|
]
|
|
22
22
|
: [
|
|
23
|
-
'High-level planning, architecture, review, and security may use one
|
|
24
|
-
'Implementation and TDD run inline on
|
|
23
|
+
'High-level planning, architecture, review, and security may use one custom agent with its configured route.',
|
|
24
|
+
'Implementation and TDD run inline on the host-selected parent; generated agents use their configured routes. On advisor failure, record one fallback and continue inline without retrying.',
|
|
25
25
|
];
|
|
26
26
|
const lines = [
|
|
27
27
|
heading || `# SDD guidance for ${target}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-guidance.js","sourceRoot":"","sources":["../../../src/cli/tool-support/root-guidance.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA4C;IACtD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,KAA2B,EAC3B,QAAoC,EACpC,QAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK;QAC9B,CAAC,CAAC;YACA,
|
|
1
|
+
{"version":3,"file":"root-guidance.js","sourceRoot":"","sources":["../../../src/cli/tool-support/root-guidance.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA4C;IACtD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,KAA2B,EAC3B,QAAoC,EACpC,QAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,MAAM,OAAO,GAAG,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK;QAC9B,CAAC,CAAC;YACA,mHAAmH;YACnH,4HAA4H;SAC7H;QACD,CAAC,CAAC,MAAM,KAAK,aAAa;YACxB,CAAC,CAAC;gBACA,6HAA6H;gBAC7H,sGAAsG;aACvG;YACD,CAAC,CAAC;gBACA,6GAA6G;gBAC7G,4LAA4L;aAC7L,CAAC;IACN,MAAM,KAAK,GAAG;QACZ,OAAO,IAAI,sBAAsB,MAAM,EAAE;QACzC,EAAE;QACF,aAAa;QACb,EAAE;QACF,kFAAkF,UAAU,4EAA4E,UAAU,6CAA6C,UAAU,mBAAmB,UAAU,sBAAsB,UAAU,+CAA+C;QACrV,uIAAuI;QACvI,EAAE;KACH,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,SAAS,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,EAAE,CAAC;YAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YACvC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,EAAE,EACF,GAAG,OAAO,EACV,EAAE,CACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;AACxC,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/shared/version.d.ts
CHANGED
package/dist/shared/version.js
CHANGED