ownkey 0.8.0 ā 1.0.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.
- package/LICENSE +21 -21
- package/README.md +86 -208
- package/dist/ai/factory.js +2 -2
- package/dist/ai/factory.js.map +1 -1
- package/dist/ai/gemini.d.ts.map +1 -1
- package/dist/ai/gemini.js +13 -3
- package/dist/ai/gemini.js.map +1 -1
- package/dist/ai/ollama.d.ts +0 -2
- package/dist/ai/ollama.d.ts.map +1 -1
- package/dist/ai/ollama.js +20 -93
- package/dist/ai/ollama.js.map +1 -1
- package/dist/ai/openai.d.ts +4 -1
- package/dist/ai/openai.d.ts.map +1 -1
- package/dist/ai/openai.js +7 -3
- package/dist/ai/openai.js.map +1 -1
- package/dist/ai/provider.d.ts +4 -0
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +80 -47
- package/dist/ai/provider.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +82 -47
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +249 -101
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/suggest.d.ts.map +1 -1
- package/dist/commands/suggest.js +63 -19
- package/dist/commands/suggest.js.map +1 -1
- package/dist/commands/undo.d.ts.map +1 -1
- package/dist/commands/undo.js +35 -25
- package/dist/commands/undo.js.map +1 -1
- package/dist/config/keychain.d.ts.map +1 -1
- package/dist/config/keychain.js +5 -1
- package/dist/config/keychain.js.map +1 -1
- package/dist/config/manager.d.ts +15 -2
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +42 -13
- package/dist/config/manager.js.map +1 -1
- package/dist/core/apply/engine.d.ts +19 -12
- package/dist/core/apply/engine.d.ts.map +1 -1
- package/dist/core/apply/engine.js +162 -134
- package/dist/core/apply/engine.js.map +1 -1
- package/dist/core/apply/index.d.ts +4 -2
- package/dist/core/apply/index.d.ts.map +1 -1
- package/dist/core/apply/index.js.map +1 -1
- package/dist/core/apply/interactive.d.ts +1 -1
- package/dist/core/apply/interactive.d.ts.map +1 -1
- package/dist/core/apply/interactive.js.map +1 -1
- package/dist/core/backup/index.d.ts +2 -1
- package/dist/core/backup/index.d.ts.map +1 -1
- package/dist/core/backup/index.js.map +1 -1
- package/dist/core/backup/manager.d.ts +6 -1
- package/dist/core/backup/manager.d.ts.map +1 -1
- package/dist/core/backup/manager.js +26 -18
- package/dist/core/backup/manager.js.map +1 -1
- package/dist/core/diff/applier.d.ts +23 -8
- package/dist/core/diff/applier.d.ts.map +1 -1
- package/dist/core/diff/applier.js +85 -80
- package/dist/core/diff/applier.js.map +1 -1
- package/dist/core/diff/index.d.ts +6 -3
- package/dist/core/diff/index.d.ts.map +1 -1
- package/dist/core/diff/index.js.map +1 -1
- package/dist/core/diff/parser.d.ts +2 -0
- package/dist/core/diff/parser.d.ts.map +1 -1
- package/dist/core/diff/parser.js +15 -5
- package/dist/core/diff/parser.js.map +1 -1
- package/dist/core/diff/validator.d.ts +3 -8
- package/dist/core/diff/validator.d.ts.map +1 -1
- package/dist/core/diff/validator.js +13 -71
- package/dist/core/diff/validator.js.map +1 -1
- package/dist/db/client.d.ts +10 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +69 -87
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrations/001_init.sql +80 -80
- package/dist/db/migrations/002_applies.sql +33 -32
- package/dist/index.js +13 -20
- package/dist/index.js.map +1 -1
- package/dist/storage/local.d.ts +83 -0
- package/dist/storage/local.d.ts.map +1 -0
- package/dist/storage/local.js +198 -0
- package/dist/storage/local.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/severity.d.ts +6 -0
- package/dist/utils/severity.d.ts.map +1 -0
- package/dist/utils/severity.js +19 -0
- package/dist/utils/severity.js.map +1 -0
- package/package.json +72 -72
package/dist/ai/openai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,OAAO,cAAe,SAAQ,UAAU;IAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/provider.d.ts
CHANGED
|
@@ -35,5 +35,9 @@ export declare abstract class AIProvider implements AIProviderInterface {
|
|
|
35
35
|
* Parse AI response and extract suggestions
|
|
36
36
|
*/
|
|
37
37
|
protected parseSuggestions(response: string): Suggestion[];
|
|
38
|
+
/**
|
|
39
|
+
* Pull the first JSON array/object out of a model reply (handles ```json fences and chatter).
|
|
40
|
+
*/
|
|
41
|
+
static extractJson(text: string): any;
|
|
38
42
|
}
|
|
39
43
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjG;;;GAGG;AACH,8BAAsB,UAAW,YAAW,mBAAmB;IAC3D,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEhB,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAM9D;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,MAAM;IAElC;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CACZ,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,cAAc,GACzB,cAAc,CAAC,UAAU,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEjG;;;GAGG;AACH,8BAAsB,UAAW,YAAW,mBAAmB;IAC3D,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEhB,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAM9D;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,MAAM;IAElC;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CACZ,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,cAAc,GACzB,cAAc,CAAC,UAAU,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM;IAoCnC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;IA2BvD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IA4B1D;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;CAwBxC"}
|
package/dist/ai/provider.js
CHANGED
|
@@ -15,34 +15,38 @@ export class AIProvider {
|
|
|
15
15
|
* Format the system prompt for code analysis
|
|
16
16
|
*/
|
|
17
17
|
getSystemPrompt() {
|
|
18
|
-
return `You are a senior software engineer performing code review and analysis.
|
|
19
|
-
|
|
20
|
-
Your task is to analyze the provided codebase and identify:
|
|
21
|
-
- Bugs and potential errors
|
|
22
|
-
- Security vulnerabilities
|
|
23
|
-
- Performance issues
|
|
24
|
-
- Code quality improvements
|
|
25
|
-
- Refactoring opportunities
|
|
26
|
-
- Missing tests or documentation
|
|
27
|
-
|
|
28
|
-
Guidelines:
|
|
29
|
-
- Be conservative and precise
|
|
30
|
-
- Only suggest changes you're confident about
|
|
31
|
-
- Provide clear rationale for each suggestion
|
|
32
|
-
- Use unified diff format for code changes
|
|
33
|
-
- Categorize suggestions by type and severity
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
18
|
+
return `You are a senior software engineer performing code review and analysis.
|
|
19
|
+
|
|
20
|
+
Your task is to analyze the provided codebase and identify:
|
|
21
|
+
- Bugs and potential errors
|
|
22
|
+
- Security vulnerabilities
|
|
23
|
+
- Performance issues
|
|
24
|
+
- Code quality improvements
|
|
25
|
+
- Refactoring opportunities
|
|
26
|
+
- Missing tests or documentation
|
|
27
|
+
|
|
28
|
+
Guidelines:
|
|
29
|
+
- Be conservative and precise
|
|
30
|
+
- Only suggest changes you're confident about
|
|
31
|
+
- Provide clear rationale for each suggestion
|
|
32
|
+
- Use unified diff format for code changes
|
|
33
|
+
- Categorize suggestions by type and severity
|
|
34
|
+
- "filePath" must be the file's path relative to the project root, exactly as written in its "###" heading
|
|
35
|
+
- "diff" must be a unified diff for that one file: "--- a/<filePath>", "+++ b/<filePath>", then "@@" hunks
|
|
36
|
+
with 2-3 unchanged context lines copied exactly from the file (same indentation)
|
|
37
|
+
- If you cannot produce an exact diff, omit the suggestion
|
|
38
|
+
|
|
39
|
+
Output Format:
|
|
40
|
+
Return a JSON array of suggestions. Each suggestion must have:
|
|
41
|
+
{
|
|
42
|
+
"type": "bug" | "security" | "performance" | "refactor" | "style" | "architecture" | "test" | "documentation",
|
|
43
|
+
"severity": "critical" | "high" | "medium" | "low" | "info",
|
|
44
|
+
"content": "Brief description of the issue",
|
|
45
|
+
"filePath": "path/to/file.ts",
|
|
46
|
+
"rationale": "Detailed explanation of why this matters",
|
|
47
|
+
"diff": "Unified diff format showing the change"
|
|
48
|
+
}
|
|
49
|
+
|
|
46
50
|
Be thorough but practical. Focus on high-impact suggestions.`;
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
@@ -73,27 +77,56 @@ Be thorough but practical. Focus on high-impact suggestions.`;
|
|
|
73
77
|
* Parse AI response and extract suggestions
|
|
74
78
|
*/
|
|
75
79
|
parseSuggestions(response) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
type: s.type || 'refactor',
|
|
86
|
-
severity: s.severity || 'medium',
|
|
87
|
-
content: s.content || 'No description provided',
|
|
88
|
-
filePath: s.filePath || '',
|
|
89
|
-
rationale: s.rationale || '',
|
|
90
|
-
diff: s.diff || '',
|
|
91
|
-
tags: s.tags,
|
|
92
|
-
}));
|
|
80
|
+
const parsed = AIProvider.extractJson(response);
|
|
81
|
+
const list = Array.isArray(parsed)
|
|
82
|
+
? parsed
|
|
83
|
+
: Array.isArray(parsed?.suggestions)
|
|
84
|
+
? parsed.suggestions
|
|
85
|
+
: null;
|
|
86
|
+
if (!list) {
|
|
87
|
+
throw new Error('The model did not return suggestions in the expected JSON format. ' +
|
|
88
|
+
'Try again, or use a larger model (run with --debug to see the raw reply).');
|
|
93
89
|
}
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
return list
|
|
91
|
+
.filter((s) => s && typeof s === 'object')
|
|
92
|
+
.map((s) => ({
|
|
93
|
+
type: s.type || 'refactor',
|
|
94
|
+
severity: s.severity || 'medium',
|
|
95
|
+
content: s.content || s.description || 'No description provided',
|
|
96
|
+
filePath: s.filePath || s.file || '',
|
|
97
|
+
rationale: s.rationale || '',
|
|
98
|
+
diff: typeof s.diff === 'string' ? s.diff : '',
|
|
99
|
+
tags: s.tags,
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Pull the first JSON array/object out of a model reply (handles ```json fences and chatter).
|
|
104
|
+
*/
|
|
105
|
+
static extractJson(text) {
|
|
106
|
+
const fenced = /```(?:json)?\s*([\s\S]*?)```/i.exec(text);
|
|
107
|
+
const candidates = [fenced?.[1], text].filter(Boolean);
|
|
108
|
+
for (const candidate of candidates) {
|
|
109
|
+
const trimmed = candidate.trim();
|
|
110
|
+
try {
|
|
111
|
+
return JSON.parse(trimmed);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// fall through to bracket scan
|
|
115
|
+
}
|
|
116
|
+
for (const [open, close] of [['[', ']'], ['{', '}']]) {
|
|
117
|
+
const i = trimmed.indexOf(open);
|
|
118
|
+
const j = trimmed.lastIndexOf(close);
|
|
119
|
+
if (i !== -1 && j > i) {
|
|
120
|
+
try {
|
|
121
|
+
return JSON.parse(trimmed.slice(i, j + 1));
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// try next shape
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
96
128
|
}
|
|
129
|
+
return null;
|
|
97
130
|
}
|
|
98
131
|
}
|
|
99
132
|
//# sourceMappingURL=provider.js.map
|
package/dist/ai/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAgB,UAAU;IAClB,MAAM,CAAU;IAChB,KAAK,CAAS;IACd,QAAQ,CAAU;IAE5B,YAAY,MAAe,EAAE,KAAc,EAAE,QAAiB;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAuBD;;OAEG;IACO,eAAe;QACrB,OAAO
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,YAAY,SA2DnB,CAAC"}
|
package/dist/commands/apply.js
CHANGED
|
@@ -1,75 +1,110 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { resolve } from 'path';
|
|
2
3
|
import { ApplyEngine, InteractiveMode } from '../core/apply/index.js';
|
|
4
|
+
import { localStorage } from '../storage/local.js';
|
|
5
|
+
import { meetsSeverity, parseSeverity } from '../utils/severity.js';
|
|
3
6
|
import { logger } from '../utils/logger.js';
|
|
4
7
|
import chalk from 'chalk';
|
|
5
8
|
export const applyCommand = new Command('apply')
|
|
6
9
|
.description('Apply an AI-generated suggestion to your code')
|
|
7
|
-
.argument('[suggestion-id]', 'Suggestion ID to apply')
|
|
10
|
+
.argument('[suggestion-id]', 'Suggestion ID to apply (omit to list pending suggestions)')
|
|
8
11
|
.option('--auto', 'Apply without confirmation')
|
|
9
12
|
.option('--dry-run', 'Show what would change without applying')
|
|
10
|
-
.option('--force', 'Apply even if
|
|
13
|
+
.option('--force', 'Apply the parts that match even if some hunks do not')
|
|
11
14
|
.option('--no-backup', 'Skip creating backup (not recommended)')
|
|
12
|
-
.option('--all', 'Apply all pending suggestions')
|
|
13
|
-
.option('--severity <level>', '
|
|
15
|
+
.option('--all', 'Apply all pending suggestions for the project')
|
|
16
|
+
.option('--severity <level>', 'With --all: only suggestions at or above this severity (critical, high, medium, low, info)')
|
|
17
|
+
.option('--project <path>', 'Project the suggestions were generated for', '.')
|
|
14
18
|
.action(async (suggestionId, options) => {
|
|
15
19
|
try {
|
|
16
20
|
const engine = new ApplyEngine();
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
const severity = parseSeverity(options.severity);
|
|
22
|
+
const applyOptions = {
|
|
23
|
+
dryRun: Boolean(options.dryRun),
|
|
24
|
+
force: Boolean(options.force),
|
|
25
|
+
createBackup: options.backup !== false,
|
|
26
|
+
interactive: !options.auto && !options.dryRun,
|
|
27
|
+
};
|
|
28
|
+
if (applyOptions.dryRun) {
|
|
29
|
+
console.log(chalk.bold.cyan('\nš Dry run: no files will be changed\n'));
|
|
30
|
+
}
|
|
31
|
+
if (options.all || (!suggestionId && severity)) {
|
|
32
|
+
const pending = (await pendingFor(options.project)).filter((s) => meetsSeverity(s.severity, severity));
|
|
33
|
+
if (pending.length === 0) {
|
|
34
|
+
console.log(chalk.yellow('\n No pending suggestions with code changes for this project.\n'));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
console.log(chalk.bold(`\nApplying ${pending.length} suggestion(s)...\n`));
|
|
38
|
+
let applied = 0;
|
|
39
|
+
let failed = 0;
|
|
40
|
+
for (const s of pending) {
|
|
41
|
+
console.log(`${chalk.cyan(s.id)} ${chalk.bold(s.type)} (${s.severity}) ${chalk.gray(s.filePath)}`);
|
|
42
|
+
const result = await engine.applySuggestion(s.id, applyOptions);
|
|
43
|
+
report(result, applyOptions.dryRun, true);
|
|
44
|
+
if (result.success)
|
|
45
|
+
applied++;
|
|
46
|
+
else if (!result.skipped)
|
|
47
|
+
failed++;
|
|
48
|
+
if (result.quit)
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
console.log(chalk.bold(`\n${applyOptions.dryRun ? 'Would apply' : 'Applied'}: ${applied}, failed: ${failed}\n`));
|
|
52
|
+
if (failed > 0)
|
|
53
|
+
process.exitCode = 1;
|
|
54
|
+
return;
|
|
21
55
|
}
|
|
22
|
-
// Need suggestion ID
|
|
23
56
|
if (!suggestionId) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
process.exit(1);
|
|
57
|
+
await listPending(options.project);
|
|
58
|
+
return;
|
|
27
59
|
}
|
|
28
|
-
|
|
29
|
-
|
|
60
|
+
const result = await engine.applySuggestion(suggestionId, applyOptions);
|
|
61
|
+
report(result, applyOptions.dryRun, false);
|
|
62
|
+
if (!result.success && !result.skipped)
|
|
63
|
+
process.exitCode = 1;
|
|
30
64
|
}
|
|
31
65
|
catch (error) {
|
|
32
66
|
logger.error('Apply failed', error);
|
|
33
|
-
process.
|
|
67
|
+
process.exitCode = 1;
|
|
34
68
|
}
|
|
35
69
|
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
70
|
+
async function pendingFor(project) {
|
|
71
|
+
const suggestions = await localStorage.loadSuggestionsForProject(resolve(project));
|
|
72
|
+
return suggestions.filter((s) => !s.appliedAt && s.diff && s.diff.trim());
|
|
73
|
+
}
|
|
74
|
+
async function listPending(project) {
|
|
75
|
+
const pending = await pendingFor(project);
|
|
76
|
+
if (pending.length === 0) {
|
|
77
|
+
console.log(chalk.yellow('\n No pending suggestions for this project.'));
|
|
78
|
+
console.log(chalk.cyan(' Run "ownkey suggest ." to generate some.\n'));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
console.log(chalk.bold('\nš Pending suggestions:\n'));
|
|
82
|
+
for (const s of pending.slice(-20)) {
|
|
83
|
+
console.log(` ${chalk.cyan(s.id)} ${chalk.bold(s.type)} (${s.severity}) ${chalk.gray(s.filePath)}`);
|
|
84
|
+
console.log(chalk.gray(` ${s.content}`));
|
|
49
85
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
86
|
+
console.log(chalk.cyan('\n Apply one: ownkey apply <id>'));
|
|
87
|
+
console.log(chalk.cyan(' Apply all: ownkey apply --all [--severity high]\n'));
|
|
88
|
+
}
|
|
89
|
+
function report(result, dryRun, compact) {
|
|
90
|
+
if (result.warnings?.length)
|
|
54
91
|
InteractiveMode.showWarnings(result.warnings);
|
|
92
|
+
if (result.skipped) {
|
|
93
|
+
console.log(chalk.yellow(` ${result.error ?? 'Skipped'}\n`));
|
|
94
|
+
return;
|
|
55
95
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
InteractiveMode.showSuccess(result.filesModified.length, result.backupId);
|
|
68
|
-
}
|
|
96
|
+
if (!result.success) {
|
|
97
|
+
InteractiveMode.showError(result.error || 'Unknown error');
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (dryRun) {
|
|
101
|
+
console.log(chalk.green(`ā Would modify ${result.filesModified.length} file(s): ${result.filesModified.join(', ')}\n`));
|
|
102
|
+
}
|
|
103
|
+
else if (compact) {
|
|
104
|
+
console.log(chalk.green(` ā ${result.filesModified.join(', ')}${result.backupId ? chalk.gray(` (undo: ownkey undo ${result.backupId})`) : ''}\n`));
|
|
69
105
|
}
|
|
70
106
|
else {
|
|
71
|
-
InteractiveMode.
|
|
72
|
-
process.exit(1);
|
|
107
|
+
InteractiveMode.showSuccess(result.filesModified.length, result.backupId);
|
|
73
108
|
}
|
|
74
109
|
}
|
|
75
110
|
//# sourceMappingURL=apply.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,eAAO,MAAM,aAAa,SAsDpB,CAAC"}
|