@mehmetsagir/git-ai 0.0.9 → 0.0.19
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 +135 -297
- package/dist/commit.d.ts +1 -4
- package/dist/commit.d.ts.map +1 -1
- package/dist/commit.js +214 -208
- package/dist/commit.js.map +1 -1
- package/dist/config.d.ts +0 -39
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -95
- package/dist/config.js.map +1 -1
- package/dist/git.d.ts +19 -51
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +137 -269
- package/dist/git.js.map +1 -1
- package/dist/index.js +54 -109
- package/dist/index.js.map +1 -1
- package/dist/openai.d.ts +2 -21
- package/dist/openai.d.ts.map +1 -1
- package/dist/openai.js +17 -96
- package/dist/openai.js.map +1 -1
- package/dist/prompts.d.ts +2 -16
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +32 -146
- package/dist/prompts.js.map +1 -1
- package/dist/reset.d.ts +0 -3
- package/dist/reset.d.ts.map +1 -1
- package/dist/reset.js +10 -20
- package/dist/reset.js.map +1 -1
- package/dist/setup.d.ts +0 -3
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +28 -156
- package/dist/setup.js.map +1 -1
- package/dist/stash.d.ts +2 -0
- package/dist/stash.d.ts.map +1 -0
- package/dist/stash.js +818 -0
- package/dist/stash.js.map +1 -0
- package/dist/types.d.ts +9 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/hunk-parser.d.ts +22 -0
- package/dist/utils/hunk-parser.d.ts.map +1 -0
- package/dist/utils/hunk-parser.js +155 -0
- package/dist/utils/hunk-parser.js.map +1 -0
- package/package.json +8 -9
- package/dist/add.d.ts +0 -5
- package/dist/add.d.ts.map +0 -1
- package/dist/add.js +0 -98
- package/dist/add.js.map +0 -1
- package/dist/commit-processor.d.ts +0 -6
- package/dist/commit-processor.d.ts.map +0 -1
- package/dist/commit-processor.js +0 -226
- package/dist/commit-processor.js.map +0 -1
- package/dist/update.d.ts +0 -9
- package/dist/update.d.ts.map +0 -1
- package/dist/update.js +0 -69
- package/dist/update.js.map +0 -1
- package/dist/user-management.d.ts +0 -10
- package/dist/user-management.d.ts.map +0 -1
- package/dist/user-management.js +0 -175
- package/dist/user-management.js.map +0 -1
- package/dist/users.d.ts +0 -9
- package/dist/users.d.ts.map +0 -1
- package/dist/users.js +0 -129
- package/dist/users.js.map +0 -1
- package/dist/utils/validation.d.ts +0 -24
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js +0 -81
- package/dist/utils/validation.js.map +0 -1
package/dist/reset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../src/reset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../src/reset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kCAyBC;AA7BD,kDAA0B;AAC1B,wDAAgC;AAChC,iDAAmC;AAE5B,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAuB;QAC9D;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/dist/setup.d.ts
CHANGED
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAIA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC9C"}
|
package/dist/setup.js
CHANGED
|
@@ -40,169 +40,41 @@ exports.runSetup = runSetup;
|
|
|
40
40
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
41
41
|
const chalk_1 = __importDefault(require("chalk"));
|
|
42
42
|
const config = __importStar(require("./config"));
|
|
43
|
-
const git = __importStar(require("./git"));
|
|
44
|
-
const userManagement = __importStar(require("./user-management"));
|
|
45
|
-
const validation_1 = require("./utils/validation");
|
|
46
|
-
const errors_1 = require("./utils/errors");
|
|
47
|
-
/**
|
|
48
|
-
* Run setup command
|
|
49
|
-
*/
|
|
50
43
|
async function runSetup() {
|
|
51
|
-
console.log(chalk_1.default.blue.bold(
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
name: 'openaiKey',
|
|
56
|
-
message: 'Enter OpenAI API Key:',
|
|
57
|
-
validate: validation_1.validateOpenAIKey
|
|
58
|
-
}
|
|
59
|
-
]);
|
|
60
|
-
config.setOpenAIKey(openaiKey);
|
|
61
|
-
console.log(chalk_1.default.green('✓ OpenAI API Key saved\n'));
|
|
62
|
-
console.log(chalk_1.default.blue('Detecting git user profiles...\n'));
|
|
63
|
-
let gitProfiles = [];
|
|
64
|
-
try {
|
|
65
|
-
gitProfiles = await git.getAllGitUserProfiles();
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
console.log(chalk_1.default.yellow(`⚠ Could not get git user profiles: ${(0, errors_1.getErrorMessage)(error)}`));
|
|
69
|
-
}
|
|
70
|
-
if (gitProfiles.length === 0) {
|
|
71
|
-
try {
|
|
72
|
-
const currentUser = await git.getGitUserInfo();
|
|
73
|
-
if (currentUser.name && currentUser.email) {
|
|
74
|
-
gitProfiles.push({
|
|
75
|
-
id: `current-${currentUser.email}`,
|
|
76
|
-
name: currentUser.name,
|
|
77
|
-
email: currentUser.email,
|
|
78
|
-
scope: 'current',
|
|
79
|
-
label: `${currentUser.name} <${currentUser.email}> (Current)`
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
console.log(chalk_1.default.yellow(`⚠ Could not get current git user info: ${(0, errors_1.getErrorMessage)(error)}`));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if (gitProfiles.length === 0) {
|
|
88
|
-
const { addManual } = await inquirer_1.default.prompt([
|
|
44
|
+
console.log(chalk_1.default.blue.bold("\n🔧 Git AI Setup\n"));
|
|
45
|
+
const existingKey = config.getOpenAIKey();
|
|
46
|
+
if (existingKey) {
|
|
47
|
+
const { overwrite } = await inquirer_1.default.prompt([
|
|
89
48
|
{
|
|
90
|
-
type:
|
|
91
|
-
name:
|
|
92
|
-
message:
|
|
93
|
-
default:
|
|
94
|
-
}
|
|
49
|
+
type: "confirm",
|
|
50
|
+
name: "overwrite",
|
|
51
|
+
message: "OpenAI API key already exists. Overwrite?",
|
|
52
|
+
default: false,
|
|
53
|
+
},
|
|
95
54
|
]);
|
|
96
|
-
if (
|
|
97
|
-
console.log(chalk_1.default.
|
|
98
|
-
|
|
99
|
-
{
|
|
100
|
-
type: 'input',
|
|
101
|
-
name: 'name',
|
|
102
|
-
message: 'Git user name (or "q" to cancel):',
|
|
103
|
-
validate: validation_1.validateUserName
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
type: 'input',
|
|
107
|
-
name: 'email',
|
|
108
|
-
message: 'Git user email (or "q" to cancel):',
|
|
109
|
-
validate: (input) => (0, validation_1.validateUserEmail)(input, [])
|
|
110
|
-
}
|
|
111
|
-
]);
|
|
112
|
-
if ((0, validation_1.isCancellation)(name) || (0, validation_1.isCancellation)(email)) {
|
|
113
|
-
console.log(chalk_1.default.yellow('⚠ Manual user addition cancelled.\n'));
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
gitProfiles.push({
|
|
117
|
-
id: `manual-${email}`,
|
|
118
|
-
name,
|
|
119
|
-
email,
|
|
120
|
-
scope: 'manual',
|
|
121
|
-
label: `${name} <${email}> (Manual)`
|
|
122
|
-
});
|
|
123
|
-
}
|
|
55
|
+
if (!overwrite) {
|
|
56
|
+
console.log(chalk_1.default.yellow("Setup cancelled.\n"));
|
|
57
|
+
return;
|
|
124
58
|
}
|
|
125
59
|
}
|
|
126
|
-
|
|
127
|
-
gitProfiles = await userManagement.addShortcutsToProfiles(gitProfiles);
|
|
128
|
-
config.setGitUsers(gitProfiles);
|
|
129
|
-
console.log(chalk_1.default.green(`✓ Found ${gitProfiles.length} active git user profiles\n`));
|
|
130
|
-
console.log(chalk_1.default.blue('📋 Active Git User Profiles:\n'));
|
|
131
|
-
gitProfiles.forEach((profile, index) => {
|
|
132
|
-
const shortcutInfo = profile.shortcut
|
|
133
|
-
? chalk_1.default.yellow(` [shortcut: ${profile.shortcut}]`)
|
|
134
|
-
: '';
|
|
135
|
-
console.log(chalk_1.default.cyan(` ${index + 1}. ${profile.label}${shortcutInfo}`));
|
|
136
|
-
});
|
|
137
|
-
console.log('\n');
|
|
138
|
-
if (gitProfiles.length === 1) {
|
|
139
|
-
config.setDefaultGitUser(gitProfiles[0].id);
|
|
140
|
-
console.log(chalk_1.default.green(`✓ Set as default git user: ${gitProfiles[0].label}\n`));
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
const { defaultUser } = await inquirer_1.default.prompt([
|
|
144
|
-
{
|
|
145
|
-
type: 'list',
|
|
146
|
-
name: 'defaultUser',
|
|
147
|
-
message: 'Select default git user:',
|
|
148
|
-
choices: gitProfiles.map(p => ({
|
|
149
|
-
name: p.label,
|
|
150
|
-
value: p.id
|
|
151
|
-
}))
|
|
152
|
-
}
|
|
153
|
-
]);
|
|
154
|
-
config.setDefaultGitUser(defaultUser);
|
|
155
|
-
const selectedProfile = gitProfiles.find(p => p.id === defaultUser);
|
|
156
|
-
if (selectedProfile) {
|
|
157
|
-
console.log(chalk_1.default.green(`✓ Set as default git user: ${selectedProfile.label}\n`));
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
console.log(chalk_1.default.yellow('⚠ No git user profile found.\n'));
|
|
163
|
-
}
|
|
164
|
-
const { addMore } = await inquirer_1.default.prompt([
|
|
60
|
+
const { openaiKey } = await inquirer_1.default.prompt([
|
|
165
61
|
{
|
|
166
|
-
type:
|
|
167
|
-
name:
|
|
168
|
-
message:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
if (addMore) {
|
|
173
|
-
console.log(chalk_1.default.blue('\n💡 Tip: Type "q" and press Enter at any input to cancel adding users.\n'));
|
|
174
|
-
await userManagement.addMoreGitUsers(gitProfiles);
|
|
175
|
-
const updatedProfiles = config.getGitUsers();
|
|
176
|
-
if (updatedProfiles.length > 1) {
|
|
177
|
-
const { updateDefault } = await inquirer_1.default.prompt([
|
|
178
|
-
{
|
|
179
|
-
type: 'confirm',
|
|
180
|
-
name: 'updateDefault',
|
|
181
|
-
message: 'Would you like to update the default git user?',
|
|
182
|
-
default: false
|
|
62
|
+
type: "password",
|
|
63
|
+
name: "openaiKey",
|
|
64
|
+
message: "Enter OpenAI API Key:",
|
|
65
|
+
validate: (input) => {
|
|
66
|
+
if (!input || input.trim().length === 0) {
|
|
67
|
+
return "API key is required";
|
|
183
68
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
const { defaultUser } = await inquirer_1.default.prompt([
|
|
187
|
-
{
|
|
188
|
-
type: 'list',
|
|
189
|
-
name: 'defaultUser',
|
|
190
|
-
message: 'Select default git user:',
|
|
191
|
-
choices: updatedProfiles.map(p => ({
|
|
192
|
-
name: p.label,
|
|
193
|
-
value: p.id
|
|
194
|
-
}))
|
|
195
|
-
}
|
|
196
|
-
]);
|
|
197
|
-
config.setDefaultGitUser(defaultUser);
|
|
198
|
-
const selectedProfile = updatedProfiles.find(p => p.id === defaultUser);
|
|
199
|
-
if (selectedProfile) {
|
|
200
|
-
console.log(chalk_1.default.green(`✓ Default git user updated: ${selectedProfile.label}\n`));
|
|
69
|
+
if (!input.startsWith("sk-")) {
|
|
70
|
+
return "Invalid API key format (should start with sk-)";
|
|
201
71
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
72
|
+
return true;
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
]);
|
|
76
|
+
config.setOpenAIKey(openaiKey);
|
|
77
|
+
console.log(chalk_1.default.green("\n✓ OpenAI API Key saved\n"));
|
|
78
|
+
console.log(chalk_1.default.blue("Usage: git-ai commit\n"));
|
|
207
79
|
}
|
|
208
80
|
//# sourceMappingURL=setup.js.map
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4BAwCC;AA5CD,wDAAgC;AAChC,kDAA0B;AAC1B,iDAAmC;AAE5B,KAAK,UAAU,QAAQ;IAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAC1C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB;YAClE;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,2CAA2C;gBACpD,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAwB;QACjE;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO,qBAAqB,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,gDAAgD,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACpD,CAAC"}
|
package/dist/stash.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stash.d.ts","sourceRoot":"","sources":["../src/stash.ts"],"names":[],"mappings":"AAsrBA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+GpD"}
|