orcommit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +318 -0
- package/dist/cli.d.ts +70 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +391 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/api.d.ts +48 -0
- package/dist/modules/api.d.ts.map +1 -0
- package/dist/modules/api.js +286 -0
- package/dist/modules/api.js.map +1 -0
- package/dist/modules/cache.d.ts +74 -0
- package/dist/modules/cache.d.ts.map +1 -0
- package/dist/modules/cache.js +284 -0
- package/dist/modules/cache.js.map +1 -0
- package/dist/modules/config.d.ts +53 -0
- package/dist/modules/config.d.ts.map +1 -0
- package/dist/modules/config.js +180 -0
- package/dist/modules/config.js.map +1 -0
- package/dist/modules/core.d.ts +54 -0
- package/dist/modules/core.d.ts.map +1 -0
- package/dist/modules/core.js +474 -0
- package/dist/modules/core.js.map +1 -0
- package/dist/modules/diff-filter.d.ts +71 -0
- package/dist/modules/diff-filter.d.ts.map +1 -0
- package/dist/modules/diff-filter.js +332 -0
- package/dist/modules/diff-filter.js.map +1 -0
- package/dist/modules/git.d.ts +61 -0
- package/dist/modules/git.d.ts.map +1 -0
- package/dist/modules/git.js +362 -0
- package/dist/modules/git.js.map +1 -0
- package/dist/modules/logger.d.ts +67 -0
- package/dist/modules/logger.d.ts.map +1 -0
- package/dist/modules/logger.js +212 -0
- package/dist/modules/logger.js.map +1 -0
- package/dist/modules/tokenizer.d.ts +43 -0
- package/dist/modules/tokenizer.d.ts.map +1 -0
- package/dist/modules/tokenizer.js +200 -0
- package/dist/modules/tokenizer.js.map +1 -0
- package/dist/types/index.d.ts +141 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +70 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +64 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +154 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +75 -0
package/dist/cli.js
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import updateNotifier from 'update-notifier';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { coreOrchestrator } from './modules/core.js';
|
|
6
|
+
import { configManager } from './modules/config.js';
|
|
7
|
+
import { logger } from './modules/logger.js';
|
|
8
|
+
// Import package.json for version and update checking
|
|
9
|
+
import { createRequire } from 'module';
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const packageJson = require('../package.json');
|
|
12
|
+
/**
|
|
13
|
+
* Main CLI application
|
|
14
|
+
*/
|
|
15
|
+
class CliApplication {
|
|
16
|
+
program;
|
|
17
|
+
constructor() {
|
|
18
|
+
this.program = new Command();
|
|
19
|
+
this.setupCommands();
|
|
20
|
+
this.checkForUpdates();
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Set up all CLI commands and options
|
|
24
|
+
*/
|
|
25
|
+
setupCommands() {
|
|
26
|
+
this.program
|
|
27
|
+
.name('orc')
|
|
28
|
+
.description('OpenRouter Commit - AI-powered Git commit message generator')
|
|
29
|
+
.version(packageJson.version, '-v, --version', 'Show version number');
|
|
30
|
+
// Main commit command
|
|
31
|
+
this.program
|
|
32
|
+
.command('commit', { isDefault: true })
|
|
33
|
+
.description('Generate and create a commit message for staged changes')
|
|
34
|
+
.option('-y, --yes', 'Skip confirmation and auto-commit', false)
|
|
35
|
+
.option('-s, --scope <scope>', 'Specify commit scope (e.g., auth, ui, api)')
|
|
36
|
+
.option('-t, --type <type>', 'Specify commit type', this.validateCommitType)
|
|
37
|
+
.option('-b, --breaking', 'Mark as breaking change', false)
|
|
38
|
+
.option('-d, --dry-run', 'Generate message without creating commit', false)
|
|
39
|
+
.option('-v, --verbose', 'Enable verbose logging', false)
|
|
40
|
+
.option('-w, --watch', 'Watch for changes and auto-generate commits', false)
|
|
41
|
+
.option('-p, --provider <provider>', 'Specify AI provider (openrouter|openai)', this.validateProvider)
|
|
42
|
+
// Extended formatting options
|
|
43
|
+
.option('--emoji', 'Include emoji in commit message', false)
|
|
44
|
+
.option('--one-line', 'Generate single-line commit message', false)
|
|
45
|
+
.option('--description-length <length>', 'Maximum description length', parseInt)
|
|
46
|
+
.option('--max-files <count>', 'Maximum number of files to analyze', parseInt)
|
|
47
|
+
// Filtering options
|
|
48
|
+
.option('--ignore-generated', 'Ignore auto-generated files', true)
|
|
49
|
+
.option('--ignore-whitespace', 'Ignore whitespace-only changes', true)
|
|
50
|
+
// Caching options
|
|
51
|
+
.option('--no-cache', 'Disable caching', false)
|
|
52
|
+
.option('--clear-cache', 'Clear cache before generating', false)
|
|
53
|
+
// Git push options
|
|
54
|
+
.option('--push', 'Push changes to remote after commit', false)
|
|
55
|
+
.option('--auto-push', 'Automatically push all future commits', false)
|
|
56
|
+
.action(async (options) => {
|
|
57
|
+
await this.handleCommitCommand(options);
|
|
58
|
+
});
|
|
59
|
+
// Config management commands
|
|
60
|
+
const configCmd = this.program
|
|
61
|
+
.command('config')
|
|
62
|
+
.description('Manage configuration settings');
|
|
63
|
+
configCmd
|
|
64
|
+
.command('set <provider> <key>')
|
|
65
|
+
.description('Set API key for provider (openrouter|openai)')
|
|
66
|
+
.action(async (provider, key) => {
|
|
67
|
+
await this.handleConfigSet(provider, key);
|
|
68
|
+
});
|
|
69
|
+
configCmd
|
|
70
|
+
.command('get [provider]')
|
|
71
|
+
.description('Get configuration (optionally for specific provider)')
|
|
72
|
+
.action(async (provider) => {
|
|
73
|
+
await this.handleConfigGet(provider);
|
|
74
|
+
});
|
|
75
|
+
configCmd
|
|
76
|
+
.command('model <provider> <model>')
|
|
77
|
+
.description('Set default model for provider')
|
|
78
|
+
.action(async (provider, model) => {
|
|
79
|
+
await this.handleConfigModel(provider, model);
|
|
80
|
+
});
|
|
81
|
+
configCmd
|
|
82
|
+
.command('path')
|
|
83
|
+
.description('Show configuration file path')
|
|
84
|
+
.action(() => {
|
|
85
|
+
console.log(configManager.getConfigPath());
|
|
86
|
+
});
|
|
87
|
+
// Cache management commands
|
|
88
|
+
const cacheCmd = this.program
|
|
89
|
+
.command('cache')
|
|
90
|
+
.description('Manage cache settings');
|
|
91
|
+
cacheCmd
|
|
92
|
+
.command('stats')
|
|
93
|
+
.description('Show cache statistics')
|
|
94
|
+
.action(async () => {
|
|
95
|
+
await this.handleCacheStats();
|
|
96
|
+
});
|
|
97
|
+
cacheCmd
|
|
98
|
+
.command('clear')
|
|
99
|
+
.description('Clear all cached data')
|
|
100
|
+
.action(async () => {
|
|
101
|
+
await this.handleCacheClear();
|
|
102
|
+
});
|
|
103
|
+
cacheCmd
|
|
104
|
+
.command('cleanup')
|
|
105
|
+
.description('Clean up expired cache entries')
|
|
106
|
+
.action(async () => {
|
|
107
|
+
await this.handleCacheCleanup();
|
|
108
|
+
});
|
|
109
|
+
// Additional utility commands
|
|
110
|
+
this.program
|
|
111
|
+
.command('test [provider]')
|
|
112
|
+
.description('Test API connection for provider')
|
|
113
|
+
.action(async (provider) => {
|
|
114
|
+
await this.handleTestCommand(provider);
|
|
115
|
+
});
|
|
116
|
+
// Global options
|
|
117
|
+
this.program
|
|
118
|
+
.option('--no-color', 'Disable colored output')
|
|
119
|
+
.option('--silent', 'Suppress all output except errors')
|
|
120
|
+
.hook('preAction', (thisCommand) => {
|
|
121
|
+
const options = thisCommand.opts();
|
|
122
|
+
// Configure logger based on global options
|
|
123
|
+
if (options.noColor) {
|
|
124
|
+
process.env.FORCE_COLOR = '0';
|
|
125
|
+
}
|
|
126
|
+
logger.withOptions({
|
|
127
|
+
verbose: options.verbose || false,
|
|
128
|
+
silent: options.silent || false,
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
// Error handling
|
|
132
|
+
this.program.exitOverride();
|
|
133
|
+
this.program.configureOutput({
|
|
134
|
+
writeErr: (str) => process.stderr.write(`${chalk.red('Error:')} ${str}`),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Handle the main commit command
|
|
139
|
+
*/
|
|
140
|
+
async handleCommitCommand(options) {
|
|
141
|
+
try {
|
|
142
|
+
logger.debug('Starting commit command', options);
|
|
143
|
+
if (options.watch) {
|
|
144
|
+
await this.handleWatchMode(options);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
await coreOrchestrator.initialize();
|
|
148
|
+
await coreOrchestrator.generateCommit(options);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
logger.error('Command failed', error);
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Handle configuration set command
|
|
157
|
+
*/
|
|
158
|
+
async handleConfigSet(provider, key) {
|
|
159
|
+
try {
|
|
160
|
+
if (!this.isValidProvider(provider)) {
|
|
161
|
+
logger.error(`Invalid provider: ${provider}. Must be 'openrouter' or 'openai'`);
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
await configManager.setApiKey(provider, key);
|
|
165
|
+
logger.success(`API key set for ${provider}`);
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
logger.error('Failed to set configuration', error);
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Handle configuration get command
|
|
174
|
+
*/
|
|
175
|
+
async handleConfigGet(provider) {
|
|
176
|
+
try {
|
|
177
|
+
const config = await configManager.load();
|
|
178
|
+
if (provider) {
|
|
179
|
+
if (!this.isValidProvider(provider)) {
|
|
180
|
+
logger.error(`Invalid provider: ${provider}. Must be 'openrouter' or 'openai'`);
|
|
181
|
+
process.exit(1);
|
|
182
|
+
}
|
|
183
|
+
const providerKey = provider;
|
|
184
|
+
const maskedKey = await configManager.getMaskedApiKey(providerKey);
|
|
185
|
+
const model = config.providers[providerKey].model || 'default';
|
|
186
|
+
logger.table({
|
|
187
|
+
Provider: provider,
|
|
188
|
+
'API Key': maskedKey,
|
|
189
|
+
Model: model,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
// Show all configuration
|
|
194
|
+
const openrouterKey = await configManager.getMaskedApiKey('openrouter');
|
|
195
|
+
const openaiKey = await configManager.getMaskedApiKey('openai');
|
|
196
|
+
logger.table({
|
|
197
|
+
'Default Provider': config.preferences.defaultProvider,
|
|
198
|
+
'OpenRouter API Key': openrouterKey,
|
|
199
|
+
'OpenAI API Key': openaiKey,
|
|
200
|
+
'Max Tokens': config.preferences.maxTokens,
|
|
201
|
+
'Temperature': config.preferences.temperature,
|
|
202
|
+
'Auto Confirm': config.preferences.autoConfirm,
|
|
203
|
+
'Language': config.preferences.language,
|
|
204
|
+
'Format': config.preferences.commitFormat,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
logger.error('Failed to get configuration', error);
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Handle model configuration command
|
|
215
|
+
*/
|
|
216
|
+
async handleConfigModel(provider, model) {
|
|
217
|
+
try {
|
|
218
|
+
if (!this.isValidProvider(provider)) {
|
|
219
|
+
logger.error(`Invalid provider: ${provider}. Must be 'openrouter' or 'openai'`);
|
|
220
|
+
process.exit(1);
|
|
221
|
+
}
|
|
222
|
+
await configManager.setModel(provider, model);
|
|
223
|
+
logger.success(`Model set to ${model} for ${provider}`);
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
logger.error('Failed to set model', error);
|
|
227
|
+
process.exit(1);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Handle test command
|
|
232
|
+
*/
|
|
233
|
+
async handleTestCommand(provider) {
|
|
234
|
+
try {
|
|
235
|
+
const config = await configManager.load();
|
|
236
|
+
const testProvider = provider || config.preferences.defaultProvider;
|
|
237
|
+
if (!this.isValidProvider(testProvider)) {
|
|
238
|
+
logger.error(`Invalid provider: ${testProvider}. Must be 'openrouter' or 'openai'`);
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
const progress = logger.startProgress(`Testing ${testProvider} connection...`);
|
|
242
|
+
await coreOrchestrator.initialize();
|
|
243
|
+
// This would require implementing a test method in the API manager
|
|
244
|
+
// For now, just verify configuration
|
|
245
|
+
const isValid = await configManager.validateConfig(testProvider);
|
|
246
|
+
if (isValid) {
|
|
247
|
+
progress.succeed(`${testProvider} connection test passed`);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
progress.fail(`${testProvider} connection test failed - check API key`);
|
|
251
|
+
process.exit(1);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
logger.error('Test failed', error);
|
|
256
|
+
process.exit(1);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Handle watch mode
|
|
261
|
+
*/
|
|
262
|
+
async handleWatchMode(options) {
|
|
263
|
+
logger.info('Watch mode not yet implemented');
|
|
264
|
+
logger.info('This would monitor git changes and auto-generate commits');
|
|
265
|
+
// TODO: Implement file watching with chokidar or similar
|
|
266
|
+
// Watch for changes in git status and auto-trigger commit generation
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Handle cache stats command
|
|
270
|
+
*/
|
|
271
|
+
async handleCacheStats() {
|
|
272
|
+
try {
|
|
273
|
+
const { cacheManager } = await import('./modules/cache.js');
|
|
274
|
+
const stats = await cacheManager.getStats();
|
|
275
|
+
logger.table({
|
|
276
|
+
'Memory Entries': stats.memoryEntries,
|
|
277
|
+
'Disk Entries': stats.diskEntries,
|
|
278
|
+
'Total Size': stats.totalSize,
|
|
279
|
+
'Oldest Entry': stats.oldestEntry?.toLocaleString() || 'N/A',
|
|
280
|
+
'Newest Entry': stats.newestEntry?.toLocaleString() || 'N/A',
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
logger.error('Failed to get cache stats', error);
|
|
285
|
+
process.exit(1);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Handle cache clear command
|
|
290
|
+
*/
|
|
291
|
+
async handleCacheClear() {
|
|
292
|
+
try {
|
|
293
|
+
const { cacheManager } = await import('./modules/cache.js');
|
|
294
|
+
const progress = logger.startProgress('Clearing cache...');
|
|
295
|
+
await cacheManager.clear();
|
|
296
|
+
progress.succeed('Cache cleared successfully');
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
logger.error('Failed to clear cache', error);
|
|
300
|
+
process.exit(1);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Handle cache cleanup command
|
|
305
|
+
*/
|
|
306
|
+
async handleCacheCleanup() {
|
|
307
|
+
try {
|
|
308
|
+
const { cacheManager } = await import('./modules/cache.js');
|
|
309
|
+
const progress = logger.startProgress('Cleaning up cache...');
|
|
310
|
+
await cacheManager.cleanup();
|
|
311
|
+
progress.succeed('Cache cleanup completed');
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
logger.error('Failed to cleanup cache', error);
|
|
315
|
+
process.exit(1);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Check for updates using update-notifier
|
|
320
|
+
*/
|
|
321
|
+
checkForUpdates() {
|
|
322
|
+
const notifier = updateNotifier({
|
|
323
|
+
pkg: packageJson,
|
|
324
|
+
updateCheckInterval: 1000 * 60 * 60 * 24, // 24 hours
|
|
325
|
+
});
|
|
326
|
+
notifier.notify({
|
|
327
|
+
defer: false,
|
|
328
|
+
isGlobal: true,
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Validate commit type
|
|
333
|
+
*/
|
|
334
|
+
validateCommitType(value) {
|
|
335
|
+
const validTypes = [
|
|
336
|
+
'feat', 'fix', 'docs', 'style', 'refactor',
|
|
337
|
+
'test', 'chore', 'perf', 'ci', 'build', 'revert'
|
|
338
|
+
];
|
|
339
|
+
if (!validTypes.includes(value)) {
|
|
340
|
+
throw new Error(`Invalid commit type: ${value}. Valid types: ${validTypes.join(', ')}`);
|
|
341
|
+
}
|
|
342
|
+
return value;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Validate provider
|
|
346
|
+
*/
|
|
347
|
+
validateProvider(value) {
|
|
348
|
+
if (value !== 'openrouter' && value !== 'openai') {
|
|
349
|
+
throw new Error(`Invalid provider: ${value}. Must be 'openrouter' or 'openai'`);
|
|
350
|
+
}
|
|
351
|
+
return value;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Check if provider is valid
|
|
355
|
+
*/
|
|
356
|
+
isValidProvider(provider) {
|
|
357
|
+
return provider === 'openrouter' || provider === 'openai';
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Run the CLI application
|
|
361
|
+
*/
|
|
362
|
+
async run() {
|
|
363
|
+
try {
|
|
364
|
+
await this.program.parseAsync(process.argv);
|
|
365
|
+
}
|
|
366
|
+
catch (error) {
|
|
367
|
+
if (error instanceof Error) {
|
|
368
|
+
if (error.message.includes('outputHelp')) {
|
|
369
|
+
// Help was requested, exit normally
|
|
370
|
+
process.exit(0);
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
logger.error('CLI error', error);
|
|
374
|
+
process.exit(1);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
logger.error('Unknown CLI error');
|
|
379
|
+
process.exit(1);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
// Run the application
|
|
385
|
+
const app = new CliApplication();
|
|
386
|
+
app.run().catch((error) => {
|
|
387
|
+
console.error('Fatal error:', error);
|
|
388
|
+
process.exit(1);
|
|
389
|
+
});
|
|
390
|
+
export { CliApplication };
|
|
391
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,sDAAsD;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,cAAc;IACV,OAAO,CAAU;IAEzB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,KAAK,CAAC;aACX,WAAW,CAAC,6DAA6D,CAAC;aAC1E,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;QAExE,sBAAsB;QACtB,IAAI,CAAC,OAAO;aACT,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;aACtC,WAAW,CAAC,yDAAyD,CAAC;aACtE,MAAM,CAAC,WAAW,EAAE,mCAAmC,EAAE,KAAK,CAAC;aAC/D,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;aAC3E,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,IAAI,CAAC,kBAAkB,CAAC;aAC3E,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,KAAK,CAAC;aAC1D,MAAM,CAAC,eAAe,EAAE,0CAA0C,EAAE,KAAK,CAAC;aAC1E,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC;aACxD,MAAM,CAAC,aAAa,EAAE,6CAA6C,EAAE,KAAK,CAAC;aAC3E,MAAM,CAAC,2BAA2B,EAAE,yCAAyC,EAAE,IAAI,CAAC,gBAAgB,CAAC;YACtG,8BAA8B;aAC7B,MAAM,CAAC,SAAS,EAAE,iCAAiC,EAAE,KAAK,CAAC;aAC3D,MAAM,CAAC,YAAY,EAAE,qCAAqC,EAAE,KAAK,CAAC;aAClE,MAAM,CAAC,+BAA+B,EAAE,4BAA4B,EAAE,QAAQ,CAAC;aAC/E,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,EAAE,QAAQ,CAAC;YAC9E,oBAAoB;aACnB,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,EAAE,IAAI,CAAC;aACjE,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,EAAE,IAAI,CAAC;YACtE,kBAAkB;aACjB,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC;aAC9C,MAAM,CAAC,eAAe,EAAE,+BAA+B,EAAE,KAAK,CAAC;YAChE,mBAAmB;aAClB,MAAM,CAAC,QAAQ,EAAE,qCAAqC,EAAE,KAAK,CAAC;aAC9D,MAAM,CAAC,aAAa,EAAE,uCAAuC,EAAE,KAAK,CAAC;aACrE,MAAM,CAAC,KAAK,EAAE,OAAmB,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEL,6BAA6B;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;aAC3B,OAAO,CAAC,QAAQ,CAAC;aACjB,WAAW,CAAC,+BAA+B,CAAC,CAAC;QAEhD,SAAS;aACN,OAAO,CAAC,sBAAsB,CAAC;aAC/B,WAAW,CAAC,8CAA8C,CAAC;aAC3D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,GAAW,EAAE,EAAE;YAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEL,SAAS;aACN,OAAO,CAAC,gBAAgB,CAAC;aACzB,WAAW,CAAC,sDAAsD,CAAC;aACnE,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEL,SAAS;aACN,OAAO,CAAC,0BAA0B,CAAC;aACnC,WAAW,CAAC,gCAAgC,CAAC;aAC7C,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEL,SAAS;aACN,OAAO,CAAC,MAAM,CAAC;aACf,WAAW,CAAC,8BAA8B,CAAC;aAC3C,MAAM,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEL,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;aAC1B,OAAO,CAAC,OAAO,CAAC;aAChB,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAExC,QAAQ;aACL,OAAO,CAAC,OAAO,CAAC;aAChB,WAAW,CAAC,uBAAuB,CAAC;aACpC,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEL,QAAQ;aACL,OAAO,CAAC,OAAO,CAAC;aAChB,WAAW,CAAC,uBAAuB,CAAC;aACpC,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEL,QAAQ;aACL,OAAO,CAAC,SAAS,CAAC;aAClB,WAAW,CAAC,gCAAgC,CAAC;aAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEL,8BAA8B;QAC9B,IAAI,CAAC,OAAO;aACT,OAAO,CAAC,iBAAiB,CAAC;aAC1B,WAAW,CAAC,kCAAkC,CAAC;aAC/C,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;YAClC,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEL,iBAAiB;QACjB,IAAI,CAAC,OAAO;aACT,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;aAC9C,MAAM,CAAC,UAAU,EAAE,mCAAmC,CAAC;aACvD,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YAEnC,2CAA2C;YAC3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;YAChC,CAAC;YAED,MAAM,CAAC,WAAW,CAAC;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,iBAAiB;QACjB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAmB;QACnD,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;YAEjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAc,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,GAAW;QACzD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,oCAAoC,CAAC,CAAC;gBAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,aAAa,CAAC,SAAS,CAAC,QAAmC,EAAE,GAAG,CAAC,CAAC;YACxE,MAAM,CAAC,OAAO,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QAEhD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAc,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAiB;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAE1C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,oCAAoC,CAAC,CAAC;oBAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,MAAM,WAAW,GAAG,QAAmC,CAAC;gBACxD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBACnE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;gBAE/D,MAAM,CAAC,KAAK,CAAC;oBACX,QAAQ,EAAE,QAAQ;oBAClB,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBACxE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAEhE,MAAM,CAAC,KAAK,CAAC;oBACX,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe;oBACtD,oBAAoB,EAAE,aAAa;oBACnC,gBAAgB,EAAE,SAAS;oBAC3B,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;oBAC1C,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC7C,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW;oBAC9C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ;oBACvC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY;iBAC1C,CAAC,CAAC;YACL,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAc,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,KAAa;QAC7D,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,oCAAoC,CAAC,CAAC;gBAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,aAAa,CAAC,QAAQ,CAAC,QAAmC,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,OAAO,CAAC,gBAAgB,KAAK,QAAQ,QAAQ,EAAE,CAAC,CAAC;QAE1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAc,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,QAAiB;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC;YAEpE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,KAAK,CAAC,qBAAqB,YAAY,oCAAoC,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,WAAW,YAAY,gBAAgB,CAAC,CAAC;YAE/E,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAEpC,mEAAmE;YACnE,qCAAqC;YACrC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,YAAuC,CAAC,CAAC;YAE5F,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,OAAO,CAAC,GAAG,YAAY,yBAAyB,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,yCAAyC,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAc,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,OAAmB;QAC/C,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAExE,yDAAyD;QACzD,qEAAqE;IACvE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;YAE5C,MAAM,CAAC,KAAK,CAAC;gBACX,gBAAgB,EAAE,KAAK,CAAC,aAAa;gBACrC,cAAc,EAAE,KAAK,CAAC,WAAW;gBACjC,YAAY,EAAE,KAAK,CAAC,SAAS;gBAC7B,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK;gBAC5D,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,KAAK;aAC7D,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAc,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAEjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;YAC9D,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAE9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAc,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,GAAG,EAAE,WAAW;YAChB,mBAAmB,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW;SACtD,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAa;QACtC,MAAM,UAAU,GAAiB;YAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;YAC1C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;SACjD,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAmB,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,kBAAkB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,KAAmB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAa;QACpC,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,oCAAoC,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAAgB;QACtC,OAAO,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,QAAQ,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzC,oCAAoC;oBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,sBAAsB;AACtB,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;AACjC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter Commit - AI-powered Git commit message generator
|
|
3
|
+
*
|
|
4
|
+
* A TypeScript CLI tool for generating meaningful commit messages using
|
|
5
|
+
* OpenRouter and OpenAI APIs with efficient chunked processing for large files.
|
|
6
|
+
*
|
|
7
|
+
* @author Mark Olofsen
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
export { ConfigManager, configManager } from './modules/config.js';
|
|
11
|
+
export { GitManager, gitManager } from './modules/git.js';
|
|
12
|
+
export { ApiManager, apiManager } from './modules/api.js';
|
|
13
|
+
export { CoreOrchestrator, coreOrchestrator } from './modules/core.js';
|
|
14
|
+
export { Logger, logger, ProgressIndicator } from './modules/logger.js';
|
|
15
|
+
export { CliApplication } from './cli.js';
|
|
16
|
+
export * from './types/index.js';
|
|
17
|
+
export * from './utils/index.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter Commit - AI-powered Git commit message generator
|
|
3
|
+
*
|
|
4
|
+
* A TypeScript CLI tool for generating meaningful commit messages using
|
|
5
|
+
* OpenRouter and OpenAI APIs with efficient chunked processing for large files.
|
|
6
|
+
*
|
|
7
|
+
* @author Mark Olofsen
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
// Export main modules
|
|
11
|
+
export { ConfigManager, configManager } from './modules/config.js';
|
|
12
|
+
export { GitManager, gitManager } from './modules/git.js';
|
|
13
|
+
export { ApiManager, apiManager } from './modules/api.js';
|
|
14
|
+
export { CoreOrchestrator, coreOrchestrator } from './modules/core.js';
|
|
15
|
+
export { Logger, logger, ProgressIndicator } from './modules/logger.js';
|
|
16
|
+
export { CliApplication } from './cli.js';
|
|
17
|
+
// Export types
|
|
18
|
+
export * from './types/index.js';
|
|
19
|
+
// Export utilities
|
|
20
|
+
export * from './utils/index.js';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sBAAsB;AACtB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAe;AACf,cAAc,kBAAkB,CAAC;AAEjC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ApiRequest, ProcessingResult, Config } from '../types/index.js';
|
|
2
|
+
export declare class ApiManager {
|
|
3
|
+
private readonly queue;
|
|
4
|
+
private readonly clients;
|
|
5
|
+
constructor(concurrency?: number);
|
|
6
|
+
/**
|
|
7
|
+
* Initialize API client for a provider
|
|
8
|
+
*/
|
|
9
|
+
initializeProvider(provider: 'openrouter' | 'openai', config: Config): void;
|
|
10
|
+
/**
|
|
11
|
+
* Generate commit message using the specified provider
|
|
12
|
+
*/
|
|
13
|
+
generateCommitMessage(request: ApiRequest, provider: 'openrouter' | 'openai'): Promise<ProcessingResult<string>>;
|
|
14
|
+
/**
|
|
15
|
+
* Process multiple chunks in parallel
|
|
16
|
+
*/
|
|
17
|
+
processChunks(chunks: string[], baseRequest: {
|
|
18
|
+
provider: 'openrouter' | 'openai';
|
|
19
|
+
model: string;
|
|
20
|
+
maxTokens: number;
|
|
21
|
+
temperature: number;
|
|
22
|
+
systemPrompt: string;
|
|
23
|
+
}, provider: 'openrouter' | 'openai'): Promise<ProcessingResult<string[]>>;
|
|
24
|
+
/**
|
|
25
|
+
* Test API connection
|
|
26
|
+
*/
|
|
27
|
+
testConnection(provider: 'openrouter' | 'openai'): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Get queue status
|
|
30
|
+
*/
|
|
31
|
+
getQueueStatus(): {
|
|
32
|
+
pending: number;
|
|
33
|
+
size: number;
|
|
34
|
+
isPaused: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Clear the queue and wait for ongoing requests
|
|
38
|
+
*/
|
|
39
|
+
shutdown(): Promise<void>;
|
|
40
|
+
private makeRequest;
|
|
41
|
+
private parseResponse;
|
|
42
|
+
private extractCommitMessage;
|
|
43
|
+
private handleApiError;
|
|
44
|
+
private calculateRetryDelay;
|
|
45
|
+
private setupGracefulShutdown;
|
|
46
|
+
}
|
|
47
|
+
export declare const apiManager: ApiManager;
|
|
48
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/modules/api.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EAIV,gBAAgB,EAGhB,MAAM,EACP,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;gBAErD,WAAW,GAAE,MAA6C;IAWtE;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IA8C3E;;OAEG;IACG,qBAAqB,CACzB,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAChC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IA+CpC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE;QAAE,QAAQ,EAAE,YAAY,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAC/H,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAChC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IAkDtC;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBzE;;OAEG;IACH,cAAc,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IAQtE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YASjB,WAAW;IAwBzB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;CAU9B;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAC"}
|