@skillit/client 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +40 -0
  2. package/dist/bin.d.ts +2 -1
  3. package/dist/bin.d.ts.map +1 -1
  4. package/dist/bin.js +21 -13
  5. package/dist/bin.js.map +1 -1
  6. package/dist/commands/audit.d.ts +34 -0
  7. package/dist/commands/audit.d.ts.map +1 -0
  8. package/dist/commands/audit.js +139 -0
  9. package/dist/commands/audit.js.map +1 -0
  10. package/dist/commands/gen.d.ts +20 -0
  11. package/dist/commands/gen.d.ts.map +1 -0
  12. package/dist/commands/gen.js +108 -0
  13. package/dist/commands/gen.js.map +1 -0
  14. package/dist/commands/init.d.ts +3 -22
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +23 -84
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/commands/refine.d.ts +34 -2
  19. package/dist/commands/refine.d.ts.map +1 -1
  20. package/dist/commands/refine.js +61 -29
  21. package/dist/commands/refine.js.map +1 -1
  22. package/dist/generate.d.ts +67 -0
  23. package/dist/generate.d.ts.map +1 -0
  24. package/dist/generate.js +55 -0
  25. package/dist/generate.js.map +1 -0
  26. package/dist/mcp-mode.d.ts +22 -0
  27. package/dist/mcp-mode.d.ts.map +1 -0
  28. package/dist/mcp-mode.js +27 -0
  29. package/dist/mcp-mode.js.map +1 -0
  30. package/dist/model/anthropic.d.ts +11 -0
  31. package/dist/model/anthropic.d.ts.map +1 -1
  32. package/dist/model/anthropic.js +16 -2
  33. package/dist/model/anthropic.js.map +1 -1
  34. package/dist/model/cli/adapters.d.ts.map +1 -1
  35. package/dist/model/cli/adapters.js +35 -2
  36. package/dist/model/cli/adapters.js.map +1 -1
  37. package/dist/model/cli/cli-client.d.ts.map +1 -1
  38. package/dist/model/cli/cli-client.js +4 -2
  39. package/dist/model/cli/cli-client.js.map +1 -1
  40. package/dist/program.d.ts +12 -0
  41. package/dist/program.d.ts.map +1 -0
  42. package/dist/program.js +42 -0
  43. package/dist/program.js.map +1 -0
  44. package/dist/typedoc-entry.d.ts +6 -0
  45. package/dist/typedoc-entry.d.ts.map +1 -0
  46. package/dist/typedoc-entry.js +14 -0
  47. package/dist/typedoc-entry.js.map +1 -0
  48. package/package.json +18 -7
  49. package/skills/skillit-bootstrap/SKILL.md +115 -0
  50. package/skills/skillit-bootstrap/references/surface-routing.md +97 -0
  51. package/CHANGELOG.md +0 -32
  52. package/scripts/gen-refine-cli-skill.mjs +0 -48
  53. package/src/__tests__/anthropic-model.test.ts +0 -45
  54. package/src/__tests__/anthropic-prompt.test.ts +0 -102
  55. package/src/__tests__/cli-adapters.test.ts +0 -119
  56. package/src/__tests__/cli-client.test.ts +0 -58
  57. package/src/__tests__/cli-run.test.ts +0 -52
  58. package/src/__tests__/detect-mode.test.ts +0 -114
  59. package/src/__tests__/detect-source.test.ts +0 -158
  60. package/src/__tests__/fixtures/bin-with-program.mjs +0 -6
  61. package/src/__tests__/init.test.ts +0 -218
  62. package/src/__tests__/model-client-factory.test.ts +0 -28
  63. package/src/__tests__/refine-resolve.test.ts +0 -72
  64. package/src/bin.ts +0 -18
  65. package/src/commands/init.ts +0 -207
  66. package/src/commands/refine.ts +0 -261
  67. package/src/detect-mode.ts +0 -94
  68. package/src/detect-source.ts +0 -123
  69. package/src/index.ts +0 -3
  70. package/src/model/anthropic.ts +0 -116
  71. package/src/model/cli/adapters.ts +0 -178
  72. package/src/model/cli/cli-client.ts +0 -52
  73. package/src/model/cli/run.ts +0 -83
  74. package/src/model/model-client-factory.ts +0 -62
  75. package/src/model/models.ts +0 -7
  76. package/tsconfig.build.json +0 -9
  77. package/tsconfig.json +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@ import { type DetectedRefineSource, type RefineSourceKind } from '../detect-sour
