@nitra/cursor 12.15.0 → 12.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/bin/n-cursor.js +2 -11
- package/lib/docs/index.md +9 -6
- package/lib/docs/pi-agent-fix.md +28 -0
- package/lib/docs/pi-agent-skill.md +36 -0
- package/lib/docs/pi-model-tiers.md +46 -0
- package/lib/docs/pi-one-shot.md +34 -0
- package/lib/docs/pi-telemetry-store.md +33 -0
- package/lib/docs/pi-trace.md +27 -0
- package/lib/docs/pi-write-guard.md +32 -0
- package/lib/pi-agent-fix.mjs +253 -0
- package/lib/pi-agent-skill.mjs +181 -0
- package/lib/pi-model-tiers.mjs +109 -0
- package/lib/pi-one-shot.mjs +129 -0
- package/lib/pi-telemetry-store.mjs +0 -0
- package/lib/pi-trace.mjs +40 -0
- package/lib/pi-write-guard.mjs +147 -0
- package/package.json +5 -1
- package/rules/bun/docs/main.md +7 -6
- package/rules/doc-files/js/docgen-files-batch.mjs +20 -5
- package/rules/doc-files/js/docgen-gen.mjs +42 -25
- package/rules/doc-files/js/docgen-judge-measure.mjs +16 -13
- package/rules/doc-files/js/docgen-judge.mjs +11 -9
- package/rules/doc-files/js/docs/docgen-files-batch.md +3 -20
- package/rules/doc-files/js/docs/docgen-gen.md +3 -20
- package/rules/doc-files/js/docs/docgen-judge-measure.md +3 -18
- package/rules/doc-files/js/docs/docgen-judge.md +3 -22
- package/rules/npm-module/js/docs/skill_meta.md +22 -15
- package/rules/npm-module/js/skill_meta.mjs +5 -1
- package/rules/python/docs/main.md +11 -11
- package/rules/rust/docs/main.md +5 -5
- package/rules/text/js/cspell-fix.mjs +15 -16
- package/rules/text/js/docs/cspell-fix.md +16 -9
- package/rules/text/main.mjs +4 -4
- package/schemas/skill-meta.json +8 -0
- package/scripts/docs/skills-cli.md +21 -25
- package/scripts/docs/update-blue-oak.md +8 -8
- package/scripts/lib/adr/docs/normalize-cli.md +3 -20
- package/scripts/lib/adr/docs/normalize-pipeline.md +3 -33
- package/scripts/lib/adr/normalize-cli.mjs +2 -2
- package/scripts/lib/adr/normalize-pipeline.mjs +78 -44
- package/scripts/lib/docs/discover-checkable-rules.md +6 -6
- package/scripts/lib/docs/inline-template-links.md +8 -6
- package/scripts/lib/docs/list-project-rules-mdc.md +5 -3
- package/scripts/lib/docs/root-notice.md +13 -16
- package/scripts/lib/docs/run-lint.md +10 -8
- package/scripts/lib/docs/skill-meta.md +29 -10
- package/scripts/lib/fix/docs/discover-t0-patterns.md +10 -13
- package/scripts/lib/fix/docs/escalation-log.md +10 -9
- package/scripts/lib/fix/docs/index.md +0 -1
- package/scripts/lib/fix/docs/orchestrator.md +15 -13
- package/scripts/lib/fix/escalation-log.mjs +1 -1
- package/scripts/lib/fix/orchestrator.mjs +67 -32
- package/scripts/lib/run-lint.mjs +2 -10
- package/scripts/lib/skill-meta.mjs +22 -0
- package/scripts/skills-cli.mjs +52 -14
- package/scripts/utils/ast-extract.mjs +105 -0
- package/scripts/utils/docs/ast-extract.md +30 -0
- package/scripts/utils/docs/walkDir.md +17 -20
- package/lib/docs/llm.md +0 -33
- package/lib/docs/models.md +0 -48
- package/lib/docs/omlx-trace.md +0 -49
- package/lib/docs/omlx.md +0 -41
- package/lib/llm.mjs +0 -215
- package/lib/models.mjs +0 -75
- package/lib/omlx-trace.mjs +0 -158
- package/lib/omlx.mjs +0 -220
- package/scripts/lib/fix/analyze-escalation.mjs +0 -353
- package/scripts/lib/fix/docs/analyze-escalation.md +0 -44
- package/scripts/lib/fix/docs/llm-fix-apply.md +0 -31
- package/scripts/lib/fix/docs/llm-lint-fix.md +0 -31
- package/scripts/lib/fix/docs/llm-worker.md +0 -33
- package/scripts/lib/fix/docs/verbose-block.md +0 -27
- package/scripts/lib/fix/llm-fix-apply.mjs +0 -113
- package/scripts/lib/fix/llm-lint-fix.mjs +0 -82
- package/scripts/lib/fix/llm-worker.mjs +0 -332
- package/scripts/lib/fix/verbose-block.mjs +0 -82
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Verbose-блок після кожного LLM-рунга у `--full` режимі.
|
|
3
|
-
* Друкує стислий опис промпту і thinking-монолог моделі (якщо є).
|
|
4
|
-
* Вимикається через `N_CURSOR_FIX_VERBOSE=off`.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const THINKING_PREVIEW_LEN = 500
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Форматує рядок файлів для prompt-блоку.
|
|
11
|
-
* @param {number} count кількість файлів
|
|
12
|
-
* @param {number} totalBytes сумарний розмір у байтах
|
|
13
|
-
* @returns {string}
|
|
14
|
-
*/
|
|
15
|
-
function formatFiles(count, totalBytes) {
|
|
16
|
-
if (count === 0) return '(none)'
|
|
17
|
-
const kb = (totalBytes / 1024).toFixed(1)
|
|
18
|
-
const word = count === 1 ? 'файл' : count < 5 ? 'файли' : 'файлів'
|
|
19
|
-
return `${count} ${word} (${kb} KB)`
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Форматує рядок feedback для prompt-блоку.
|
|
24
|
-
* @param {boolean} hasFeedback чи є feedback
|
|
25
|
-
* @param {string|null} feedbackModel модель попереднього рунга
|
|
26
|
-
* @param {number} feedbackChangesCount кількість змін попереднього рунга
|
|
27
|
-
* @param {string|null} feedbackError помилка попереднього рунга
|
|
28
|
-
* @returns {string}
|
|
29
|
-
*/
|
|
30
|
-
function formatFeedback(hasFeedback, feedbackModel, feedbackChangesCount, feedbackError) {
|
|
31
|
-
if (!hasFeedback) return '(none)'
|
|
32
|
-
const parts = []
|
|
33
|
-
if (feedbackModel) parts.push(`model=${feedbackModel}`)
|
|
34
|
-
parts.push(`${feedbackChangesCount} changes`)
|
|
35
|
-
if (feedbackError) parts.push(`error="${feedbackError.slice(0, 60)}"`)
|
|
36
|
-
return parts.join(', ')
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Друкує verbose-блок після рядка рунга (`⚡`/`✅`).
|
|
41
|
-
* Містить стислий опис промпту і thinking-монолог моделі (якщо є).
|
|
42
|
-
* Не викликається якщо `N_CURSOR_FIX_VERBOSE=off`.
|
|
43
|
-
* @param {string} ruleId ID правила
|
|
44
|
-
* @param {{ ruleMdcLen: number, violationLen: number, filesCount: number, filesTotalBytes: number, hasFeedback: boolean, feedbackModel: string|null, feedbackChangesCount: number, feedbackError: string|null }} promptSummary стислий опис промпту
|
|
45
|
-
* @param {string|null} reasoning thinking-монолог моделі
|
|
46
|
-
* @param {string|null} reasoningSource джерело reasoning ('field'|'think_tag'|'truncated'|null)
|
|
47
|
-
*/
|
|
48
|
-
export function printVerboseBlock(ruleId, promptSummary, reasoning, reasoningSource) {
|
|
49
|
-
const {
|
|
50
|
-
ruleMdcLen,
|
|
51
|
-
violationLen,
|
|
52
|
-
filesCount,
|
|
53
|
-
filesTotalBytes,
|
|
54
|
-
hasFeedback,
|
|
55
|
-
feedbackModel,
|
|
56
|
-
feedbackChangesCount,
|
|
57
|
-
feedbackError
|
|
58
|
-
} = promptSummary
|
|
59
|
-
|
|
60
|
-
console.log(``)
|
|
61
|
-
console.log(` prompt:`)
|
|
62
|
-
console.log(` rule: n-${ruleId}.mdc (${ruleMdcLen} chars)`)
|
|
63
|
-
console.log(` violation: ${violationLen} chars`)
|
|
64
|
-
console.log(` files: ${formatFiles(filesCount, filesTotalBytes)}`)
|
|
65
|
-
console.log(` feedback: ${formatFeedback(hasFeedback, feedbackModel, feedbackChangesCount, feedbackError)}`)
|
|
66
|
-
|
|
67
|
-
if (reasoning) {
|
|
68
|
-
const preview =
|
|
69
|
-
reasoning.length > THINKING_PREVIEW_LEN
|
|
70
|
-
? reasoning.slice(0, THINKING_PREVIEW_LEN) + ` … (+${reasoning.length - THINKING_PREVIEW_LEN} chars)`
|
|
71
|
-
: reasoning
|
|
72
|
-
console.log(``)
|
|
73
|
-
console.log(` thinking [${reasoningSource}, ${reasoning.length} chars]:`)
|
|
74
|
-
for (const line of preview.split('\n')) {
|
|
75
|
-
console.log(` ${line}`)
|
|
76
|
-
}
|
|
77
|
-
} else {
|
|
78
|
-
console.log(``)
|
|
79
|
-
console.log(` thinking: (none)`)
|
|
80
|
-
}
|
|
81
|
-
console.log(``)
|
|
82
|
-
}
|