@skillit/core 1.5.0 → 2.0.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.
Files changed (61) hide show
  1. package/dist/audit-formatter.d.ts +2 -0
  2. package/dist/audit-formatter.d.ts.map +1 -1
  3. package/dist/audit-formatter.js +2 -0
  4. package/dist/audit-formatter.js.map +1 -1
  5. package/dist/audit-score.js +82 -4
  6. package/dist/audit-score.js.map +1 -1
  7. package/dist/audit-types.d.ts +1 -29
  8. package/dist/audit-types.d.ts.map +1 -1
  9. package/dist/audit.d.ts +6 -2
  10. package/dist/audit.d.ts.map +1 -1
  11. package/dist/audit.js +39 -32
  12. package/dist/audit.js.map +1 -1
  13. package/dist/config-extract.d.ts +48 -0
  14. package/dist/config-extract.d.ts.map +1 -0
  15. package/dist/config-extract.js +230 -0
  16. package/dist/config-extract.js.map +1 -0
  17. package/dist/docs-scanner.d.ts +3 -0
  18. package/dist/docs-scanner.d.ts.map +1 -1
  19. package/dist/docs-scanner.js +3 -0
  20. package/dist/docs-scanner.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/refine/ast-edit.d.ts +41 -0
  26. package/dist/refine/ast-edit.d.ts.map +1 -1
  27. package/dist/refine/ast-edit.js +187 -19
  28. package/dist/refine/ast-edit.js.map +1 -1
  29. package/dist/refine/config-source.d.ts +81 -0
  30. package/dist/refine/config-source.d.ts.map +1 -0
  31. package/dist/refine/config-source.js +283 -0
  32. package/dist/refine/config-source.js.map +1 -0
  33. package/dist/refine/index.d.ts +5 -1
  34. package/dist/refine/index.d.ts.map +1 -1
  35. package/dist/refine/index.js +3 -1
  36. package/dist/refine/index.js.map +1 -1
  37. package/dist/refine/jsdoc-edit.d.ts +8 -1
  38. package/dist/refine/jsdoc-edit.d.ts.map +1 -1
  39. package/dist/refine/jsdoc-edit.js +8 -1
  40. package/dist/refine/jsdoc-edit.js.map +1 -1
  41. package/dist/refine/loop.d.ts.map +1 -1
  42. package/dist/refine/loop.js +26 -5
  43. package/dist/refine/loop.js.map +1 -1
  44. package/dist/refine/package-metadata.d.ts +28 -0
  45. package/dist/refine/package-metadata.d.ts.map +1 -0
  46. package/dist/refine/package-metadata.js +64 -0
  47. package/dist/refine/package-metadata.js.map +1 -0
  48. package/dist/refine/select-targets.d.ts.map +1 -1
  49. package/dist/refine/select-targets.js +31 -6
  50. package/dist/refine/select-targets.js.map +1 -1
  51. package/dist/refine/types.d.ts +29 -2
  52. package/dist/refine/types.d.ts.map +1 -1
  53. package/dist/renderer.js +13 -8
  54. package/dist/renderer.js.map +1 -1
  55. package/dist/tokens.d.ts +2 -0
  56. package/dist/tokens.d.ts.map +1 -1
  57. package/dist/tokens.js +2 -0
  58. package/dist/tokens.js.map +1 -1
  59. package/dist/types.d.ts +21 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ import type { SgNode } from '@ast-grep/napi';