4
4
  export interface RefineSourceResolveOpts {
5
5
  source?: string;
6
6
  mcp?: string;
7
+ configType?: string;
7
8
  }
8
9
  /** Result of resolving the refine source: a concrete kind or an actionable error. */
9
10
  export type RefineSourceResolution = {
10
- kind: 'cli' | 'mcp';
11
+ kind: 'cli' | 'mcp' | 'config';
11
12
  } | {
12
13
  error: string;
13
14
  };
@@ -22,10 +23,29 @@ export type RefineSourceResolution = {
22
23
  * {@link detectInstalledSources}); named in the ambiguous error
23
24
  */
24
25
  export declare function resolveRefineSource(opts: RefineSourceResolveOpts, detected: DetectedRefineSource, candidates?: readonly RefineSourceKind[]): RefineSourceResolution;
25
- /** Parsed options for the `refine` action / {@link runRefineCommand}. */
26
+ /**
27
+ * Parsed options for the `refine` action / {@link runRefineCommand}.
28
+ * @pitfalls - **`introspectCommander`** — Never pass a Commander program before its subcommands have been registered; the result will be an empty array with no warning, silently producing a skill with no commands.
29
+ * - **`introspectCommander`** — Never use with yargs, oclif, minimist, or other non-Commander frameworks; it reads Commander's internal `.commands` array which does not exist on other program objects.
30
+ * - **`parseHelpOutput`** — Never use when you have access to the Commander program object; help-text parsing is lossy — default values, variadic flags, and required/optional distinctions are inferred heuristically and may be wrong.
31
+ * - **`parseHelpOutput`** — Never expect multi-line option descriptions to be captured; the parser treats the first indented line as the full description and silently discards continuation lines.
32
+ * - **`correlateFlags`** — Never rely on option name matching when pairing `parseHelpOutput` output with a typed config interface; help parsing preserves raw kebab-case names (e.g. `output-dir`) while TypeDoc extracts camelCase properties (`outputDir`) — correlation will silently produce no enrichment.
33
+ * - **`extractCliSkill`** — Never pass both `program` and `helpTexts`; `program` silently takes precedence and the entire `helpTexts` map is ignored without any warning or error.
34
+ * - **`extractCliSkill`** — Never call from a file that invokes `program.parse(process.argv)` at import time; Commander will consume `process.argv` (and may exit) before the skill extraction pipeline can run.
35
+ * - **`loadProgram`** — Never omit the `#exportName` separator in `opts.program` (e.g. pass `"./cli.js"` instead of `"./cli.js#buildProgram"`); the function throws immediately without attempting auto-discovery from `package.json`.
36
+ * @useWhen - Your Commander `.description()` reads as a bare verb or repeats the command name with no behavioral context (e.g., `"run"` instead of `"Run the build pipeline and emit artifacts to dist/"`)
37
+ * - An `.option()` description states what the flag is named but not what it changes — the `--help` output leaves the caller guessing at the effect
38
+ * - A positional argument added via `.argument()` has no expected-format hint, leaving callers unsure whether to pass a file path, a glob, a semver string, or a named identifier
39
+ * - An option that accepts an environment-variable override has no mention of that env var in its description, so the config surface is invisible in `--help` output
40
+ * @avoidWhen - `introspectCommander` — the Commander `program` object is unavailable at runtime; use `parseHelpOutput` with raw `--help` text instead
41
+ * - `parseHelpOutput` — you have direct access to the Commander `program` object; `introspectCommander` captures default values, variadic flags, and required/optional distinctions that help-text parsing misses
42
+ * - `correlateFlags` — no TypeDoc-extracted `configSurfaces` are available; without a matching config surface the call is a no-op and no JSDoc metadata is merged into CLI options
43
+ */
26
44
  export interface RefineCommandOpts {
27
45
  source?: string;
28
46
  program?: string;
47
+ configType?: string;
48
+ ground?: string[];
29
49
  mcp?: string;
30
50
  server?: string;
31
51
  overlay?: string;
@@ -38,6 +58,18 @@ export interface RefineCommandOpts {
38
58
  }
39
59
  /** The model backend to use; defaults to the API client. */
40
60
  export declare function resolveModelClientKind(raw: string | undefined): string;
61
+ /**
62
+ * Parse a `--config-type <file#export>` spec (e.g. `./src/config.ts#MyConfig`)
63
+ * into its file and exported type name. Pure and unit-testable. The `#` is the
64
+ * required separator; both sides must be non-empty (mirrors `--program`'s
65
+ * `file#export` form). `cwd` resolves a relative file to an absolute path.
66
+ */
67
+ export declare function parseConfigTypeSpec(spec: string, cwd: string): {
68
+ configFile: string;
69
+ typeName: string;
70
+ } | {
71
+ error: string;
72
+ };
41
73
  /**
42
74
  * The body of the `refine` command action, extracted so it can be reused
43
75
  * programmatically (e.g. by `skillit init`) without argv gymnastics. Sets
@@ -1 +1 @@
1
- {"version":3,"file":"refine.d.ts","sourceRoot":"","sources":["../../src/commands/refine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAW7B,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAKjF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,GAAE,SAAS,gBAAgB,EAAO,GAC3C,sBAAsB,CA4BxB;AAED,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoG7E;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAe5C"}
1
+ {"version":3,"file":"refine.d.ts","sourceRoot":"","sources":["../../src/commands/refine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAW7B,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAS5F;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,GAAE,SAAS,gBAAgB,EAAO,GAC3C,sBAAsB,CAkCxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAU9D;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuG7E;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAsB5C"}
@@ -1,12 +1,12 @@
1
1
  // packages/client/src/commands/refine.ts
2
2
  import { Command } from 'commander';
3
- import { McpRefineSource, TypeScriptMcpRefineSource, extractMcpSkill, readMcpConfigFile } from '@skillit/mcp';
3
+ import { createMcpRefineSource } from '@skillit/mcp';
4
4
  import { CliRefineSource, loadProgram } from '@skillit/cli';
5
- import { refineSkill } from '@skillit/core';
5
+ import { ConfigRefineSource, refineSkill } from '@skillit/core';
6
6
  import { createModelClient } from '../model/model-client-factory.js';
7
7
  import { detectRefineMode } from '../detect-mode.js';
8
8
  import { classifyRefineSources, detectInstalledSources } from '../detect-source.js';
9
- import { join } from 'node:path';
9
+ import { isAbsolute, join } from 'node:path';
10
10
  function parsePositiveInt(raw, flag) {
11
11
  const n = parseInt(raw, 10);
12
12
  if (!Number.isFinite(n) || n < 1) {
@@ -14,8 +14,12 @@ function parsePositiveInt(raw, flag) {
14
14
  }
15
15
  return n;
16
16
  }
17
- const VALID_SOURCES = ['cli', 'mcp', 'typedoc'];
17
+ // `config` is an explicit-only source: it never auto-detects (no installed
18
+ // `@skillit/*` package implies it), so the ambiguous/none guidance keeps
19
+ // pointing at the detectable sources while `--source config` is still accepted.
20
+ const VALID_SOURCES = ['cli', 'mcp', 'typedoc', 'config'];
18
21
  const SOURCE_FORM = '--source <cli|mcp|typedoc>';
22
+ const INVALID_SOURCE_FORM = '--source <cli|mcp|typedoc|config>';
19
23
  /**
20
24
  * Resolve the refine source from explicit `--source` (wins) or detection,
21
25
  * then validate per-source flag requirements. Pure and unit-testable: it does
@@ -30,7 +34,7 @@ export function resolveRefineSource(opts, detected, candidates = []) {
30
34
  let kind;
31
35
  if (opts.source !== undefined) {
32
36
  if (!VALID_SOURCES.includes(opts.source)) {
33
- return { error: `Invalid --source value: ${opts.source}. Use ${SOURCE_FORM}.` };
37
+ return { error: `Invalid --source value: ${opts.source}. Use ${INVALID_SOURCE_FORM}.` };
34
38
  }
35
39
  kind = opts.source;
36
40
  }
@@ -50,7 +54,12 @@ Pass ${SOURCE_FORM} to choose one.`
50
54
  kind = detected;
51
55
  }
52
56
  if (kind === 'typedoc') {
53
- return { error: 'typedoc refine not yet supported; use --source cli|mcp.' };
57
+ return { error: 'typedoc refine not yet supported; use --source cli|mcp|config.' };
58
+ }
59
+ if (kind === 'config' && opts.configType === undefined) {
60
+ return {
61
+ error: 'The config source requires --config-type <file#export> (e.g. ./src/config.ts#MyConfig).'
62
+ };
54
63
  }
55
64
  if (kind === 'mcp' && opts.mcp === undefined) {
56
65
  return { error: 'The mcp source requires --mcp <path> (path to mcp.json or MCP config file).' };
@@ -61,6 +70,23 @@ Pass ${SOURCE_FORM} to choose one.`
61
70
  export function resolveModelClientKind(raw) {
62
71
  return raw ?? 'api';
63
72
  }
73
+ /**
74
+ * Parse a `--config-type <file#export>` spec (e.g. `./src/config.ts#MyConfig`)
75
+ * into its file and exported type name. Pure and unit-testable. The `#` is the
76
+ * required separator; both sides must be non-empty (mirrors `--program`'s
77
+ * `file#export` form). `cwd` resolves a relative file to an absolute path.
78
+ */
79
+ export function parseConfigTypeSpec(spec, cwd) {
80
+ const hashIdx = spec.lastIndexOf('#');
81
+ if (hashIdx <= 0 || hashIdx === spec.length - 1) {
82
+ return {
83
+ error: `--config-type must be <file>#<ExportName> (e.g. ./src/config.ts#MyConfig), got: ${spec}`
84
+ };
85
+ }
86
+ const file = spec.slice(0, hashIdx);
87
+ const typeName = spec.slice(hashIdx + 1);
88
+ return { configFile: isAbsolute(file) ? file : join(cwd, file), typeName };
89
+ }
64
90
  /**
65
91
  * The body of the `refine` command action, extracted so it can be reused
66
92
  * programmatically (e.g. by `skillit init`) without argv gymnastics. Sets
@@ -99,6 +125,22 @@ export async function runRefineCommand(opts) {
99
125
  source = new CliRefineSource({ program, sourceGlob, cwd });
100
126
  reportInPlace = true;
101
127
  }
128
+ else if (resolution.kind === 'config') {
129
+ // --config-type guaranteed present by resolveRefineSource.
130
+ const parsed = parseConfigTypeSpec(opts.configType, cwd);
131
+ if ('error' in parsed) {
132
+ console.error(parsed.error);
133
+ process.exitCode = 1;
134
+ return;
135
+ }
136
+ source = new ConfigRefineSource({
137
+ configFile: parsed.configFile,
138
+ typeName: parsed.typeName,
139
+ name: parsed.typeName,
140
+ ...(opts.ground?.length ? { groundingGlobs: opts.ground } : {})
141
+ });
142
+ reportInPlace = true;
143
+ }
102
144
  else {
103
145
  // mcp source: --mcp guaranteed present by resolveRefineSource.
104
146
  const mcpPath = opts.mcp;
@@ -129,28 +171,16 @@ Use --mode build (TypeScript MCP server you own)
129
171
  else {
130
172
  console.log('Refining in runtime mode (overlay)');
131
173
  }
132
- const entries = await readMcpConfigFile(mcpPath);
133
- const entry = opts.server
134
- ? entries.find((e) => e.name === opts.server)
135
- : entries.find((e) => !e.disabled);
136
- if (!entry) {
137
- const name = opts.server ? `"${opts.server}"` : 'any enabled server';
138
- throw new Error(`Could not find ${name} in ${mcpPath}`);
139
- }
140
- if (mode === 'build') {
141
- const sourceGlob = opts.sourceGlob ?? join(cwd, '**', '*.ts');
142
- source = new TypeScriptMcpRefineSource({
143
- transport: entry.transport,
144
- sourceGlob
145
- });
146
- reportInPlace = true;
147
- }
148
- else {
149
- source = new McpRefineSource({
150
- overlayPath,
151
- extract: () => extractMcpSkill({ transport: entry.transport })
152
- });
153
- }
174
+ const sourceGlob = opts.sourceGlob ?? join(cwd, '**', '*.ts');
175
+ source = await createMcpRefineSource({
176
+ mcpPath,
177
+ mode,
178
+ cwd,
179
+ serverName: opts.server,
180
+ overlayPath,
181
+ sourceGlob
182
+ });
183
+ reportInPlace = mode === 'build';
154
184
  const result = await runRefine(source, model, maxIterations, itemsPerIteration);
155
185
  reportResult(result, { reportInPlace, overlayPath });
156
186
  process.exitCode = result.passed ? 0 : 1;
@@ -163,8 +193,10 @@ Use --mode build (TypeScript MCP server you own)
163
193
  export function buildRefineCommand() {
164
194
  return new Command('refine')
165
195
  .description('Autonomously improve a skill via the audit→draft→review loop')
166
- .option('--source <kind>', 'cli | mcp | typedoc (auto-detected if omitted)')
196
+ .option('--source <kind>', 'cli | mcp | typedoc | config (auto-detected if omitted)')
167
197
  .option('--program <file#export>', 'commander program entry (cli source)')
198
+ .option('--config-type <file#export>', 'config type entry (config source)')
199
+ .option('--ground <glob>', 'glob(s) of code that consumes the config — fed to the model so runtime claims are grounded (repeatable; config source)', (val, prev) => [...prev, val], [])
168
200
  .option('--mcp <path>', 'path to mcp.json or MCP config file')
169
201
  .option('--server <name>', 'server name within the config (defaults to first enabled)')
170
202
  .option('--overlay <path>', 'path to overlay JSON file (runtime mode only)')
@@ -1 +1 @@
1
- {"version":3,"file":"refine.js","sourceRoot":"","sources":["../../src/commands/refine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"refine.js","sourceRoot":"","sources":["../../src/commands/refine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { RefineSourceKind } from './detect-source.js';
2
+ /** Options for CLI-path skill generation. */
3
+ export interface GenerateSkillOpts {
4
+ /** Project root being generated for. */
5
+ cwd: string;
6
+ /** Resolved project nature. */
7
+ nature: RefineSourceKind;
8
+ /** Skill name (consumer package name, scope stripped). */
9
+ name: string;
10
+ /** Absolute output directory (`<cwd>/<out>`). */
11
+ outDir: string;
12
+ /** `--program <file#export>` entry, if provided. */
13
+ program?: string;
14
+ }
15
+ /** Options for config-path skill generation. */
16
+ export interface GenerateConfigSkillOpts {
17
+ /** Absolute path to the TypeScript file declaring the config type. */
18
+ configFile: string;
19
+ /** Exported interface / type-alias name to document. */
20
+ typeName: string;
21
+ /**
22
+ * Explicit skill name. Optional — when omitted, `ConfigRefineSource` derives
23
+ * it from the package nearest the config file (scope-stripped), falling back
24
+ * to `typeName`. Pass this only to override that (e.g. a forced skill name).
25
+ */
26
+ name?: string;
27
+ /** Absolute output directory (`<cwd>/<out>`). */
28
+ outDir: string;
29
+ }
30
+ /** Options for typedoc-path skill generation. */
31
+ export interface GenerateTypeDocSkillOpts {
32
+ /** Package root. */
33
+ cwd: string;
34
+ /** Entry-point source files (absolute). */
35
+ entryPoints: string[];
36
+ /** Path to tsconfig.json. */
37
+ tsconfig: string;
38
+ /** Absolute output directory. */
39
+ outDir: string;
40
+ }
41
+ /**
42
+ * TypeDoc-path skill generation — delegates to the plugin pipeline.
43
+ *
44
+ * `@skillit/typedoc` (and its `typedoc` peer) is imported lazily so the CLI
45
+ * does not load TypeDoc at startup: only the typedoc source path pays that
46
+ * cost, and cli/config/mcp consumers need not install the `typedoc` peer.
47
+ */
48
+ export declare function generateTypeDocSkill(opts: GenerateTypeDocSkillOpts): Promise<void>;
49
+ /** Options for mcp-path skill generation. */
50
+ export interface GenerateMcpSkillOpts {
51
+ /** Path to mcp.json / MCP config file. */
52
+ mcpPath: string;
53
+ /** Server entry to select; defaults to the first enabled entry. */
54
+ server?: string;
55
+ /** Absolute output directory. */
56
+ outDir: string;
57
+ }
58
+ /**
59
+ * MCP-path skill generation — lazily imports `@skillit/mcp` so the CLI does not
60
+ * load the MCP stack (and its SDK) at startup for non-mcp commands.
61
+ */
62
+ export declare function generateMcpSkill(opts: GenerateMcpSkillOpts): Promise<void>;
63
+ /** CLI-path skill generation: loadProgram → extractCliSkill → writeCliSkill. */
64
+ export declare function generateCliSkill(opts: GenerateSkillOpts): Promise<void>;
65
+ /** Config-path skill generation: extract the surface → render → write. */
66
+ export declare function generateConfigSkill(opts: GenerateConfigSkillOpts): Promise<void>;
67
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxF;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED,0EAA0E;AAC1E,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAetF"}
@@ -0,0 +1,55 @@
1
+ // packages/client/src/generate.ts
2
+ import { extractCliSkill, loadProgram, writeCliSkill } from '@skillit/cli';
3
+ import { ConfigRefineSource, renderSkills, writeSkills } from '@skillit/core';
4
+ /**
5
+ * TypeDoc-path skill generation — delegates to the plugin pipeline.
6
+ *
7
+ * `@skillit/typedoc` (and its `typedoc` peer) is imported lazily so the CLI
8
+ * does not load TypeDoc at startup: only the typedoc source path pays that
9
+ * cost, and cli/config/mcp consumers need not install the `typedoc` peer.
10
+ */
11
+ export async function generateTypeDocSkill(opts) {
12
+ const { generateTypeDocSkills } = await import('@skillit/typedoc');
13
+ await generateTypeDocSkills({
14
+ entryPoints: opts.entryPoints,
15
+ tsconfig: opts.tsconfig,
16
+ cwd: opts.cwd,
17
+ outDir: opts.outDir
18
+ });
19
+ }
20
+ /**
21
+ * MCP-path skill generation — lazily imports `@skillit/mcp` so the CLI does not
22
+ * load the MCP stack (and its SDK) at startup for non-mcp commands.
23
+ */
24
+ export async function generateMcpSkill(opts) {
25
+ const { generateMcpSkill: run } = await import('@skillit/mcp');
26
+ await run({
27
+ mcpPath: opts.mcpPath,
28
+ ...(opts.server !== undefined ? { serverName: opts.server } : {}),
29
+ outDir: opts.outDir
30
+ });
31
+ }
32
+ /** CLI-path skill generation: loadProgram → extractCliSkill → writeCliSkill. */
33
+ export async function generateCliSkill(opts) {
34
+ const program = await loadProgram({ program: opts.program, cwd: opts.cwd });
35
+ const skill = await extractCliSkill({ program, metadata: { name: opts.name } });
36
+ writeCliSkill(skill, { outDir: opts.outDir });
37
+ }
38
+ /** Config-path skill generation: extract the surface → render → write. */
39
+ export async function generateConfigSkill(opts) {
40
+ const skill = await new ConfigRefineSource({
41
+ configFile: opts.configFile,
42
+ typeName: opts.typeName,
43
+ // Only pass an explicit name when provided; otherwise let ConfigRefineSource
44
+ // derive it (package nearest the config file → typeName).
45
+ ...(opts.name !== undefined ? { name: opts.name } : {}),
46
+ // A config-specific description so the rendered skill describes the config
47
+ // surface, not the package blurb (which is about the whole package).
48
+ description: `Configuration options for ${opts.typeName}.`
49
+ }).extract();
50
+ // Config skills are content-rich (per-option routing + example); raise the
51
+ // per-reference token budget so a multi-option surface isn't truncated.
52
+ const rendered = renderSkills([skill], { outDir: opts.outDir, maxTokens: 16000 });
53
+ writeSkills(rendered, { outDir: opts.outDir });
54
+ }
55
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA6C9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAA8B;IACvE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnE,MAAM,qBAAqB,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAYD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA0B;IAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,GAAG,CAAC;QACR,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,aAAa,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAA6B;IACrE,MAAM,KAAK,GAAG,MAAM,IAAI,kBAAkB,CAAC;QACzC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,6EAA6E;QAC7E,0DAA0D;QAC1D,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,2EAA2E;QAC3E,qEAAqE;QACrE,WAAW,EAAE,6BAA6B,IAAI,CAAC,QAAQ,GAAG;KAC3D,CAAC,CAAC,OAAO,EAAE,CAAC;IACb,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** The subset of command options `resolveMcpMode` reads. */
2
+ export interface McpModeOpts {
3
+ mode?: string;
4
+ mcp?: string;
5
+ }
6
+ /** Resolved mode, or a user-facing error message. */
7
+ export type McpModeResult = {
8
+ mode: 'build' | 'runtime';
9
+ } | {
10
+ error: string;
11
+ };
12
+ /**
13
+ * Resolve the MCP refine/audit mode: honor an explicit `--mode build|runtime`,
14
+ * otherwise auto-detect via {@link detectRefineMode}, returning an actionable
15
+ * error when the mode is invalid or detection is ambiguous.
16
+ *
17
+ * @param cwd - project directory to inspect for build/runtime signals.
18
+ * @param opts - parsed `--mode` / `--mcp` options.
19
+ * @returns the resolved mode, or `{ error }` for the caller to print + exit 1.
20
+ */
21
+ export declare function resolveMcpMode(cwd: string, opts: McpModeOpts): Promise<McpModeResult>;
22
+ //# sourceMappingURL=mcp-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-mode.d.ts","sourceRoot":"","sources":["../src/mcp-mode.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAc3F"}
@@ -0,0 +1,27 @@
1
+ import { detectRefineMode } from './detect-mode.js';
2
+ /**
3
+ * Resolve the MCP refine/audit mode: honor an explicit `--mode build|runtime`,
4
+ * otherwise auto-detect via {@link detectRefineMode}, returning an actionable
5
+ * error when the mode is invalid or detection is ambiguous.
6
+ *
7
+ * @param cwd - project directory to inspect for build/runtime signals.
8
+ * @param opts - parsed `--mode` / `--mcp` options.
9
+ * @returns the resolved mode, or `{ error }` for the caller to print + exit 1.
10
+ */
11
+ export async function resolveMcpMode(cwd, opts) {
12
+ if (opts.mode === 'build' || opts.mode === 'runtime')
13
+ return { mode: opts.mode };
14
+ if (opts.mode !== undefined) {
15
+ return { error: `Invalid --mode value: ${opts.mode}. Use 'build' or 'runtime'.` };
16
+ }
17
+ const detected = await detectRefineMode(cwd, opts.mcp ?? cwd);
18
+ if (detected === 'ambiguous') {
19
+ return {
20
+ error: `Cannot determine MCP mode.
21
+ Use --mode build (TypeScript MCP server you own)
22
+ --mode runtime (consuming project, any MCP server)`
23
+ };
24
+ }
25
+ return { mode: detected };
26
+ }
27
+ //# sourceMappingURL=mcp-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-mode.js","sourceRoot":"","sources":["../src/mcp-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAWpD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,IAAiB;IACjE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACjF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,yBAAyB,IAAI,CAAC,IAAI,6BAA6B,EAAE,CAAC;IACpF,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC9D,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE;;wDAE2C;SACnD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,6 +1,17 @@
1
1
  import type { DraftRequest, ReviewRequest, ReviewResult, ModelClient } from '@skillit/core';
2
2
  export declare function parseReviewVerdict(text: string): ReviewResult;
3
3
  export declare function buildDraftPrompt(req: DraftRequest): string;
4
+ /**
5
+ * Extracts the drafted annotation from a model response.
6
+ *
7
+ * The drafter is instructed (see {@link buildDraftPrompt}) to wrap its answer
8
+ * in `<answer>…</answer>`. We return the inner text so any conversational
9
+ * preamble a chatty backend adds outside the tags (e.g. the `claude` CLI's
10
+ * "Now I have full context… Let me write the annotation.") is discarded.
11
+ * Falls back to the trimmed response when the tags are absent, so a
12
+ * well-behaved backend that omits them still works.
13
+ */
14
+ export declare function extractDraftAnswer(text: string): string;
4
15
  export declare function buildReviewPrompt(req: ReviewRequest): string;
5
16
  export declare class AnthropicModelClient implements ModelClient {
6
17
  private client;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/model/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA4C7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAa1D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAe5D;AAED,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,MAAM,CAAmB;IAE3B,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9C;IAEK,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAatD;CACF"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/model/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5F,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA4C7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAa1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAe5D;AAED,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,MAAM,CAAmB;IAE3B,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9C;IAEK,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAatD;CACF"}
@@ -58,13 +58,27 @@ export function buildDraftPrompt(req) {
58
58
  `Tag to fill: @${req.tag}`,
59
59
  `Guidance: ${req.suggestion}`,
60
60
  req.currentValue ? `Current value:\n${req.currentValue}` : 'No current value.',
61
- 'Write only the annotation content — no code fences, no extra commentary.'
61
+ 'Wrap ONLY the annotation content in <answer></answer> tags. Put nothing outside the tags — no preamble, no code fences, no commentary, and no description of what you are about to do.'
62
62
  ];
63
63
  if (req.guidance) {
64
64
  parts.push(`Conventions (follow these):\n${req.guidance}`);
65
65
  }
66
66
  return parts.join('\n\n');
67
67
  }
