@promptci/core 0.0.1 → 0.1.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/LICENSE +201 -201
- package/README.md +29 -30
- package/dist/agent-practices.d.ts +2 -0
- package/dist/agent-practices.d.ts.map +1 -1
- package/dist/agent-practices.js +91 -51
- package/dist/agent-practices.js.map +1 -1
- package/dist/ai-config.d.ts +139 -0
- package/dist/ai-config.d.ts.map +1 -0
- package/dist/ai-config.js +523 -0
- package/dist/ai-config.js.map +1 -0
- package/dist/baseline.d.ts +17 -1
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +5 -1
- package/dist/baseline.js.map +1 -1
- package/dist/buried-critical.d.ts +17 -0
- package/dist/buried-critical.d.ts.map +1 -0
- package/dist/buried-critical.js +112 -0
- package/dist/buried-critical.js.map +1 -0
- package/dist/canonical-owner.d.ts.map +1 -1
- package/dist/canonical-owner.js +18 -8
- package/dist/canonical-owner.js.map +1 -1
- package/dist/command-validity.d.ts.map +1 -1
- package/dist/command-validity.js +53 -74
- package/dist/command-validity.js.map +1 -1
- package/dist/conflicts.d.ts.map +1 -1
- package/dist/conflicts.js +1 -42
- package/dist/conflicts.js.map +1 -1
- package/dist/context-analysis.d.ts.map +1 -1
- package/dist/context-analysis.js +13 -2
- package/dist/context-analysis.js.map +1 -1
- package/dist/context-bloat.d.ts +19 -0
- package/dist/context-bloat.d.ts.map +1 -1
- package/dist/context-bloat.js +82 -9
- package/dist/context-bloat.js.map +1 -1
- package/dist/context-optimizer.d.ts.map +1 -1
- package/dist/context-optimizer.js +15 -54
- package/dist/context-optimizer.js.map +1 -1
- package/dist/copilot-instructions-detector.d.ts +24 -0
- package/dist/copilot-instructions-detector.d.ts.map +1 -0
- package/dist/copilot-instructions-detector.js +145 -0
- package/dist/copilot-instructions-detector.js.map +1 -0
- package/dist/cursor-rules-detector.d.ts +17 -0
- package/dist/cursor-rules-detector.d.ts.map +1 -0
- package/dist/cursor-rules-detector.js +110 -0
- package/dist/cursor-rules-detector.js.map +1 -0
- package/dist/custom-rules.d.ts +52 -0
- package/dist/custom-rules.d.ts.map +1 -0
- package/dist/custom-rules.js +298 -0
- package/dist/custom-rules.js.map +1 -0
- package/dist/dead-references.js +11 -9
- package/dist/dead-references.js.map +1 -1
- package/dist/detectors.d.ts +1 -3
- package/dist/detectors.d.ts.map +1 -1
- package/dist/detectors.js +46 -53
- package/dist/detectors.js.map +1 -1
- package/dist/duplicates.d.ts.map +1 -1
- package/dist/duplicates.js +10 -5
- package/dist/duplicates.js.map +1 -1
- package/dist/evidence.d.ts +28 -0
- package/dist/evidence.d.ts.map +1 -0
- package/dist/evidence.js +38 -0
- package/dist/evidence.js.map +1 -0
- package/dist/fix-engine.d.ts +11 -0
- package/dist/fix-engine.d.ts.map +1 -1
- package/dist/fix-engine.js +88 -71
- package/dist/fix-engine.js.map +1 -1
- package/dist/frameworks/python.d.ts.map +1 -1
- package/dist/frameworks/python.js +5 -2
- package/dist/frameworks/python.js.map +1 -1
- package/dist/health-score.d.ts.map +1 -1
- package/dist/health-score.js +1 -0
- package/dist/health-score.js.map +1 -1
- package/dist/hooks-settings-detector.d.ts +17 -0
- package/dist/hooks-settings-detector.d.ts.map +1 -0
- package/dist/hooks-settings-detector.js +228 -0
- package/dist/hooks-settings-detector.js.map +1 -0
- package/dist/index.d.ts +22 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -6
- package/dist/index.js.map +1 -1
- package/dist/manifest-consistency.d.ts +6 -0
- package/dist/manifest-consistency.d.ts.map +1 -1
- package/dist/manifest-consistency.js +26 -5
- package/dist/manifest-consistency.js.map +1 -1
- package/dist/markdown-fences.d.ts +112 -0
- package/dist/markdown-fences.d.ts.map +1 -0
- package/dist/markdown-fences.js +174 -0
- package/dist/markdown-fences.js.map +1 -0
- package/dist/mcp-config-detector.d.ts +20 -0
- package/dist/mcp-config-detector.d.ts.map +1 -0
- package/dist/mcp-config-detector.js +237 -0
- package/dist/mcp-config-detector.js.map +1 -0
- package/dist/missing-context.d.ts.map +1 -1
- package/dist/missing-context.js +2 -52
- package/dist/missing-context.js.map +1 -1
- package/dist/model-budgets.d.ts +69 -0
- package/dist/model-budgets.d.ts.map +1 -0
- package/dist/model-budgets.js +110 -0
- package/dist/model-budgets.js.map +1 -0
- package/dist/negative-instructions.d.ts +26 -0
- package/dist/negative-instructions.d.ts.map +1 -0
- package/dist/negative-instructions.js +174 -0
- package/dist/negative-instructions.js.map +1 -0
- package/dist/path-containment.d.ts +12 -0
- package/dist/path-containment.d.ts.map +1 -0
- package/dist/path-containment.js +53 -0
- package/dist/path-containment.js.map +1 -0
- package/dist/project-type.d.ts +12 -2
- package/dist/project-type.d.ts.map +1 -1
- package/dist/project-type.js +25 -12
- package/dist/project-type.js.map +1 -1
- package/dist/prompt-cache.d.ts.map +1 -1
- package/dist/prompt-cache.js +26 -19
- package/dist/prompt-cache.js.map +1 -1
- package/dist/promptci-gitignore.d.ts +34 -0
- package/dist/promptci-gitignore.d.ts.map +1 -0
- package/dist/promptci-gitignore.js +42 -0
- package/dist/promptci-gitignore.js.map +1 -0
- package/dist/repo-context.d.ts +27 -0
- package/dist/repo-context.d.ts.map +1 -1
- package/dist/repo-context.js +42 -11
- package/dist/repo-context.js.map +1 -1
- package/dist/report.d.ts +1 -0
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +132 -61
- package/dist/report.js.map +1 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +7 -3
- package/dist/scan.js.map +1 -1
- package/dist/scanner.d.ts +13 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +49 -37
- package/dist/scanner.js.map +1 -1
- package/dist/security-pack.d.ts +20 -0
- package/dist/security-pack.d.ts.map +1 -1
- package/dist/security-pack.js +27 -10
- package/dist/security-pack.js.map +1 -1
- package/dist/skills-detector.d.ts +19 -0
- package/dist/skills-detector.d.ts.map +1 -0
- package/dist/skills-detector.js +203 -0
- package/dist/skills-detector.js.map +1 -0
- package/dist/stale-instructions.d.ts +4 -1
- package/dist/stale-instructions.d.ts.map +1 -1
- package/dist/stale-instructions.js +51 -54
- package/dist/stale-instructions.js.map +1 -1
- package/dist/subagents-detector.d.ts +19 -0
- package/dist/subagents-detector.d.ts.map +1 -0
- package/dist/subagents-detector.js +155 -0
- package/dist/subagents-detector.js.map +1 -0
- package/dist/suppression.d.ts.map +1 -1
- package/dist/suppression.js +11 -45
- package/dist/suppression.js.map +1 -1
- package/dist/types.d.ts +28 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +25 -1
- package/dist/types.js.map +1 -1
- package/dist/vague-guidance.d.ts +15 -2
- package/dist/vague-guidance.d.ts.map +1 -1
- package/dist/vague-guidance.js +42 -40
- package/dist/vague-guidance.js.map +1 -1
- package/dist/windsurf-detector.d.ts +22 -0
- package/dist/windsurf-detector.d.ts.map +1 -0
- package/dist/windsurf-detector.js +87 -0
- package/dist/windsurf-detector.js.map +1 -0
- package/dist/within-section-dedup.d.ts +16 -0
- package/dist/within-section-dedup.d.ts.map +1 -0
- package/dist/within-section-dedup.js +153 -0
- package/dist/within-section-dedup.js.map +1 -0
- package/package.json +11 -8
- package/dist/cheap-model-routing.d.ts +0 -4
- package/dist/cheap-model-routing.d.ts.map +0 -1
- package/dist/cheap-model-routing.js +0 -43
- package/dist/cheap-model-routing.js.map +0 -1
- package/dist/cli-output-filter.d.ts +0 -16
- package/dist/cli-output-filter.d.ts.map +0 -1
- package/dist/cli-output-filter.js +0 -88
- package/dist/cli-output-filter.js.map +0 -1
- package/dist/context-cost.d.ts +0 -4
- package/dist/context-cost.d.ts.map +0 -1
- package/dist/context-cost.js +0 -70
- package/dist/context-cost.js.map +0 -1
- package/dist/context-recommender.d.ts +0 -3
- package/dist/context-recommender.d.ts.map +0 -1
- package/dist/context-recommender.js +0 -329
- package/dist/context-recommender.js.map +0 -1
- package/dist/llm.d.ts +0 -6
- package/dist/llm.d.ts.map +0 -1
- package/dist/llm.js +0 -67
- package/dist/llm.js.map +0 -1
- package/dist/mcp-detector.d.ts +0 -4
- package/dist/mcp-detector.d.ts.map +0 -1
- package/dist/mcp-detector.js +0 -131
- package/dist/mcp-detector.js.map +0 -1
- package/dist/native-tool-preference.d.ts +0 -20
- package/dist/native-tool-preference.d.ts.map +0 -1
- package/dist/native-tool-preference.js +0 -94
- package/dist/native-tool-preference.js.map +0 -1
- package/dist/output-verbosity.d.ts +0 -3
- package/dist/output-verbosity.d.ts.map +0 -1
- package/dist/output-verbosity.js +0 -83
- package/dist/output-verbosity.js.map +0 -1
- package/dist/product-boundary.d.ts +0 -11
- package/dist/product-boundary.d.ts.map +0 -1
- package/dist/product-boundary.js +0 -301
- package/dist/product-boundary.js.map +0 -1
package/dist/agent-practices.js
CHANGED
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
* Checks:
|
|
11
11
|
* - Verification loop — "run lint/tests before saying done"
|
|
12
12
|
* - Honesty policy — "report failures, don't fake success"
|
|
13
|
+
* - Ask-when-unsure — "say so and ask when uncertain, don't guess"
|
|
13
14
|
* - Read-before-edit — "read a file before editing it"
|
|
14
15
|
* - Scope control — "prefer focused diffs, don't rewrite unrelated code"
|
|
16
|
+
* - Code preservation — "preserve existing code, only change what's needed"
|
|
15
17
|
* - Plan-first guidance — "outline the approach before coding"
|
|
16
18
|
* - No contradictory "do not edit" header in human-maintained files
|
|
17
19
|
*
|
|
@@ -19,6 +21,7 @@
|
|
|
19
21
|
*/
|
|
20
22
|
import * as crypto from 'node:crypto';
|
|
21
23
|
import * as path from 'node:path';
|
|
24
|
+
import { stripCodeBlocks } from './markdown-fences.js';
|
|
22
25
|
const CHECKS = [
|
|
23
26
|
{
|
|
24
27
|
id: 'no-verification-loop',
|
|
@@ -62,10 +65,40 @@ const CHECKS = [
|
|
|
62
65
|
/never\s+hide\s+(error|fail)/i,
|
|
63
66
|
],
|
|
64
67
|
recommendation: 'Add a rule such as: "If tests fail, report the failure. Never claim success when commands error or tests are skipped."',
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
// An AI that doesn't report uncertainty or failures is a production risk,
|
|
69
|
+
// not a style suggestion — elevated from info 0.70 (roadmap FEAT-003).
|
|
70
|
+
severity: 'warning',
|
|
71
|
+
confidence: 0.75,
|
|
67
72
|
fixRecipe: 'If tests or commands fail, report the failure honestly. Never claim success when checks are skipped or error.',
|
|
68
73
|
},
|
|
74
|
+
{
|
|
75
|
+
// FEAT-005: uncertainty handling. Arguably the single most impactful missing
|
|
76
|
+
// instruction — an agent that guesses instead of asking produces confidently
|
|
77
|
+
// wrong work. Distinct from the honesty policy above: honesty is about
|
|
78
|
+
// reporting failures *after* a command runs; this is about surfacing doubt
|
|
79
|
+
// *before* acting, so a file can satisfy one and miss the other.
|
|
80
|
+
id: 'no-ask-when-unsure',
|
|
81
|
+
title: 'No "ask when unsure" instruction',
|
|
82
|
+
summary: 'No instruction found telling the agent to surface uncertainty — to ask or say so when it is unsure — ' +
|
|
83
|
+
'instead of guessing. Without this, agents may proceed on assumptions and produce confidently wrong work.',
|
|
84
|
+
patterns: [
|
|
85
|
+
/\bif\s+(?:you(?:'|’)?re\s+|you\s+are\s+|ever\s+)?unsure\b/i,
|
|
86
|
+
/\bif\s+in\s+(?:any\s+)?doubt\b/i,
|
|
87
|
+
/\bwhen\s+(?:you(?:'|’)?re\s+|you\s+are\s+)?(?:unsure|uncertain)\b/i,
|
|
88
|
+
/\bif\s+(?:you(?:'|’)?re\s+|you\s+are\s+|it(?:'|’)?s\s+)?uncertain\b/i,
|
|
89
|
+
/\bif\s+you\s+(?:don(?:'|’)?t|do\s+not|dont)\s+know\b/i,
|
|
90
|
+
/\bask\s+(?:before|first|for\s+clarification|the\s+user|a\s+question|questions)\b/i,
|
|
91
|
+
/\bclarify\s+(?:before|first|with)\b/i,
|
|
92
|
+
/\b(?:don(?:'|’)?t|do\s+not|dont)\s+guess\b/i,
|
|
93
|
+
/\bsay\s+(?:you|that\s+you)\s+(?:don(?:'|’)?t|do\s+not|dont)\s+know\b/i,
|
|
94
|
+
/\breport\s+uncertainty\b/i,
|
|
95
|
+
/\backnowledge\s+(?:when|uncertainty|any\s+uncertainty)\b/i,
|
|
96
|
+
],
|
|
97
|
+
recommendation: 'Add a rule such as: "If you are uncertain about the correct approach, say so and ask before proceeding rather than guessing."',
|
|
98
|
+
severity: 'warning',
|
|
99
|
+
confidence: 0.75,
|
|
100
|
+
fixRecipe: 'If you are uncertain about the correct approach, say so before proceeding rather than guessing.',
|
|
101
|
+
},
|
|
69
102
|
{
|
|
70
103
|
id: 'no-read-before-edit',
|
|
71
104
|
title: 'No "read before edit" instruction',
|
|
@@ -84,8 +117,10 @@ const CHECKS = [
|
|
|
84
117
|
/before\s+(?:you\s+)?(?:edit|modif|chang)\w*\b[^.\n]{0,40}\bread(?:ing)?\b/i,
|
|
85
118
|
],
|
|
86
119
|
recommendation: 'Add a rule such as: "Always read a file fully before editing it."',
|
|
87
|
-
|
|
88
|
-
|
|
120
|
+
// Editing files without reading them is the #1 source of AI coding
|
|
121
|
+
// mistakes — elevated from info 0.70 (roadmap FEAT-003).
|
|
122
|
+
severity: 'warning',
|
|
123
|
+
confidence: 0.75,
|
|
89
124
|
fixRecipe: 'Read a file before editing it. Preserve unrelated user changes.',
|
|
90
125
|
},
|
|
91
126
|
{
|
|
@@ -104,10 +139,40 @@ const CHECKS = [
|
|
|
104
139
|
/prefer\s+(small|focused|minimal)\s+(diff|change|pr)/i,
|
|
105
140
|
],
|
|
106
141
|
recommendation: 'Add a rule such as: "Prefer focused, minimal diffs. Do not rewrite or refactor code unrelated to the current task."',
|
|
107
|
-
|
|
108
|
-
|
|
142
|
+
// Unconstrained scope produces sweeping unrelated diffs that are hard to
|
|
143
|
+
// review — elevated from info 0.65 (roadmap FEAT-003).
|
|
144
|
+
severity: 'warning',
|
|
145
|
+
confidence: 0.7,
|
|
109
146
|
fixRecipe: 'Prefer focused, minimal diffs. Do not rewrite or refactor code unrelated to the current task.',
|
|
110
147
|
},
|
|
148
|
+
{
|
|
149
|
+
// FEAT-006: code preservation. Deliberately kept DISTINCT from
|
|
150
|
+
// `no-scope-control` above, which constrains the *breadth* of new changes
|
|
151
|
+
// ("prefer small, focused diffs"). This check constrains *destruction* of
|
|
152
|
+
// what already exists — deleting working code, dropping tests, or clobbering
|
|
153
|
+
// the user's uncommitted edits. An agent can honor one and violate the other
|
|
154
|
+
// (a tightly-scoped diff can still delete a working function), so the two
|
|
155
|
+
// behaviors are covered by two checks. The patterns are intentionally
|
|
156
|
+
// non-overlapping: scope-control keys on "focused/minimal/unrelated", this
|
|
157
|
+
// keys on "preserve/keep existing/only change what/don't delete".
|
|
158
|
+
id: 'no-preserve-scope',
|
|
159
|
+
title: 'No code-preservation instruction',
|
|
160
|
+
summary: 'No instruction found telling the agent to preserve existing code and only change what the task requires. ' +
|
|
161
|
+
'Without this, agents may delete working code, drop tests, or overwrite unrelated edits to reach a passing state.',
|
|
162
|
+
patterns: [
|
|
163
|
+
/\bpreserve\s+(?:existing|unrelated|the\s+existing|current|working|any\s+existing)\b/i,
|
|
164
|
+
/\bpreserve\s+(?:unrelated\s+changes|the\s+user(?:'|’)?s?\s+(?:changes|edits|work))\b/i,
|
|
165
|
+
/\b(?:don(?:'|’)?t|do\s+not|dont|never)\s+(?:delete|remove|drop|strip)\s+(?:existing|working|unrelated|any)\b/i,
|
|
166
|
+
/\bkeep\s+(?:existing|the\s+existing|current|working)\s+(?:code|behaviou?r|functionality|logic|tests?)\b/i,
|
|
167
|
+
/\bonly\s+(?:change|modify|touch|edit|update)\s+(?:what|the\s+code\s+(?:that|you)|files?\s+(?:that|you)|lines?)\b/i,
|
|
168
|
+
/\b(?:don(?:'|’)?t|do\s+not|dont)\s+(?:modify|change|touch)\s+code\s+outside\b/i,
|
|
169
|
+
/\bleave\s+(?:unrelated|existing|working|other)\s+(?:code|files?|logic|behaviou?r)\s+(?:untouched|alone|intact|as[- ]is)\b/i,
|
|
170
|
+
],
|
|
171
|
+
recommendation: 'Add a rule such as: "Preserve existing code and only change what the task requires. Do not delete working code, tests, or unrelated edits."',
|
|
172
|
+
severity: 'warning',
|
|
173
|
+
confidence: 0.7,
|
|
174
|
+
fixRecipe: 'Preserve existing code and only change what the task requires. Do not delete working code, tests, or unrelated edits.',
|
|
175
|
+
},
|
|
111
176
|
{
|
|
112
177
|
id: 'no-plan-first',
|
|
113
178
|
title: 'No "plan before implementing" instruction',
|
|
@@ -211,62 +276,37 @@ function stripChecklistLines(content) {
|
|
|
211
276
|
.filter((line) => !/^\s*(?:[-*+]|\d+\.)\s+/.test(line) || !/\[[ x?]\]/.test(line))
|
|
212
277
|
.join('\n');
|
|
213
278
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
if (openMatch) {
|
|
224
|
-
inBlock = true;
|
|
225
|
-
fenceChar = openMatch[1][0] ?? null;
|
|
226
|
-
fenceLen = openMatch[1].length;
|
|
227
|
-
continue;
|
|
228
|
-
}
|
|
229
|
-
kept.push(line);
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
const closeMatch = /^ {0,3}([`~]{3,})\s*$/.exec(line);
|
|
233
|
-
if (closeMatch && closeMatch[1][0] === fenceChar && closeMatch[1].length >= fenceLen) {
|
|
234
|
-
inBlock = false;
|
|
235
|
-
fenceChar = null;
|
|
236
|
-
fenceLen = 0;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
return kept.join('\n');
|
|
241
|
-
}
|
|
242
|
-
function normalizedFilePath(filePath) {
|
|
243
|
-
return filePath.replace(/\\/g, '/').toLowerCase();
|
|
244
|
-
}
|
|
279
|
+
// BUG-006: classify by the scanner-computed `fileType` (derived from the repo-
|
|
280
|
+
// RELATIVE path in deriveFileType) plus the location-independent basename.
|
|
281
|
+
// Never substring-match a directory like `/.claude/` against the ABSOLUTE
|
|
282
|
+
// `file.path`: the checkout location leaks in, so a repo checked out under a
|
|
283
|
+
// Claude Code worktree (`.../.claude/worktrees/<branch>/`) misclassifies every
|
|
284
|
+
// file — README.md included — as a Claude instruction file. deriveFileType
|
|
285
|
+
// already maps the in-repo `.claude/`, `.cursor/rules/`, and
|
|
286
|
+
// `.github/instructions/` directories, so `fileType` is the authoritative,
|
|
287
|
+
// checkout-location-independent signal.
|
|
245
288
|
function isCopilotInstructionsFile(file) {
|
|
246
|
-
const normalizedPath = normalizedFilePath(file.path);
|
|
247
289
|
return (file.fileType === 'copilot' ||
|
|
248
|
-
|
|
249
|
-
normalizedPath.endsWith('/.github/copilot-instructions.md') ||
|
|
250
|
-
normalizedPath.includes('/.github/instructions/'));
|
|
290
|
+
path.basename(file.path).toLowerCase() === 'copilot-instructions.md');
|
|
251
291
|
}
|
|
252
292
|
function isCursorRulesFile(file) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
normalizedPath.includes('/.cursor/rules/'));
|
|
293
|
+
return file.fileType === 'cursor' || path.basename(file.path).toLowerCase() === '.cursorrules';
|
|
294
|
+
}
|
|
295
|
+
function isWindsurfRulesFile(file) {
|
|
296
|
+
return file.fileType === 'windsurf' || path.basename(file.path).toLowerCase() === '.windsurfrules';
|
|
258
297
|
}
|
|
259
298
|
function isClaudeInstructionsFile(file) {
|
|
260
|
-
|
|
261
|
-
const baseName = path.basename(file.path).toLowerCase();
|
|
262
|
-
return (file.fileType === 'claude' ||
|
|
263
|
-
baseName === 'claude.md' ||
|
|
264
|
-
normalizedPath.includes('/.claude/'));
|
|
299
|
+
return file.fileType === 'claude' || path.basename(file.path).toLowerCase() === 'claude.md';
|
|
265
300
|
}
|
|
266
301
|
function perFileBehaviorTarget(file) {
|
|
267
302
|
if (isCursorRulesFile(file)) {
|
|
268
303
|
return { label: 'Cursor rules file', agent: 'Cursor agents' };
|
|
269
304
|
}
|
|
305
|
+
// BUG-19: `.windsurfrules` is scanned but previously typed 'unknown', so it
|
|
306
|
+
// never matched a per-agent target and the per-file behavior checks skipped it.
|
|
307
|
+
if (isWindsurfRulesFile(file)) {
|
|
308
|
+
return { label: '.windsurfrules', agent: 'Windsurf agents' };
|
|
309
|
+
}
|
|
270
310
|
if (isClaudeInstructionsFile(file)) {
|
|
271
311
|
return { label: 'CLAUDE.md', agent: 'Claude' };
|
|
272
312
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-practices.js","sourceRoot":"","sources":["../src/agent-practices.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-practices.js","sourceRoot":"","sources":["../src/agent-practices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAgBvD,MAAM,MAAM,GAAoB;IAC9B;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,kCAAkC;QACzC,OAAO,EACL,uGAAuG;YACvG,oGAAoG;QACtG,QAAQ,EAAE;YACR,sDAAsD;YACtD,wEAAwE;YACxE,yEAAyE;YACzE,2DAA2D;YAC3D,+GAA+G;YAC/G,oEAAoE;YACpE,uEAAuE;YACvE,kDAAkD;YAClD,qCAAqC;YACrC,uFAAuF;YACvF,6DAA6D;YAC7D,qCAAqC;SACtC;QACD,cAAc,EACZ,iHAAiH;YACjH,8CAA8C;QAChD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,8IAA8I;KAC1J;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,2CAA2C;QAClD,OAAO,EACL,wGAAwG;YACxG,qEAAqE;QACvE,QAAQ,EAAE;YACR,uCAAuC;YACvC,0CAA0C;YAC1C,sEAAsE;YACtE,wEAAwE;YACxE,2DAA2D;YAC3D,+BAA+B;YAC/B,wDAAwD;YACxD,mCAAmC;YACnC,8BAA8B;SAC/B;QACD,cAAc,EACZ,wHAAwH;QAC1H,0EAA0E;QAC1E,uEAAuE;QACvE,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,+GAA+G;KAC3H;IACD;QACE,6EAA6E;QAC7E,6EAA6E;QAC7E,uEAAuE;QACvE,2EAA2E;QAC3E,iEAAiE;QACjE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,kCAAkC;QACzC,OAAO,EACL,uGAAuG;YACvG,0GAA0G;QAC5G,QAAQ,EAAE;YACR,4DAA4D;YAC5D,iCAAiC;YACjC,oEAAoE;YACpE,sEAAsE;YACtE,uDAAuD;YACvD,mFAAmF;YACnF,sCAAsC;YACtC,6CAA6C;YAC7C,uEAAuE;YACvE,2BAA2B;YAC3B,2DAA2D;SAC5D;QACD,cAAc,EACZ,+HAA+H;QACjI,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,IAAI;QAChB,SAAS,EACP,iGAAiG;KACpG;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,mCAAmC;QAC1C,OAAO,EACL,6EAA6E;YAC7E,4FAA4F;QAC9F,QAAQ,EAAE;YACR,qFAAqF;YACrF,yDAAyD;YACzD,mEAAmE;YACnE,mDAAmD;YACnD,wCAAwC;YACxC,qBAAqB;YACrB,wEAAwE;YACxE,wEAAwE;YACxE,qDAAqD;YACrD,4EAA4E;SAC7E;QACD,cAAc,EACZ,mEAAmE;QACrE,mEAAmE;QACnE,yDAAyD;QACzD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,iEAAiE;KAC7E;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,8BAA8B;QACrC,OAAO,EACL,0GAA0G;YAC1G,0EAA0E;QAC5E,QAAQ,EAAE;YACR,yCAAyC;YACzC,+BAA+B;YAC/B,iCAAiC;YACjC,6CAA6C;YAC7C,+BAA+B;YAC/B,uCAAuC;YACvC,+BAA+B;YAC/B,sDAAsD;SACvD;QACD,cAAc,EACZ,qHAAqH;QACvH,yEAAyE;QACzE,uDAAuD;QACvD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,+FAA+F;KAC3G;IACD;QACE,+DAA+D;QAC/D,0EAA0E;QAC1E,0EAA0E;QAC1E,6EAA6E;QAC7E,6EAA6E;QAC7E,0EAA0E;QAC1E,sEAAsE;QACtE,2EAA2E;QAC3E,kEAAkE;QAClE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,kCAAkC;QACzC,OAAO,EACL,2GAA2G;YAC3G,kHAAkH;QACpH,QAAQ,EAAE;YACR,sFAAsF;YACtF,uFAAuF;YACvF,+GAA+G;YAC/G,0GAA0G;YAC1G,mHAAmH;YACnH,gFAAgF;YAChF,4HAA4H;SAC7H;QACD,cAAc,EACZ,6IAA6I;QAC/I,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,GAAG;QACf,SAAS,EACP,uHAAuH;KAC1H;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,2CAA2C;QAClD,OAAO,EACL,sGAAsG;YACtG,2FAA2F;QAC7F,QAAQ,EAAE;YACR,8BAA8B;YAC9B,2DAA2D;YAC3D,4FAA4F;YAC5F,0CAA0C;YAC1C,mDAAmD;YACnD,oCAAoC;SACrC;QACD,cAAc,EACZ,uHAAuH;QACzH,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,iGAAiG;KAC7G;CACF,CAAC;AAEF,iFAAiF;AAEjF,iFAAiF;AACjF,wEAAwE;AACxE,MAAM,cAAc,GAAG,uCAAuC,CAAC;AAE/D,qEAAqE;AACrE,0CAA0C;AAC1C,4BAA4B;AAC5B,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,iBAAiB,GACrB,kIAAkI,CAAC;AAErI;;;;;;;;;;;;;GAaG;AACH,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAE7E,0EAA0E;AAC1E,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,qDAAqD;AACrD,MAAM,aAAa,GACjB,4IAA4I,CAAC;AAE/I,iFAAiF;AAEjF,SAAS,OAAO,CAAC,OAAe;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClF,OAAO,kBAAkB,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpG,OAAO,eAAe,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1G,OAAO,qBAAqB,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,QAAkB;IAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,mFAAmF;AACnF,SAAS,kBAAkB,CAAC,OAAe,EAAE,KAAa;IACxD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjF,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAGD,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,6DAA6D;AAC7D,2EAA2E;AAC3E,wCAAwC;AAExC,SAAS,yBAAyB,CAAC,IAAqB;IACtD,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,SAAS;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,yBAAyB,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAqB;IAC9C,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;AACjG,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAqB;IAChD,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC;AACrG,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAqB;IACrD,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC;AAC9F,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAqB;IAClD,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAChE,CAAC;IAED,4EAA4E;IAC5E,gFAAgF;IAChF,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAqB;IAC7C,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,8EAA8E;IAC9E,oDAAoD;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,2DAA2D;IAC3D,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,oBAAoB,CAAC,KAAwB;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,+EAA+E;IAC/E,gFAAgF;IAChF,iDAAiD;IACjD,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9C,6EAA6E;IAC7E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,2FAA2F;QAC3F,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,KAAK,sBAAsB;YACzD,CAAC,CAAC,2BAA2B;YAC7B,CAAC,CAAC,eAAe,CAAC;QACpB,IAAI,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE1D,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,CAAC,4BAA4B,KAAK,CAAC,MAAM,uBAAuB,CAAC;YAC3E,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,gFAAgF;IAChF,6EAA6E;IAC7E,sEAAsE;IAEtE,MAAM,uBAAuB,GAAG;QAC9B,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,sBAAsB,CAAE,CAAC,QAAQ;QAChE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,mBAAmB,CAAE,CAAC,QAAQ;QAC7D,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAE,CAAC,QAAQ;QAC5D,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,qBAAqB,CAAE,CAAC,QAAQ;KAChE,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,IAAqB,EAAE,EAAE,CACtD,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAEzE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,0EAA0E;YAC1E,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAAE,SAAS;QAErC,wEAAwE;QACxE,4EAA4E;QAC5E,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,gBAAgB;YAAE,SAAS;QAEhC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,iBAAiB;YAC3B,KAAK,EAAE,6BAA6B,MAAM,CAAC,KAAK,EAAE;YAClD,OAAO,EACL,OAAO,MAAM,CAAC,KAAK,0EAA0E;gBAC7F,qCAAqC,MAAM,CAAC,KAAK,0DAA0D;gBAC3G,mFAAmF;YACrF,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,QAAQ,EAAE;gBACR,mCAAmC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC9D,uCAAuC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG;aAC/E;YACD,cAAc,EACZ,6FAA6F;gBAC7F,uFAAuF;gBACvF,GAAG,MAAM,CAAC,KAAK,oEAAoE;gBACnF,6FAA6F;YAC/F,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,kFAAkF;IAClF,2EAA2E;IAC3E,kBAAkB;IAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,UAAU;gBAAE,SAAS;YAClC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,gBAAgB,CAAC,IAAI,CAAC;gBAAE,SAAS;YACrC,sEAAsE;YACtE,iEAAiE;YACjE,IAAI,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAExD,MAAM,eAAe,GAAG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClH,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,2BAA2B,IAAI,EAAE;oBACrC,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,iBAAiB;oBAC3B,KAAK,EAAE,8BAA8B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,MAAM,CAAC,KAAK,EAAE;oBACrH,OAAO,EACL,OAAO,MAAM,CAAC,KAAK,sDAAsD,SAAS,IAAI;wBACtF,uBAAuB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAK,IAAI;wBACtG,2BAA2B;oBAC7B,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;oBACvC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,QAAQ,EAAE;wBACR,iCAAiC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;wBAC5D,uBAAuB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;qBACzD;oBACD,cAAc,EACZ,+BAA+B,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK;wBACtI,8CAA8C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK;oBACnF,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,0DAA0D;IAC1D,EAAE;IACF,kFAAkF;IAClF,4EAA4E;IAC5E,MAAM,yBAAyB,GAC7B,sGAAsG,CAAC;IAEzG,MAAM,sBAAsB,GAAG,CAAC,CAAS,EAAE,EAAE;QAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrG,OAAO,0BAA0B,CAAC,EAAE,CAAC;IACvC,CAAC,CAAC;IAEF,MAAM,+BAA+B,GAAG,GAAG,EAAE;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAE5C,MAAM,oBAAoB,GAAG,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB;YAAE,OAAO,KAAK,CAAC;QAExC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;QACxH,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,IAAI,+BAA+B,EAAE,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5C,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,iEAAiE;YACxE,OAAO,EACL,0FAA0F;gBAC1F,sFAAsF;gBACtF,sBAAsB;YACxB,SAAS,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7B,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YAC3C,QAAQ,EAAE,CAAC,6DAA6D,CAAC;YACzE,cAAc,EACZ,qFAAqF;gBACrF,mEAAmE;YACrE,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QAC1C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC;YAAE,SAAS;QAEjE,mEAAmE;QACnE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QAE3E,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YACrC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,mDAAmD;YAC1D,OAAO,EACL,iFAAiF;gBACjF,qFAAqF;gBACrF,sFAAsF;YACxF,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,QAAQ,EAAE,CAAC,+EAA+E,CAAC;YAC3F,cAAc,EACZ,wFAAwF;gBACxF,6FAA6F;gBAC7F,iDAAiD;YACnD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,CAAC,CAAC,cAAc,CAAC;QACtC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElG,IAAI,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,kEAAkE;YAClE,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK,EAAE,2DAA2D;gBAClE,OAAO,EACL,wGAAwG;oBACxG,yGAAyG;gBAC3G,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;gBACtF,QAAQ,EAAE,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,cAAc,EACZ,8GAA8G;gBAChH,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,YAAY,IAAI,gBAAgB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAClE,mFAAmF;YACnF,oEAAoE;YACpE,kFAAkF;YAClF,iFAAiF;YACjF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjG,OAAO,mBAAmB,IAAI,EAAE,CAAC;YACnC,CAAC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,iBAAiB;gBAC3B,KAAK,EAAE,uEAAuE;gBAC9E,OAAO,EACL,gFAAgF,IAAI,CAAC,SAAS,SAAS;oBACvG,mGAAmG;oBACnG,qCAAqC;gBACvC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;gBACtF,QAAQ,EAAE,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,cAAc,EACZ,+FAA+F;oBAC/F,mFAAmF;gBACrF,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,4EAA4E;QAC5E,kFAAkF;QAClF,+EAA+E;QAC/E,6FAA6F;QAC7F,yFAAyF;QACzF,MAAM,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3G,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChG,OAAO,kBAAkB,IAAI,EAAE,CAAC;YAClC,CAAC,CAAC;YACF,wEAAwE;YACxE,oEAAoE;YACpE,oEAAoE;YACpE,oEAAoE;YACpE,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;YACxF,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,wDAAwD;gBAC/D,OAAO,EACL,iDAAiD,QAAQ,iCAAiC;oBAC1F,yFAAyF;oBACzF,iDAAiD;gBACnD,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,QAAQ,EAAE,CAAC,UAAU,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,CAAC;gBACzD,cAAc,EACZ,sFAAsF;oBACtF,4CAA4C;gBAC9C,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared support for the AI-setup config detectors (issue #23).
|
|
3
|
+
*
|
|
4
|
+
* These detectors audit the non-markdown surfaces of a 2026 AI setup — skills,
|
|
5
|
+
* subagents, hooks/permissions, MCP servers, and Cursor rules — against
|
|
6
|
+
* filesystem reality, the same way `command-validity` verifies documented
|
|
7
|
+
* commands. Everything here is deterministic and offline: no network, no LLM,
|
|
8
|
+
* identical output for identical input.
|
|
9
|
+
*
|
|
10
|
+
* This module holds the pieces every one of those detectors needs: a minimal
|
|
11
|
+
* YAML-frontmatter parser, root-relative path helpers that refuse to escape the
|
|
12
|
+
* repo, a stable file lister, and issue path normalization.
|
|
13
|
+
*/
|
|
14
|
+
import { resolveWithinRoot } from './path-containment.js';
|
|
15
|
+
import type { PromptCiIssue, ScanInput } from './types.js';
|
|
16
|
+
/** Convert a filesystem path to forward-slash form for stable, portable output. */
|
|
17
|
+
export declare function toPosix(p: string): string;
|
|
18
|
+
export { resolveWithinRoot };
|
|
19
|
+
/** True when a repo-relative path exists and is a regular file. */
|
|
20
|
+
export declare function isFileWithinRoot(repoRoot: string, relativePath: string): boolean;
|
|
21
|
+
/** Read a repo-relative text file, or `undefined` if it is absent/unreadable. */
|
|
22
|
+
export declare function readTextWithinRoot(repoRoot: string, relativePath: string): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* List files under `repoRoot` matching `patterns`, returned as repo-relative
|
|
25
|
+
* POSIX paths in sorted order. Dotfiles are included (these configs all live in
|
|
26
|
+
* dot-directories). Pass `ignore` to override the default discovery excludes.
|
|
27
|
+
*/
|
|
28
|
+
export declare function listFiles(repoRoot: string, patterns: string[], ignore?: string[]): string[];
|
|
29
|
+
/** Pre-discovered config files per surface, as sorted repo-relative POSIX paths. */
|
|
30
|
+
export type AiConfigFiles = {
|
|
31
|
+
/** Agent Skills: `.claude/**\/SKILL.md`. */
|
|
32
|
+
skills: string[];
|
|
33
|
+
/** Subagent definitions: `.claude/agents/**\/*.md`. */
|
|
34
|
+
agents: string[];
|
|
35
|
+
/** Claude Code settings: `.claude/settings.json` and `.claude/settings.local.json`. */
|
|
36
|
+
settings: string[];
|
|
37
|
+
/** Project MCP servers: `.mcp.json`. */
|
|
38
|
+
mcp: string[];
|
|
39
|
+
/** Cursor project rules: `.cursor/rules/**\/*.mdc`. */
|
|
40
|
+
cursorRules: string[];
|
|
41
|
+
/** GitHub Copilot per-file instructions: `.github/instructions/**\/*.md`. */
|
|
42
|
+
copilotInstructions: string[];
|
|
43
|
+
};
|
|
44
|
+
/** An AiConfigFiles with every surface empty — for contexts built without discovery. */
|
|
45
|
+
export declare function emptyAiConfigFiles(): AiConfigFiles;
|
|
46
|
+
/**
|
|
47
|
+
* Discover the config files the ai_config detectors audit, honoring the same
|
|
48
|
+
* user-facing scan policy the markdown scanner applies: `exclude` patterns
|
|
49
|
+
* always remove files, an explicit `include` list bounds the scan scope (when
|
|
50
|
+
* unset, each surface's own globs are the scope — these configs are not in the
|
|
51
|
+
* scanner's DEFAULT_PATTERNS), and oversized or binary files are skipped.
|
|
52
|
+
*
|
|
53
|
+
* Called from buildRepoContext so detectors consume pre-discovered lists; a
|
|
54
|
+
* `--exclude` that silences a markdown finding for a file silences that file's
|
|
55
|
+
* ai_config findings too, instead of the detectors re-walking the repo with a
|
|
56
|
+
* policy of their own.
|
|
57
|
+
*/
|
|
58
|
+
export declare function discoverAiConfigFiles(repoRoot: string, policy?: Pick<ScanInput, 'include' | 'exclude'>): AiConfigFiles;
|
|
59
|
+
/** Stable short hash for building per-finding IDs. */
|
|
60
|
+
export declare function shortHash(input: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Rewrite an issue's `filePaths`/`locations` from the detectors' repo-relative
|
|
63
|
+
* POSIX form to the absolute form the scanner stores in `InstructionFile.path`.
|
|
64
|
+
* Inline `promptci-ignore` suppressions match on exact path equality with the
|
|
65
|
+
* scanned file, so detector output must speak the same dialect or the
|
|
66
|
+
* `ai_config` category is unsuppressable. Display strings (titles, summaries,
|
|
67
|
+
* evidence) keep the friendly relative form; baseline fingerprints re-normalize
|
|
68
|
+
* absolute paths back to repo-relative, so they are unaffected.
|
|
69
|
+
*/
|
|
70
|
+
export declare function withScannerPaths(repoRoot: string, issues: PromptCiIssue[]): PromptCiIssue[];
|
|
71
|
+
/** Extensions treated as invokable local scripts in hook/MCP command strings. */
|
|
72
|
+
export declare const SCRIPT_EXT_RE: RegExp;
|
|
73
|
+
/**
|
|
74
|
+
* 1-based line where `needle` first appears in `raw`, or 1 when not found.
|
|
75
|
+
* JSON sources store strings escaped, so a parsed command containing quotes or
|
|
76
|
+
* backslashes never appears verbatim — fall back to the JSON-escaped form
|
|
77
|
+
* before giving up on a real line number.
|
|
78
|
+
*/
|
|
79
|
+
export declare function lineOf(raw: string, needle: string): number;
|
|
80
|
+
export type FrontmatterValue = string | string[] | boolean | number | null;
|
|
81
|
+
export type Frontmatter = {
|
|
82
|
+
/** An opening `---` fence was present on the first content line. */
|
|
83
|
+
present: boolean;
|
|
84
|
+
/** A closing `---` (or `...`) fence was found. */
|
|
85
|
+
closed: boolean;
|
|
86
|
+
/** Top-level key → parsed value. Last write wins on duplicate keys. */
|
|
87
|
+
data: Record<string, FrontmatterValue>;
|
|
88
|
+
/** 1-based line of each top-level key (first occurrence). */
|
|
89
|
+
keyLines: Record<string, number>;
|
|
90
|
+
/** 1-based line of the closing fence, or -1 when unterminated. */
|
|
91
|
+
fenceEndLine: number;
|
|
92
|
+
/** 1-based first line of the document body after the closing fence. */
|
|
93
|
+
bodyStartLine: number;
|
|
94
|
+
/** Structural problems found while parsing (duplicate keys, etc.). */
|
|
95
|
+
errors: string[];
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Parse a minimal YAML frontmatter block from the top of a document.
|
|
99
|
+
*
|
|
100
|
+
* Handles the subset these config files actually use: top-level `key: value`
|
|
101
|
+
* scalars, quoted strings, booleans/numbers, inline `[a, b]` sequences, block
|
|
102
|
+
* lists (` - item`), and `|`/`>` block scalars. Nested mappings are recorded
|
|
103
|
+
* as errors rather than silently dropped, since none of the audited surfaces
|
|
104
|
+
* use them and a nested block is far more likely to be a mistake.
|
|
105
|
+
*
|
|
106
|
+
* This is deliberately not a full YAML engine — it exists to answer "is the
|
|
107
|
+
* frontmatter structurally sane and what are its top-level keys", not to load
|
|
108
|
+
* arbitrary YAML.
|
|
109
|
+
*/
|
|
110
|
+
export declare function parseFrontmatter(content: string): Frontmatter;
|
|
111
|
+
/** Coerce a frontmatter value that may be a list or comma/newline string into a string[]. */
|
|
112
|
+
export declare function asStringList(value: FrontmatterValue): string[];
|
|
113
|
+
/** Fill in the defaults every ai_config finding shares. */
|
|
114
|
+
export declare function aiConfigIssue(issue: Omit<PromptCiIssue, 'severity' | 'category' | 'confidence'> & Partial<Pick<PromptCiIssue, 'severity' | 'category' | 'confidence'>>): PromptCiIssue;
|
|
115
|
+
/** Per-surface wording for the shared frontmatter-structure findings. */
|
|
116
|
+
export type FrontmatterSurface = {
|
|
117
|
+
/** Id segment: findings get ids of the form `ai-config-<idPrefix>-<kind>-<hash>`. */
|
|
118
|
+
idPrefix: string;
|
|
119
|
+
/** Noun opening each finding title, e.g. 'Skill' or 'Cursor rule'. */
|
|
120
|
+
noun: string;
|
|
121
|
+
/** No-frontmatter summary tail: what a valid frontmatter block provides. */
|
|
122
|
+
why: string;
|
|
123
|
+
/** Recommendation for the no-frontmatter finding. */
|
|
124
|
+
recommendation: string;
|
|
125
|
+
/** Title override when the default `<noun> is missing YAML frontmatter` is wrong. */
|
|
126
|
+
noFrontmatterTitle?: string;
|
|
127
|
+
/** A missing block defaults to 'high' — Cursor rules soften it (metadata is optional-ish). */
|
|
128
|
+
noFrontmatterSeverity?: PromptCiIssue['severity'];
|
|
129
|
+
noFrontmatterConfidence?: number;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* The three structural frontmatter findings every frontmatter-bearing surface
|
|
133
|
+
* (skills, subagents, Cursor rules) shares: block missing entirely, block never
|
|
134
|
+
* closed, and parse errors inside the block. When the block is missing the
|
|
135
|
+
* caller should skip its per-surface field checks, keyed off `fm.present` as
|
|
136
|
+
* before — this helper only builds the findings.
|
|
137
|
+
*/
|
|
138
|
+
export declare function frontmatterStructureIssues(filePath: string, content: string, fm: Frontmatter, surface: FrontmatterSurface): PromptCiIssue[];
|
|
139
|
+
//# sourceMappingURL=ai-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../src/ai-config.ts"],"names":[],"mappings":"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"}
|