2
+ import type { ExtractedConfigSurface } from './config-types.js';
3
+ /**
4
+ * Extract a configuration surface from a TypeScript config type.
5
+ *
6
+ * Walks the properties of the interface or object-type alias named `typeName`
7
+ * (via ast-grep — core has no `typescript` dependency, mirroring `ast-edit.ts`)
8
+ * and produces an {@link ExtractedConfigSurface} with `sourceType: 'config'`.
9
+ * Each property becomes an {@link ExtractedConfigOption} keyed by its
10
+ * dot-notation `configKey`; nested object-literal types recurse (e.g.
11
+ * `components.prefix`). Per-property JSDoc supplies the description, the
12
+ * `@default` value, and the `@useWhen` / `@avoidWhen` / `@pitfalls` / `@remarks`
13
+ * routing tags.
14
+ *
15
+ * @param source - TypeScript source text containing the config type declaration.
16
+ * @param typeName - Name of the interface or object-type alias to extract.
17
+ * @returns The extracted config surface, or `undefined` when no matching type
18
+ * declaration is found in `source`.
19
+ */
20
+ export declare function extractConfigSurface(source: string, typeName: string): ExtractedConfigSurface | undefined;
21
+ /**
22
+ * Locate the object-type body for the type named `typeName`. Handles an
23
+ * `interface X { … }` (returns its `interface_body`) and a
24
+ * `type X = { … }` alias (returns the `object_type` value). Returns `undefined`
25
+ * for non-object type aliases (unions, primitives, etc.) or a missing name.
26
+ */
27
+ export declare function findTypeBody(root: SgNode, typeName: string): SgNode | undefined;
28
+ /**
29
+ * Navigate a dot path (e.g. `outDir` or `components.prefix`) from a type body
30
+ * to the `property_signature` node it names, descending into inline
31
+ * object-literal types for each intermediate segment. Returns `undefined` if
32
+ * any segment is missing. Used by the config refine source to locate the
33
+ * declaration whose leading JSDoc carries a property's routing tags.
34
+ */
35
+ export declare function findPropertyByPath(body: SgNode, path: string): SgNode | undefined;
36
+ /**
37
+ * Escape the comment-close sequence `*` + `/` in text destined for a JSDoc
38
+ * block, so model-drafted content containing it — e.g. a `**` + `/*.ts` glob in
39
+ * an `include`/`exclude` pitfall — cannot terminate the block early and corrupt
40
+ * the file. A backslash is inserted between the star and the slash, which the
41
+ * comment scanner does not treat as a close (the star is followed by the
42
+ * backslash, not the slash). Idempotent: an already-escaped sequence has no bare
43
+ * star-slash left to match.
44
+ */
45
+ export declare function escapeJsDocClose(text: string): string;
46
+ /** Inverse of {@link escapeJsDocClose}, applied when reading tag content back. */
47
+ export declare function unescapeJsDocClose(text: string): string;
48
+ //# sourceMappingURL=config-extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-extract.d.ts","sourceRoot":"","sources":["../src/config-extract.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAyB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,sBAAsB,GAAG,SAAS,CAWpC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY/E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBjF;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD"}
@@ -0,0 +1,230 @@
1
+ // packages/core/src/config-extract.ts
2
+ import { parse, Lang } from '@ast-grep/napi';
3
+ /**
4
+ * Extract a configuration surface from a TypeScript config type.
5
+ *
6
+ * Walks the properties of the interface or object-type alias named `typeName`
7
+ * (via ast-grep — core has no `typescript` dependency, mirroring `ast-edit.ts`)
8
+ * and produces an {@link ExtractedConfigSurface} with `sourceType: 'config'`.
9
+ * Each property becomes an {@link ExtractedConfigOption} keyed by its
10
+ * dot-notation `configKey`; nested object-literal types recurse (e.g.
11
+ * `components.prefix`). Per-property JSDoc supplies the description, the
12
+ * `@default` value, and the `@useWhen` / `@avoidWhen` / `@pitfalls` / `@remarks`
13
+ * routing tags.
14
+ *
15
+ * @param source - TypeScript source text containing the config type declaration.
16
+ * @param typeName - Name of the interface or object-type alias to extract.
17
+ * @returns The extracted config surface, or `undefined` when no matching type
18
+ * declaration is found in `source`.
19
+ */
20
+ export function extractConfigSurface(source, typeName) {
21
+ const root = parse(Lang.TypeScript, source).root();
22
+ const body = findTypeBody(root, typeName);
23
+ if (!body)
24
+ return undefined;
25
+ return {
26
+ name: typeName,
27
+ description: '',
28
+ sourceType: 'config',
29
+ options: walkProperties(body, '')
30
+ };
31
+ }
32
+ /**
33
+ * Locate the object-type body for the type named `typeName`. Handles an
34
+ * `interface X { … }` (returns its `interface_body`) and a
35
+ * `type X = { … }` alias (returns the `object_type` value). Returns `undefined`
36
+ * for non-object type aliases (unions, primitives, etc.) or a missing name.
37
+ */
38
+ export function findTypeBody(root, typeName) {
39
+ for (const node of descendants(root)) {
40
+ const kind = node.kind();
41
+ if (kind === 'interface_declaration' && node.field('name')?.text() === typeName) {
42
+ return node.field('body') ?? undefined;
43
+ }
44
+ if (kind === 'type_alias_declaration' && node.field('name')?.text() === typeName) {
45
+ const value = node.field('value');
46
+ return value?.kind() === 'object_type' ? value : undefined;
47
+ }
48
+ }
49
+ return undefined;
50
+ }
51
+ /**
52
+ * Navigate a dot path (e.g. `outDir` or `components.prefix`) from a type body
53
+ * to the `property_signature` node it names, descending into inline
54
+ * object-literal types for each intermediate segment. Returns `undefined` if
55
+ * any segment is missing. Used by the config refine source to locate the
56
+ * declaration whose leading JSDoc carries a property's routing tags.
57
+ */
58
+ export function findPropertyByPath(body, path) {
59
+ const parts = path.split('.');
60
+ let currentBody = body;
61
+ for (let i = 0; i < parts.length; i++) {
62
+ if (!currentBody)
63
+ return undefined;
64
+ const prop = currentBody
65
+ .children()
66
+ .find((c) => c.kind() === 'property_signature' && c.field('name')?.text() === parts[i]);
67
+ if (!prop)
68
+ return undefined;
69
+ if (i === parts.length - 1)
70
+ return prop;
71
+ currentBody = prop
72
+ .field('type')
73
+ ?.children()
74
+ .find((n) => n.kind() === 'object_type');
75
+ }
76
+ return undefined;
77
+ }
78
+ /** Walk every `property_signature` directly under `bodyNode`. */
79
+ function walkProperties(bodyNode, prefix) {
80
+ const options = [];
81
+ for (const child of bodyNode.children()) {
82
+ if (child.kind() !== 'property_signature')
83
+ continue;
84
+ const nameNode = child.field('name');
85
+ if (!nameNode)
86
+ continue;
87
+ const name = nameNode.text();
88
+ const configKey = prefix ? `${prefix}.${name}` : name;
89
+ // type_annotation text is `: <type>`; strip the leading colon/space and
90
+ // collapse internal whitespace so a multi-line type (e.g. a mapped type
91
+ // spanning several lines) renders as one line — a literal newline in the
92
+ // captured text would otherwise corrupt the markdown options table.
93
+ const typeNode = child.field('type');
94
+ const typeText = (typeNode?.text() ?? '')
95
+ .replace(/^\s*:\s*/, '')
96
+ .replace(/\s+/g, ' ')
97
+ .trim();
98
+ // Optional when a `?` precedes the `:` (type-level `?` comes after the colon).
99
+ const required = !/^[^:]*\?/.test(child.text());
100
+ const doc = parsePropertyJsDoc(child.prev() ?? undefined);
101
+ const option = {
102
+ name,
103
+ configKey,
104
+ type: typeText || 'unknown',
105
+ description: doc.description ?? '',
106
+ required
107
+ };
108
+ if (doc.defaultValue !== undefined)
109
+ option.defaultValue = doc.defaultValue;
110
+ if (doc.useWhen)
111
+ option.useWhen = splitTagContent(doc.useWhen);
112
+ if (doc.avoidWhen)
113
+ option.avoidWhen = splitTagContent(doc.avoidWhen);
114
+ if (doc.pitfalls)
115
+ option.pitfalls = splitTagContent(doc.pitfalls);
116
+ if (doc.remarks !== undefined)
117
+ option.remarks = doc.remarks;
118
+ options.push(option);
119
+ // Recurse into an inline object-literal type → dot-notation child keys.
120
+ const objectType = typeNode?.children().find((n) => n.kind() === 'object_type');
121
+ if (objectType) {
122
+ options.push(...walkProperties(objectType, configKey));
123
+ }
124
+ }
125
+ return options;
126
+ }
127
+ /**
128
+ * Escape the comment-close sequence `*` + `/` in text destined for a JSDoc
129
+ * block, so model-drafted content containing it — e.g. a `**` + `/*.ts` glob in
130
+ * an `include`/`exclude` pitfall — cannot terminate the block early and corrupt
131
+ * the file. A backslash is inserted between the star and the slash, which the
132
+ * comment scanner does not treat as a close (the star is followed by the
133
+ * backslash, not the slash). Idempotent: an already-escaped sequence has no bare
134
+ * star-slash left to match.
135
+ */
136
+ export function escapeJsDocClose(text) {
137
+ return text.replace(/\*\//g, '*\\/');
138
+ }
139
+ /** Inverse of {@link escapeJsDocClose}, applied when reading tag content back. */
140
+ export function unescapeJsDocClose(text) {
141
+ return text.replace(/\*\\\//g, '*/');
142
+ }
143
+ /**
144
+ * Split a JSDoc tag's content into discrete entries. A markdown bullet list
145
+ * (lines starting with `-` or `*`) becomes one entry per bullet (marker
146
+ * stripped, continuation lines folded in); plain prose stays a single entry.
147
+ * This keeps `useWhen`/`avoidWhen`/`pitfalls` — which are `string[]` — as clean
148
+ * per-item arrays so the renderer emits one bullet each, instead of wrapping a
149
+ * whole pre-bulleted blob in another `- ` (the `- - …` double-bullet defect).
150
+ */
151
+ function splitTagContent(raw) {
152
+ const lines = raw.split('\n');
153
+ const bulleted = lines.some((line) => /^\s*[-*]\s+/.test(line));
154
+ if (!bulleted) {
155
+ const trimmed = raw.trim();
156
+ return trimmed ? [trimmed] : [];
157
+ }
158
+ const items = [];
159
+ for (const line of lines) {
160
+ const match = line.match(/^\s*[-*]\s+(.*)$/);
161
+ if (match) {
162
+ items.push((match[1] ?? '').trim());
163
+ }
164
+ else if (items.length > 0 && line.trim()) {
165
+ items[items.length - 1] += `\n${line.trim()}`;
166
+ }
167
+ }
168
+ return items.filter((item) => item.length > 0);
169
+ }
170
+ /**
171
+ * Parse a property's leading `/** … *\/` JSDoc into a description plus the
172
+ * `@default` / routing tags. Returns an empty object when `node` is not a
173
+ * JSDoc comment.
174
+ */
175
+ function parsePropertyJsDoc(node) {
176
+ if (!node || node.kind() !== 'comment' || !node.text().startsWith('/**')) {
177
+ return {};
178
+ }
179
+ const lines = node
180
+ .text()
181
+ .replace(/^\/\*\*/, '')
182
+ .replace(/\s*\*\/\s*$/, '')
183
+ .split('\n')
184
+ .map((line) => line.replace(/^\s*\*? ?/, '').trimEnd());
185
+ const descriptionLines = [];
186
+ const tags = {};
187
+ let current;
188
+ for (const line of lines) {
189
+ const tagMatch = line.match(/^@(\w+)\s?(.*)$/);
190
+ if (tagMatch?.[1]) {
191
+ current = tagMatch[1];
192
+ (tags[current] ??= []).push(tagMatch[2] ?? '');
193
+ }
194
+ else if (current) {
195
+ (tags[current] ??= []).push(line);
196
+ }
197
+ else {
198
+ descriptionLines.push(line);
199
+ }
200
+ }
201
+ const join = (key) => tags[key] ? unescapeJsDocClose(tags[key].join('\n').trim()) : undefined;
202
+ const description = descriptionLines.join('\n').trim();
203
+ const doc = {};
204
+ if (description)
205
+ doc.description = description;
206
+ const defaultValue = join('default');
207
+ if (defaultValue !== undefined)
208
+ doc.defaultValue = defaultValue;
209
+ const useWhen = join('useWhen');
210
+ if (useWhen !== undefined)
211
+ doc.useWhen = useWhen;
212
+ const avoidWhen = join('avoidWhen');
213
+ if (avoidWhen !== undefined)
214
+ doc.avoidWhen = avoidWhen;
215
+ const pitfalls = join('pitfalls');
216
+ if (pitfalls !== undefined)
217
+ doc.pitfalls = pitfalls;
218
+ const remarks = join('remarks');
219
+ if (remarks !== undefined)
220
+ doc.remarks = remarks;
221
+ return doc;
222
+ }
223
+ /** Depth-first iterator over all descendant nodes (including `root`). */
224
+ function* descendants(root) {
225
+ yield root;
226
+ for (const child of root.children()) {
227
+ yield* descendants(child);
228
+ }
229
+ }
230
+ //# sourceMappingURL=config-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-extract.js","sourceRoot":"","sources":["../src/config-extract.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,QAAgB;IAEhB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,QAAgB;IACzD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,uBAAuB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAY;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,WAAW,GAAuB,IAAI,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACnC,MAAM,IAAI,GAAuB,WAAW;aACzC,QAAQ,EAAE;aACV,IAAI,CACH,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,oBAAoB,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CACzF,CAAC;QACJ,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,WAAW,GAAG,IAAI;aACf,KAAK,CAAC,MAAM,CAAC;YACd,EAAE,QAAQ,EAAE;aACX,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,aAAa,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,iEAAiE;AACjE,SAAS,cAAc,CAAC,QAAgB,EAAE,MAAc;IACtD,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,oBAAoB;YAAE,SAAS;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtD,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aACtC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,IAAI,EAAE,CAAC;QAEV,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAA0B;YACpC,IAAI;YACJ,SAAS;YACT,IAAI,EAAE,QAAQ,IAAI,SAAS;YAC3B,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,QAAQ;SACT,CAAC;QACF,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;YAAE,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QAC3E,IAAI,GAAG,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,GAAG,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,wEAAwE;QACxE,MAAM,UAAU,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,aAAa,CAAC,CAAC;QAChF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAWD;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI;SACf,IAAI,EAAE;SACN,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAE1D,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,IAAI,GAA6B,EAAE,CAAC;IAC1C,IAAI,OAA2B,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAW,EAAsB,EAAE,CAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,IAAI,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,yEAAyE;AACzE,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAY;IAChC,MAAM,IAAI,CAAC;IACX,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -20,6 +20,9 @@ export declare function scanDocs(options: DocsExtractionOptions): ParsedMarkdown
20
20
  /**
21
21
  * Convert parsed markdown documents to the generic `ExtractedDocument` shape.
22
22
  *
23
+ * @param docs - Parsed markdown documents (from `scanDocs()`) to convert; each
24
+ * contributes its `title` and `rawContent`.
25
+ * @returns One `ExtractedDocument` per input doc, in the same order.
23
26
  * @category Parsing
24
27
  * @useWhen
25
28
  * - You have ParsedMarkdownDoc objects from scanDocs() and need to attach them to an ExtractedSkill
@@ -1 +1 @@
1
- {"version":3,"file":"docs-scanner.d.ts","sourceRoot":"","sources":["../src/docs-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA8FpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,iBAAiB,EAAE,CAuB5E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAEvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAyCrE"}
1
+ {"version":3,"file":"docs-scanner.d.ts","sourceRoot":"","sources":["../src/docs-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA8FpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,iBAAiB,EAAE,CAuB5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAEvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAyCrE"}
@@ -113,6 +113,9 @@ export function scanDocs(options) {
113
113
  /**
114
114
  * Convert parsed markdown documents to the generic `ExtractedDocument` shape.
115
115
  *
116
+ * @param docs - Parsed markdown documents (from `scanDocs()`) to convert; each
117
+ * contributes its `title` and `rawContent`.
118
+ * @returns One `ExtractedDocument` per input doc, in the same order.
116
119
  * @category Parsing
117
120
  * @useWhen
118
121
  * - You have ParsedMarkdownDoc objects from scanDocs() and need to attach them to an ExtractedSkill
@@ -1 +1 @@
1
- {"version":3,"file":"docs-scanner.js","sourceRoot":"","sources":["../src/docs-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-scanner.js","sourceRoot":"","sources":["../src/docs-scanner.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,7 +23,7 @@ export { renderResourcesReference, renderPromptsReference } from './references-m
23
23
  export type { McpReferenceOptions } from './references-mcp.js';
24
24
  export { renderLlmsTxt } from './llms-txt.js';
25
25
  export type { LlmsTxtOptions, LlmsTxtResult } from './llms-txt.js';
26
- export type { AuditSeverity, AuditIssue, AuditPass, AuditContext, ParsedReadme, AuditResult } from './audit-types.js';
26
+ export type { AuditSeverity, AuditIssue, AuditPass, ParsedReadme, AuditResult } from './audit-types.js';
27
27
  export { parseReadme } from './readme-parser.js';
28
28
  export { auditSkill } from './audit.js';
29
29
  export { formatAuditText, formatAuditJson, formatScoreEstimate } from './audit-formatter.js';
@@ -31,6 +31,7 @@ export { estimateSkillJudgeScore } from './audit-score.js';
31
31
  export type { SkillJudgeEstimate, ActionableImprovement } from './audit-score.js';
32
32
  export type { ConfigSourceType, ExtractedConfigSurface, ExtractedConfigOption, ExtractedConfigArgument } from './config-types.js';
33
33
  export { renderConfigSurfaceSection, renderConfigReference } from './config-renderer.js';
34
+ export { extractConfigSurface } from './config-extract.js';
34
35
  export type { ParsedSection, ParsedMarkdownDoc, DocsExtractionOptions } from './markdown-types.js';
35
36
  export { parseMarkdownDoc } from './markdown-parser.js';
36
37
  export { scanDocs, docsToExtractedDocuments, scanRootDocs } from './docs-scanner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnE,YAAY,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAElF,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnE,YAAY,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAElF,YAAY,EACV,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,7 @@ export { auditSkill } from './audit.js';
24
24
  export { formatAuditText, formatAuditJson, formatScoreEstimate } from './audit-formatter.js';
25
25
  export { estimateSkillJudgeScore } from './audit-score.js';
26
26
  export { renderConfigSurfaceSection, renderConfigReference } from './config-renderer.js';
27
+ export { extractConfigSurface } from './config-extract.js';
27
28
  export { parseMarkdownDoc } from './markdown-parser.js';
28
29
  export { scanDocs, docsToExtractedDocuments, scanRootDocs } from './docs-scanner.js';
29
30
  export { scanExamples, linkExamplesToSkill } from './examples-scanner.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsCH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAY9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAU3D,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAIzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG1E,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsCH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAW9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAU3D,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG1E,cAAc,mBAAmB,CAAC"}
@@ -8,8 +8,49 @@ import type { RefineTag } from './types.js';
8
8
  * - If a JSDoc block exists without the tag, the tag is appended before the
9
9
  * closing `*\/`.
10
10
  * - If the declaration is not found, the source is returned unchanged.
11
+ *
12
+ * @remarks
13
+ * Parses `source` with ast-grep (core carries no `typescript` dependency) and
14
+ * edits the text in place, so formatting outside the touched JSDoc block is
15
+ * preserved. Tag matching is by name, so re-running with the same tag is a
16
+ * no-op rather than a duplicate.
11
17
  */
12
18
  export declare function upsertJsDocTag(source: string, declName: string, tag: RefineTag, content: string): string;
19
+ /**
20
+ * Insert or update a JSDoc tag on a property of a config type.
21
+ *
22
+ * `propertyPath` is a dot path into the interface or object-type alias named
23
+ * `typeName` (e.g. `outDir` or `components.prefix`). Otherwise behaves like
24
+ * {@link upsertJsDocTag}. Returns the source unchanged when the type or
25
+ * property is not found. Used by the config refine source to write routing
26
+ * tags back onto a config type's property declarations.
27
+ *
28
+ * @remarks
29
+ * Resolves `propertyPath` against the body of `typeName` via ast-grep, recursing
30
+ * into nested object-type members for dotted paths. Like {@link upsertJsDocTag},
31
+ * the edit is text-level and idempotent per tag name.
32
+ */
33
+ export declare function upsertPropertyJsDocTag(source: string, typeName: string, propertyPath: string, tag: RefineTag, content: string): string;
34
+ /**
35
+ * Remove the refine-managed tag spans (`@useWhen`, `@avoidWhen`, `@pitfalls`,
36
+ * `@remarks`, `@example` — see {@link REFINE_TAGS}) from every JSDoc block in
37
+ * `source`, leaving each block's prose description and any non-refine tags
38
+ * intact.
39
+ *
40
+ * Used to feed an annotated config module back to the model as grounding
41
+ * without echoing the routing tags this package itself wrote across earlier
42
+ * refine iterations — those are documentation, not the implementation the model
43
+ * should ground runtime claims in. Unlike a blanket JSDoc strip, this preserves
44
+ * genuine hand-authored docs (e.g. validation notes on a `defineConfig` helper),
45
+ * which are exactly the runtime-behavior grounding we want to keep.
46
+ *
47
+ * Handles single-line (`/** @tag x *​/`) as well as multi-line blocks: each block
48
+ * is reduced to its inner content (opener/closer and ` * ` gutter dropped) before
49
+ * tags are matched, so an inline opener can't hide a tag. The block-matching
50
+ * regex is non-greedy, and writeback escapes a literal close sequence in content
51
+ * to `*\/`, so an escaped sequence inside a kept line never terminates early.
52
+ */
53
+ export declare function stripRefineTags(source: string): string;
13
54
  /**
14
55
  * Parse the leading JSDoc block of a named export declaration and return a
15
56
  * map of the RefineTag values found in it.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-edit.d.ts","sourceRoot":"","sources":["../../src/refine/ast-edit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAwF5C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,GACd,MAAM,CA+BR;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAoBpC"}
1
+ {"version":3,"file":"ast-edit.d.ts","sourceRoot":"","sources":["../../src/refine/ast-edit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAwF5C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,GACd,MAAM,CAKR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,GACd,MAAM,CAOR;AAgFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOtD;AA0CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAyCpC"}