68
+ /**
69
+ * Extracts the drafted annotation from a model response.
70
+ *
71
+ * The drafter is instructed (see {@link buildDraftPrompt}) to wrap its answer
72
+ * in `<answer>…</answer>`. We return the inner text so any conversational
73
+ * preamble a chatty backend adds outside the tags (e.g. the `claude` CLI's
74
+ * "Now I have full context… Let me write the annotation.") is discarded.
75
+ * Falls back to the trimmed response when the tags are absent, so a
76
+ * well-behaved backend that omits them still works.
77
+ */
78
+ export function extractDraftAnswer(text) {
79
+ const match = text.match(/<answer>([\s\S]*?)<\/answer>/i);
80
+ return (match?.[1] ?? text).trim();
81
+ }
68
82
  export function buildReviewPrompt(req) {
69
83
  const parts = [
70
84
  `You are reviewing a skill annotation draft for "${req.skill.name}".`,
@@ -91,7 +105,7 @@ export class AnthropicModelClient {
91
105
  if (!block || block.type !== 'text') {
92
106
  throw new Error(`Unexpected response from ${DRAFTER}: no text block`);
93
107
  }
94
- return block.text.trim();
108
+ return extractDraftAnswer(block.text);
95
109
  }
96
110
  async review(req) {
97
111
  const prompt = buildReviewPrompt(req);
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/model/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/model/anthropic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/model/cli/adapters.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,kEAAkE;IAClE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC3D;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AA0DD,eAAO,MAAM,aAAa,EAAE,UAyB3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,UA2B1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,UA4B5B,CAAC;AAQF,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,CAE/D"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../../src/model/cli/adapters.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,kEAAkE;IAClE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC3D;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AA0DD,eAAO,MAAM,aAAa,EAAE,UAgD3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,UA2B1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,UAsC5B,CAAC;AAQF,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,UAAU,CAE/D"}
@@ -52,7 +52,30 @@ export const claudeAdapter = {
52
52
  const model = role === 'review' ? REVIEWER : DRAFTER;
53
53
  return {
54
54
  cmd: 'claude',
55
- args: ['-p', '--output-format', 'json', '--model', model],
55
+ // Isolate claude as a pure text generator for the refine loop. Without
56
+ // this, `claude -p` runs its full agent loop: it once rewrote CLAUDE.md
57
+ // mid-draft (file tools enabled) and emitted decorative "★ Insight"
58
+ // blocks that leaked verbatim into the JSDoc tags refine writes. So:
59
+ // --disallowedTools deny every side-effecting tool (no file edits)
60
+ // --strict-mcp-config ignore project/user MCP servers
61
+ // --settings outputStyle:default default style (belt-and-suspenders)
62
+ // --append-system-prompt forbid decoration — the drafter model
63
+ // (sonnet) adds "★ Insight" blocks even under the default style, and
64
+ // only an explicit system-prompt instruction reliably suppresses them
65
+ args: [
66
+ '-p',
67
+ '--output-format',
68
+ 'json',
69
+ '--model',
70
+ model,
71
+ '--strict-mcp-config',
72
+ '--disallowedTools',
73
+ 'Edit,Write,MultiEdit,NotebookEdit,Bash,Task,WebFetch,WebSearch',
74
+ '--settings',
75
+ '{"outputStyle":"default"}',
76
+ '--append-system-prompt',
77
+ 'CRITICAL: Output ONLY the requested content. Never add "★ Insight" blocks, horizontal-rule (─) decorations, section headers, preambles, or meta-commentary.'
78
+ ],
56
79
  input: prompt
57
80
  };
58
81
  },
@@ -103,7 +126,17 @@ export const copilotAdapter = {
103
126
  // copilot uses its default model; prompt piped via stdin (not `-p <text>`)
104
127
  // so untrusted prompt content never reaches argv — keeps the Windows
105
128
  // shell-launch path injection-safe (only static flags are args).
106
- return { cmd: 'copilot', args: ['--output-format', 'json', '--no-color'], input: prompt };
129
+ //
130
+ // `--available-tools=` (empty whitelist) is the critical isolation: copilot
131
+ // is a full agent that can edit files + run shell, and as a refine model
132
+ // backend it once checked out a branch and pushed a commit. An empty
133
+ // whitelist means NO tools are available to the model, so it can only
134
+ // generate text. Verified live: edit + `git status` are both denied.
135
+ return {
136
+ cmd: 'copilot',
137
+ args: ['--output-format', 'json', '--no-color', '--available-tools='],
138
+ input: prompt
139
+ };
107
140
  },
108
141
  extractResult(stdout) {
109
142
  // copilot emits JSONL; the answer is the last `assistant.message` event's