orcommit 1.0.4 → 1.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/README.md +226 -59
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +31 -0
- package/dist/cli.js.map +1 -1
- package/dist/data/thinking-phrases.d.ts +11 -0
- package/dist/data/thinking-phrases.d.ts.map +1 -0
- package/dist/data/thinking-phrases.js +146 -0
- package/dist/data/thinking-phrases.js.map +1 -0
- package/dist/modules/api.d.ts.map +1 -1
- package/dist/modules/api.js +2 -9
- package/dist/modules/api.js.map +1 -1
- package/dist/modules/core.d.ts +7 -1
- package/dist/modules/core.d.ts.map +1 -1
- package/dist/modules/core.js +320 -120
- package/dist/modules/core.js.map +1 -1
- package/dist/modules/diff-filter.d.ts.map +1 -1
- package/dist/modules/diff-filter.js +83 -21
- package/dist/modules/diff-filter.js.map +1 -1
- package/dist/modules/git.d.ts +9 -0
- package/dist/modules/git.d.ts.map +1 -1
- package/dist/modules/git.js +40 -0
- package/dist/modules/git.js.map +1 -1
- package/dist/modules/promo.d.ts +9 -0
- package/dist/modules/promo.d.ts.map +1 -0
- package/dist/modules/promo.js +66 -0
- package/dist/modules/promo.js.map +1 -0
- package/dist/modules/spinner.d.ts +90 -0
- package/dist/modules/spinner.d.ts.map +1 -0
- package/dist/modules/spinner.js +205 -0
- package/dist/modules/spinner.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/formatting.d.ts +57 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +94 -0
- package/dist/utils/formatting.js.map +1 -0
- package/package.json +42 -5
- package/preview.png +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beautiful animated spinner with rotating phrases
|
|
3
|
+
*/
|
|
4
|
+
declare const COLOR_SCHEMES: {
|
|
5
|
+
cyan: import("chalk").ChalkInstance;
|
|
6
|
+
magenta: import("chalk").ChalkInstance;
|
|
7
|
+
yellow: import("chalk").ChalkInstance;
|
|
8
|
+
blue: import("chalk").ChalkInstance;
|
|
9
|
+
green: import("chalk").ChalkInstance;
|
|
10
|
+
red: import("chalk").ChalkInstance;
|
|
11
|
+
};
|
|
12
|
+
type ColorScheme = keyof typeof COLOR_SCHEMES;
|
|
13
|
+
interface SpinnerOptions {
|
|
14
|
+
text?: string;
|
|
15
|
+
color?: ColorScheme;
|
|
16
|
+
showPhrase?: boolean;
|
|
17
|
+
phraseInterval?: number;
|
|
18
|
+
style?: 'dots' | 'line' | 'brain';
|
|
19
|
+
}
|
|
20
|
+
export declare class AnimatedSpinner {
|
|
21
|
+
private intervalId?;
|
|
22
|
+
private frameIndex;
|
|
23
|
+
private currentPhrase;
|
|
24
|
+
private phraseChangeCounter;
|
|
25
|
+
private text;
|
|
26
|
+
private color;
|
|
27
|
+
private showPhrase;
|
|
28
|
+
private phraseInterval;
|
|
29
|
+
private frames;
|
|
30
|
+
private startTime;
|
|
31
|
+
constructor(options?: SpinnerOptions);
|
|
32
|
+
/**
|
|
33
|
+
* Start the spinner animation
|
|
34
|
+
*/
|
|
35
|
+
start(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Update spinner text
|
|
38
|
+
*/
|
|
39
|
+
update(text: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Stop the spinner with success
|
|
42
|
+
*/
|
|
43
|
+
succeed(text?: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Stop the spinner with error
|
|
46
|
+
*/
|
|
47
|
+
fail(text?: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Stop the spinner with warning
|
|
50
|
+
*/
|
|
51
|
+
warn(text?: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Stop the spinner with info
|
|
54
|
+
*/
|
|
55
|
+
info(text?: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* Stop the spinner
|
|
58
|
+
*/
|
|
59
|
+
private stop;
|
|
60
|
+
/**
|
|
61
|
+
* Render current frame
|
|
62
|
+
*/
|
|
63
|
+
private render;
|
|
64
|
+
/**
|
|
65
|
+
* Clear current line
|
|
66
|
+
*/
|
|
67
|
+
private clearLine;
|
|
68
|
+
/**
|
|
69
|
+
* Get a random color for phrases
|
|
70
|
+
*/
|
|
71
|
+
private getRandomColor;
|
|
72
|
+
/**
|
|
73
|
+
* Format elapsed time
|
|
74
|
+
*/
|
|
75
|
+
private formatElapsed;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create a new animated spinner
|
|
79
|
+
*/
|
|
80
|
+
export declare function createSpinner(options?: SpinnerOptions): AnimatedSpinner;
|
|
81
|
+
/**
|
|
82
|
+
* Quick helper for AI thinking spinner
|
|
83
|
+
*/
|
|
84
|
+
export declare function createAIThinkingSpinner(text?: string): AnimatedSpinner;
|
|
85
|
+
/**
|
|
86
|
+
* Quick helper for processing spinner (no phrases)
|
|
87
|
+
*/
|
|
88
|
+
export declare function createProcessingSpinner(text?: string): AnimatedSpinner;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/modules/spinner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,QAAA,MAAM,aAAa;;;;;;;CAOlB,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAE9C,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,cAAmB;IAuBxC;;OAEG;IACH,KAAK,IAAI,IAAI;IAwBb;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,OAAO,CAAC,IAAI;IAyBZ;;OAEG;IACH,OAAO,CAAC,MAAM;IAmBd;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,aAAa;CAQtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,eAAe,CAEvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAAyB,GAAG,eAAe,CAOxF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAAqB,GAAG,eAAe,CAOpF"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beautiful animated spinner with rotating phrases
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { getRandomThinkingPhrase } from '../data/thinking-phrases.js';
|
|
6
|
+
// Spinner frames with different styles
|
|
7
|
+
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
8
|
+
const BRAIN_FRAMES = ['🧠', '💭', '💡', '✨', '⚡', '🔮', '🎯', '🚀'];
|
|
9
|
+
const DOT_FRAMES = ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'];
|
|
10
|
+
// Color schemes for different moods
|
|
11
|
+
const COLOR_SCHEMES = {
|
|
12
|
+
cyan: chalk.cyan,
|
|
13
|
+
magenta: chalk.magenta,
|
|
14
|
+
yellow: chalk.yellow,
|
|
15
|
+
blue: chalk.blue,
|
|
16
|
+
green: chalk.green,
|
|
17
|
+
red: chalk.red,
|
|
18
|
+
};
|
|
19
|
+
export class AnimatedSpinner {
|
|
20
|
+
intervalId;
|
|
21
|
+
frameIndex = 0;
|
|
22
|
+
currentPhrase;
|
|
23
|
+
phraseChangeCounter = 0;
|
|
24
|
+
text;
|
|
25
|
+
color;
|
|
26
|
+
showPhrase;
|
|
27
|
+
phraseInterval;
|
|
28
|
+
frames;
|
|
29
|
+
startTime;
|
|
30
|
+
constructor(options = {}) {
|
|
31
|
+
this.text = options.text || 'Processing';
|
|
32
|
+
this.color = options.color || 'cyan';
|
|
33
|
+
this.showPhrase = options.showPhrase ?? true;
|
|
34
|
+
this.phraseInterval = options.phraseInterval || 3000; // Change phrase every 3 seconds
|
|
35
|
+
this.currentPhrase = getRandomThinkingPhrase();
|
|
36
|
+
this.startTime = Date.now();
|
|
37
|
+
// Select frames based on style
|
|
38
|
+
switch (options.style) {
|
|
39
|
+
case 'brain':
|
|
40
|
+
this.frames = BRAIN_FRAMES;
|
|
41
|
+
break;
|
|
42
|
+
case 'dots':
|
|
43
|
+
this.frames = DOT_FRAMES;
|
|
44
|
+
break;
|
|
45
|
+
case 'line':
|
|
46
|
+
default:
|
|
47
|
+
this.frames = SPINNER_FRAMES;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Start the spinner animation
|
|
53
|
+
*/
|
|
54
|
+
start() {
|
|
55
|
+
if (this.intervalId) {
|
|
56
|
+
return; // Already running
|
|
57
|
+
}
|
|
58
|
+
// Hide cursor
|
|
59
|
+
process.stdout.write('\x1B[?25l');
|
|
60
|
+
this.render();
|
|
61
|
+
this.intervalId = setInterval(() => {
|
|
62
|
+
this.frameIndex = (this.frameIndex + 1) % this.frames.length;
|
|
63
|
+
this.phraseChangeCounter++;
|
|
64
|
+
// Change phrase periodically
|
|
65
|
+
if (this.phraseChangeCounter * 80 >= this.phraseInterval) {
|
|
66
|
+
this.currentPhrase = getRandomThinkingPhrase();
|
|
67
|
+
this.phraseChangeCounter = 0;
|
|
68
|
+
}
|
|
69
|
+
this.render();
|
|
70
|
+
}, 80); // ~12.5 FPS
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Update spinner text
|
|
74
|
+
*/
|
|
75
|
+
update(text) {
|
|
76
|
+
this.text = text;
|
|
77
|
+
this.render();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Stop the spinner with success
|
|
81
|
+
*/
|
|
82
|
+
succeed(text) {
|
|
83
|
+
this.stop('✓', text, 'green');
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Stop the spinner with error
|
|
87
|
+
*/
|
|
88
|
+
fail(text) {
|
|
89
|
+
this.stop('✖', text, 'red');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Stop the spinner with warning
|
|
93
|
+
*/
|
|
94
|
+
warn(text) {
|
|
95
|
+
this.stop('⚠', text, 'yellow');
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Stop the spinner with info
|
|
99
|
+
*/
|
|
100
|
+
info(text) {
|
|
101
|
+
this.stop('ℹ', text, 'blue');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Stop the spinner
|
|
105
|
+
*/
|
|
106
|
+
stop(symbol, text, color) {
|
|
107
|
+
if (this.intervalId) {
|
|
108
|
+
clearInterval(this.intervalId);
|
|
109
|
+
this.intervalId = undefined;
|
|
110
|
+
}
|
|
111
|
+
// Clear line and show final message
|
|
112
|
+
this.clearLine();
|
|
113
|
+
const finalText = text || this.text;
|
|
114
|
+
const finalColor = color || this.color;
|
|
115
|
+
const colorFn = COLOR_SCHEMES[finalColor];
|
|
116
|
+
const elapsed = this.formatElapsed();
|
|
117
|
+
if (this.showPhrase) {
|
|
118
|
+
console.log(colorFn(`${symbol} ${finalText}`) + chalk.gray(` ${elapsed}`));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.log(colorFn(`${symbol} ${finalText}`));
|
|
122
|
+
}
|
|
123
|
+
// Show cursor
|
|
124
|
+
process.stdout.write('\x1B[?25h');
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Render current frame
|
|
128
|
+
*/
|
|
129
|
+
render() {
|
|
130
|
+
const frame = this.frames[this.frameIndex] || '';
|
|
131
|
+
const colorFn = COLOR_SCHEMES[this.color];
|
|
132
|
+
this.clearLine();
|
|
133
|
+
if (this.showPhrase) {
|
|
134
|
+
// Show main text + colorful phrase
|
|
135
|
+
const phraseColor = this.getRandomColor();
|
|
136
|
+
process.stdout.write(colorFn(`${frame} ${this.text}`) +
|
|
137
|
+
chalk.gray(' · ') +
|
|
138
|
+
phraseColor(this.currentPhrase));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
process.stdout.write(colorFn(`${frame} ${this.text}`));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Clear current line
|
|
146
|
+
*/
|
|
147
|
+
clearLine() {
|
|
148
|
+
if (process.stdout.clearLine && process.stdout.cursorTo) {
|
|
149
|
+
process.stdout.clearLine(0);
|
|
150
|
+
process.stdout.cursorTo(0);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
// Fallback for environments without clearLine support
|
|
154
|
+
process.stdout.write('\r\x1b[K');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get a random color for phrases
|
|
159
|
+
*/
|
|
160
|
+
getRandomColor() {
|
|
161
|
+
const colors = [chalk.cyan, chalk.magenta, chalk.yellow, chalk.blue, chalk.green];
|
|
162
|
+
return colors[Math.floor(Math.random() * colors.length)] || chalk.white;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Format elapsed time
|
|
166
|
+
*/
|
|
167
|
+
formatElapsed() {
|
|
168
|
+
const elapsed = Date.now() - this.startTime;
|
|
169
|
+
if (elapsed < 1000) {
|
|
170
|
+
return `${elapsed}ms`;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
return `${(elapsed / 1000).toFixed(1)}s`;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Create a new animated spinner
|
|
179
|
+
*/
|
|
180
|
+
export function createSpinner(options) {
|
|
181
|
+
return new AnimatedSpinner(options);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Quick helper for AI thinking spinner
|
|
185
|
+
*/
|
|
186
|
+
export function createAIThinkingSpinner(text = 'AI is thinking') {
|
|
187
|
+
return new AnimatedSpinner({
|
|
188
|
+
text,
|
|
189
|
+
color: 'cyan',
|
|
190
|
+
showPhrase: true,
|
|
191
|
+
style: 'line',
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Quick helper for processing spinner (no phrases)
|
|
196
|
+
*/
|
|
197
|
+
export function createProcessingSpinner(text = 'Processing') {
|
|
198
|
+
return new AnimatedSpinner({
|
|
199
|
+
text,
|
|
200
|
+
color: 'blue',
|
|
201
|
+
showPhrase: false,
|
|
202
|
+
style: 'dots',
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/modules/spinner.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export interface UserPreferences {
|
|
|
19
19
|
readonly autoConfirm: boolean;
|
|
20
20
|
readonly language: string;
|
|
21
21
|
readonly commitFormat: 'conventional' | 'simple';
|
|
22
|
+
readonly customPrompt?: string;
|
|
22
23
|
}
|
|
23
24
|
export interface GitDiff {
|
|
24
25
|
readonly files: GitFile[];
|
|
@@ -88,6 +89,8 @@ export interface CliOptions {
|
|
|
88
89
|
readonly clearCache?: boolean;
|
|
89
90
|
readonly push?: boolean;
|
|
90
91
|
readonly autoPush?: boolean;
|
|
92
|
+
readonly prompt?: string;
|
|
93
|
+
readonly context?: string;
|
|
91
94
|
}
|
|
92
95
|
export type CommitType = 'feat' | 'fix' | 'docs' | 'style' | 'refactor' | 'test' | 'chore' | 'perf' | 'ci' | 'build' | 'revert';
|
|
93
96
|
export declare abstract class BaseError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;QACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,QAAQ,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,cAAc,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAqHA,cAAc;AACd,MAAM,OAAgB,SAAU,SAAQ,KAAK;IAIW;IAAtD,YAAY,OAAe,EAA2B,KAAa;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QADqC,UAAK,GAAL,KAAK,CAAQ;QAEjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IAC/B,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,KAAK,CAAC;CAC9B;AAED,MAAM,OAAO,QAAS,SAAQ,SAAS;IAC5B,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,KAAK,CAAC;CAC9B;AAED,MAAM,OAAO,QAAS,SAAQ,SAAS;IAMnB;IALT,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,CAAU;IAE9B,YACE,OAAe,EACC,UAAmB,EACnC,KAAa;QAEb,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAHN,eAAU,GAAV,UAAU,CAAS;QAInC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEO,qBAAqB,CAAC,UAAmB;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,OAAO,UAAU,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC;IACvE,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IAChC,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,IAAI,CAAC;CAC7B;AAwBD,YAAY;AACZ,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,SAAS,EAAE;QACT,UAAU,EAAE;YACV,OAAO,EAAE,8BAA8B;YACvC,OAAO,EAAE,KAAK;SACf;QACD,MAAM,EAAE;YACN,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,KAAK;SACf;KACF;IACD,WAAW,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,cAAc;KAC7B;IACD,OAAO,EAAE,OAAO;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,cAAc,EAAE,IAAI,EAAE,aAAa;IACnC,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,CAAC;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,IAAI,EAAE,KAAK;IACvB,SAAS,EAAE,KAAK,EAAE,KAAK;IACvB,cAAc,EAAE,CAAC;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yDAAyD;IACzD,kBAAkB,EAAE,EAAE;IACtB,qDAAqD;IACrD,mBAAmB,EAAE,GAAG;IACxB,yCAAyC;IACzC,cAAc,EAAE,IAAI;IACpB,uCAAuC;IACvC,eAAe,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;CAC5B,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text formatting and block wrapping utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Clean text by removing extra whitespace and line breaks
|
|
6
|
+
*/
|
|
7
|
+
export declare function cleanText(text: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Wrap text in a named block
|
|
10
|
+
* @param blockName - Name of the block (e.g., 'IMPORTANT', 'CONTEXT', 'DIFF')
|
|
11
|
+
* @param content - Content to wrap
|
|
12
|
+
* @param cleanContent - Whether to clean the content first (default: true)
|
|
13
|
+
*/
|
|
14
|
+
export declare function wrapInBlock(blockName: string, content: string, cleanContent?: boolean): string;
|
|
15
|
+
/**
|
|
16
|
+
* Create structured prompt with multiple blocks
|
|
17
|
+
* @param blocks - Array of {name, content, clean} objects
|
|
18
|
+
*/
|
|
19
|
+
export declare function createStructuredPrompt(blocks: Array<{
|
|
20
|
+
name: string;
|
|
21
|
+
content: string;
|
|
22
|
+
clean?: boolean;
|
|
23
|
+
}>): string;
|
|
24
|
+
/**
|
|
25
|
+
* Wrap user feedback in IMPORTANT block
|
|
26
|
+
*/
|
|
27
|
+
export declare function wrapUserFeedback(feedback: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Wrap diff content in DIFF_CONTENT block
|
|
30
|
+
*/
|
|
31
|
+
export declare function wrapDiffContent(diff: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Wrap instructions in INSTRUCTIONS block
|
|
34
|
+
*/
|
|
35
|
+
export declare function wrapInstructions(instructions: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Wrap examples in EXAMPLES block
|
|
38
|
+
*/
|
|
39
|
+
export declare function wrapExamples(examples: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Wrap context in CONTEXT block
|
|
42
|
+
*/
|
|
43
|
+
export declare function wrapContext(context: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Wrap rules in RULES block
|
|
46
|
+
*/
|
|
47
|
+
export declare function wrapRules(rules: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* Parse AI JSON response with fallback to plain text
|
|
50
|
+
* @param response - AI response (should be JSON)
|
|
51
|
+
* @returns Object with assessment and commitMessage
|
|
52
|
+
*/
|
|
53
|
+
export declare function parseAIResponse(response: string): {
|
|
54
|
+
assessment: string | null;
|
|
55
|
+
commitMessage: string;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=formatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,OAAc,GAC3B,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAChE,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB,CAoBA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text formatting and block wrapping utilities
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Clean text by removing extra whitespace and line breaks
|
|
6
|
+
*/
|
|
7
|
+
export function cleanText(text) {
|
|
8
|
+
return text
|
|
9
|
+
.trim() // Remove leading/trailing whitespace
|
|
10
|
+
.replace(/ +/g, ' ') // Replace multiple spaces with single space
|
|
11
|
+
.replace(/\n{3,}/g, '\n\n') // Replace 3+ newlines with double newline
|
|
12
|
+
.replace(/\r\n/g, '\n'); // Normalize line endings
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Wrap text in a named block
|
|
16
|
+
* @param blockName - Name of the block (e.g., 'IMPORTANT', 'CONTEXT', 'DIFF')
|
|
17
|
+
* @param content - Content to wrap
|
|
18
|
+
* @param cleanContent - Whether to clean the content first (default: true)
|
|
19
|
+
*/
|
|
20
|
+
export function wrapInBlock(blockName, content, cleanContent = true) {
|
|
21
|
+
const processedContent = cleanContent ? cleanText(content) : content;
|
|
22
|
+
return `[${blockName}]\n${processedContent}\n[/${blockName}]`;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create structured prompt with multiple blocks
|
|
26
|
+
* @param blocks - Array of {name, content, clean} objects
|
|
27
|
+
*/
|
|
28
|
+
export function createStructuredPrompt(blocks) {
|
|
29
|
+
return blocks
|
|
30
|
+
.map(block => wrapInBlock(block.name, block.content, block.clean ?? true))
|
|
31
|
+
.join('\n\n');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Wrap user feedback in IMPORTANT block
|
|
35
|
+
*/
|
|
36
|
+
export function wrapUserFeedback(feedback) {
|
|
37
|
+
return wrapInBlock('IMPORTANT_USER_FEEDBACK', feedback);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Wrap diff content in DIFF_CONTENT block
|
|
41
|
+
*/
|
|
42
|
+
export function wrapDiffContent(diff) {
|
|
43
|
+
return wrapInBlock('DIFF_CONTENT', diff, false); // Don't clean diff content
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Wrap instructions in INSTRUCTIONS block
|
|
47
|
+
*/
|
|
48
|
+
export function wrapInstructions(instructions) {
|
|
49
|
+
return wrapInBlock('INSTRUCTIONS', instructions);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Wrap examples in EXAMPLES block
|
|
53
|
+
*/
|
|
54
|
+
export function wrapExamples(examples) {
|
|
55
|
+
return wrapInBlock('EXAMPLES', examples);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Wrap context in CONTEXT block
|
|
59
|
+
*/
|
|
60
|
+
export function wrapContext(context) {
|
|
61
|
+
return wrapInBlock('CONTEXT', context);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Wrap rules in RULES block
|
|
65
|
+
*/
|
|
66
|
+
export function wrapRules(rules) {
|
|
67
|
+
return wrapInBlock('RULES', rules);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Parse AI JSON response with fallback to plain text
|
|
71
|
+
* @param response - AI response (should be JSON)
|
|
72
|
+
* @returns Object with assessment and commitMessage
|
|
73
|
+
*/
|
|
74
|
+
export function parseAIResponse(response) {
|
|
75
|
+
try {
|
|
76
|
+
// Try to parse as JSON
|
|
77
|
+
const parsed = JSON.parse(response.trim());
|
|
78
|
+
if (parsed && typeof parsed === 'object') {
|
|
79
|
+
return {
|
|
80
|
+
assessment: parsed.codeAssessment || null,
|
|
81
|
+
commitMessage: parsed.commitMessage || response.trim()
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
// JSON parsing failed - fallback to plain text
|
|
87
|
+
}
|
|
88
|
+
// Fallback: treat entire response as commit message (backward compatibility)
|
|
89
|
+
return {
|
|
90
|
+
assessment: null,
|
|
91
|
+
commitMessage: response.trim()
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=formatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,IAAI,EAAE,CAA2B,qCAAqC;SACtE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAY,4CAA4C;SAC5E,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAM,0CAA0C;SAC1E,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAS,yBAAyB;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,SAAiB,EACjB,OAAe,EACf,eAAwB,IAAI;IAE5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrE,OAAO,IAAI,SAAS,MAAM,gBAAgB,OAAO,SAAS,GAAG,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAiE;IAEjE,OAAO,MAAM;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;SACzE,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,WAAW,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,2BAA2B;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAI9C,IAAI,CAAC;QACH,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO;gBACL,UAAU,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;gBACzC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE;aACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+CAA+C;IACjD,CAAC;IAED,6EAA6E;IAC7E,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE;KAC/B,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orcommit",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "AI-powered commit message generator - Automated git commits using OpenAI, Claude, and OpenRouter APIs with intelligent diff processing, custom prompts, and interactive regeneration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"git",
|
|
7
7
|
"commit",
|
|
8
8
|
"ai",
|
|
9
9
|
"openrouter",
|
|
10
10
|
"openai",
|
|
11
|
+
"claude",
|
|
12
|
+
"anthropic",
|
|
11
13
|
"cli",
|
|
12
14
|
"typescript",
|
|
13
|
-
"automation"
|
|
15
|
+
"automation",
|
|
16
|
+
"git-automation",
|
|
17
|
+
"commit-message",
|
|
18
|
+
"ai-commit",
|
|
19
|
+
"conventional-commits",
|
|
20
|
+
"gpt",
|
|
21
|
+
"gpt-4",
|
|
22
|
+
"developer-tools",
|
|
23
|
+
"productivity",
|
|
24
|
+
"git-hooks",
|
|
25
|
+
"ai-assistant",
|
|
26
|
+
"code-assistant",
|
|
27
|
+
"ollama",
|
|
28
|
+
"local-ai",
|
|
29
|
+
"multi-provider",
|
|
30
|
+
"interactive-cli"
|
|
14
31
|
],
|
|
15
32
|
"main": "dist/index.js",
|
|
16
33
|
"bin": {
|
|
@@ -37,7 +54,8 @@
|
|
|
37
54
|
"files": [
|
|
38
55
|
"dist/**/*",
|
|
39
56
|
"README.md",
|
|
40
|
-
"LICENSE"
|
|
57
|
+
"LICENSE",
|
|
58
|
+
"preview.png"
|
|
41
59
|
],
|
|
42
60
|
"engines": {
|
|
43
61
|
"node": ">=16.0.0"
|
|
@@ -46,7 +64,26 @@
|
|
|
46
64
|
"type": "git",
|
|
47
65
|
"url": "git+https://github.com/markolofsen/openrouter-commit.git"
|
|
48
66
|
},
|
|
49
|
-
"
|
|
67
|
+
"homepage": "https://reforms.ai",
|
|
68
|
+
"bugs": {
|
|
69
|
+
"url": "https://github.com/markolofsen/openrouter-commit/issues",
|
|
70
|
+
"email": "contact@reforms.ai"
|
|
71
|
+
},
|
|
72
|
+
"author": {
|
|
73
|
+
"name": "Mark Olofsen",
|
|
74
|
+
"email": "contact@reforms.ai",
|
|
75
|
+
"url": "https://reforms.ai"
|
|
76
|
+
},
|
|
77
|
+
"contributors": [
|
|
78
|
+
{
|
|
79
|
+
"name": "Reforms.ai Team",
|
|
80
|
+
"url": "https://reforms.ai"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"funding": {
|
|
84
|
+
"type": "individual",
|
|
85
|
+
"url": "https://reforms.ai"
|
|
86
|
+
},
|
|
50
87
|
"license": "MIT",
|
|
51
88
|
"devDependencies": {
|
|
52
89
|
"@types/jest": "^29.5.8",
|
package/preview.png
ADDED
|
Binary file
|