loz 0.0.9 → 0.0.11
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 +2 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/config/index.js +3 -2
- package/dist/config/index.js.map +1 -1
- package/dist/index.js +60 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Loz
|
|
1
|
+
# Loz [](https://www.npmjs.com/package/loz)
|
|
2
2
|
|
|
3
3
|
Loz is a command-line interface tool based on [OpenAI API](https://platform.openai.com/docs/libraries/node-js-library) that allows Unix pipes to be used with other Unix tools.
|
|
4
4
|
|
|
@@ -110,6 +110,7 @@ Or
|
|
|
110
110
|
```
|
|
111
111
|
$ git diff | loz -g
|
|
112
112
|
```
|
|
113
|
+
Note that the author, date, and commit ID lines are stripped from the commit message before sending it to the OpenAI server.
|
|
113
114
|
|
|
114
115
|
## Find chat history
|
|
115
116
|
To access chat histories, look for the .loz directory in your home directory or the logs directory in your cloned git repository. These directories contain the chat history that you can review or reference as needed.
|
package/dist/cli.js
CHANGED
|
@@ -29,6 +29,12 @@ const args = yargs
|
|
|
29
29
|
alias: "g",
|
|
30
30
|
describe: "Generate a Git commit message that summarizes the changes made in the diff",
|
|
31
31
|
},
|
|
32
|
+
log: {
|
|
33
|
+
alias: "l",
|
|
34
|
+
describe:
|
|
35
|
+
// generated by copilot
|
|
36
|
+
"Log the conversation to a file. The file name is the current date and time",
|
|
37
|
+
},
|
|
32
38
|
})
|
|
33
39
|
.help()
|
|
34
40
|
.parseSync();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAA+B;AAC/B,mCAA8B;AAE9B,MAAM,IAAI,GAAG,KAAK;KACf,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,aAAa,EAAE,gCAAgC,EAAE,CAAC,KAAK,EAAE,EAAE;IAClE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;QACzB,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;AACL,CAAC,CAAC;KACD,OAAO,CAAC;IACP,WAAW,EAAE;QACX,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,kBAAkB;KAC7B;IACD,GAAG,EAAE;QACH,KAAK,EAAE,GAAG;QACV,QAAQ,EACN,4EAA4E;KAC/E;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAA+B;AAC/B,mCAA8B;AAE9B,MAAM,IAAI,GAAG,KAAK;KACf,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,aAAa,EAAE,gCAAgC,EAAE,CAAC,KAAK,EAAE,EAAE;IAClE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;QACzB,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;AACL,CAAC,CAAC;KACD,OAAO,CAAC;IACP,WAAW,EAAE;QACX,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,kBAAkB;KAC7B;IACD,GAAG,EAAE;QACH,KAAK,EAAE,GAAG;QACV,QAAQ,EACN,4EAA4E;KAC/E;IACD,GAAG,EAAE;QACH,KAAK,EAAE,GAAG;QACV,QAAQ;QACN,uBAAuB;QACvB,4EAA4E;KAC/E;CAEF,CAAC;KACD,IAAI,EAAE;KACN,SAAS,EAAE,CAAC;AAEf,CAAC,GAAS,EAAE;IACV,IAAI,GAAG,GAAG,IAAI,WAAG,EAAE,CAAC;IACpB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;QAC7B,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;KAC9C;SAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;QACjC,GAAG,CAAC,qBAAqB,EAAE,CAAC;KAC7B;SAAM;QACL,GAAG,CAAC,mBAAmB,EAAE,CAAC;KAC3B;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.ConfigItem = ConfigItem;
|
|
|
13
13
|
class Config {
|
|
14
14
|
constructor() {
|
|
15
15
|
this.items = [];
|
|
16
|
+
this.set("mode", "default");
|
|
16
17
|
}
|
|
17
18
|
add(item) {
|
|
18
19
|
this.items.push(item);
|
|
@@ -41,13 +42,13 @@ class Config {
|
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
44
|
loadConfig(configPath) {
|
|
44
|
-
const configFilePath = path.join(
|
|
45
|
+
const configFilePath = path.join(configPath, "config.json");
|
|
45
46
|
if (!fs.existsSync(configFilePath))
|
|
46
47
|
return;
|
|
47
48
|
let rawData = fs.readFileSync(configFilePath);
|
|
48
49
|
let config = JSON.parse(rawData);
|
|
49
50
|
for (let item of config.items) {
|
|
50
|
-
this.
|
|
51
|
+
this.set(item.name, item.value);
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
}
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAW7B,MAAa,UAAU;IAIrB,YAAY,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AARD,gCAQC;AAED,MAAa,MAAM;IAGjB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAW7B,MAAa,UAAU;IAIrB,YAAY,IAAY,EAAE,KAAa;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AARD,gCAQC;AAED,MAAa,MAAM;IAGjB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAyB;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,KAAa;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO;QAC3C,IAAI,OAAO,GAAQ,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;IACH,CAAC;CACF;AAhDD,wBAgDC"}
|
package/dist/index.js
CHANGED
|
@@ -59,7 +59,7 @@ class Loz {
|
|
|
59
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
60
|
// Check if the config file exists
|
|
61
61
|
if (this.checkGitRepo() === true) {
|
|
62
|
-
this.config.loadConfig(
|
|
62
|
+
this.config.loadConfig(this.configfPath);
|
|
63
63
|
}
|
|
64
64
|
//this.config.add(new ConfigItem("mode", "learning_english"));
|
|
65
65
|
});
|
|
@@ -100,7 +100,7 @@ class Loz {
|
|
|
100
100
|
saveConfig() {
|
|
101
101
|
if (this.checkGitRepo() === true) {
|
|
102
102
|
const json = JSON.stringify(this.config, null, 2);
|
|
103
|
-
fs.writeFileSync("config.json", json);
|
|
103
|
+
fs.writeFileSync(this.configfPath + "/config.json", json);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
answerAnyQuestion(prompt) {
|
|
@@ -110,7 +110,19 @@ class Loz {
|
|
|
110
110
|
this.defaultSettings.prompt = promptUnpdated + data;
|
|
111
111
|
this.defaultSettings.stream = false;
|
|
112
112
|
this.defaultSettings.max_tokens = 500;
|
|
113
|
-
|
|
113
|
+
let res;
|
|
114
|
+
try {
|
|
115
|
+
res = yield this.openai.createCompletion(this.defaultSettings);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
if (error.response) {
|
|
119
|
+
console.log(error.response.status);
|
|
120
|
+
console.log(error.response.data);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.log(error.message);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
114
126
|
process.stdout.write(res.data.choices[0].text);
|
|
115
127
|
process.stdout.write("\n");
|
|
116
128
|
}));
|
|
@@ -119,10 +131,31 @@ class Loz {
|
|
|
119
131
|
const prompt = "Create a Git commit message that includes title and description without labels: ";
|
|
120
132
|
process.stdin.setEncoding("utf8");
|
|
121
133
|
process.stdin.on("data", (data) => __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
|
|
134
|
+
// Remove the first line from data
|
|
135
|
+
// because it is not needed for GPT-3 (added by Copilot)
|
|
136
|
+
data = data.replace(/.*\n/, "");
|
|
137
|
+
// Remove Author and Date from commit message
|
|
138
|
+
// because it is not needed for GPT-3 (added by Copilot)
|
|
139
|
+
const commitMessage = data
|
|
140
|
+
.toString()
|
|
141
|
+
.replace(/Author: .*\n/, "")
|
|
142
|
+
.replace(/Date: .*\n/, "");
|
|
143
|
+
this.defaultSettings.prompt = prompt + commitMessage;
|
|
123
144
|
this.defaultSettings.stream = false;
|
|
124
145
|
this.defaultSettings.max_tokens = 500;
|
|
125
|
-
|
|
146
|
+
let res;
|
|
147
|
+
try {
|
|
148
|
+
res = yield this.openai.createCompletion(this.defaultSettings);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
if (error.response) {
|
|
152
|
+
console.log(error.response.status);
|
|
153
|
+
console.log(error.response.data);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
console.log(error.message);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
126
159
|
process.stdout.write(res.data.choices[0].text);
|
|
127
160
|
}));
|
|
128
161
|
process.stdin.on("end", () => {
|
|
@@ -131,9 +164,21 @@ class Loz {
|
|
|
131
164
|
}
|
|
132
165
|
runCompletion(settings, rl) {
|
|
133
166
|
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
167
|
+
let res;
|
|
168
|
+
try {
|
|
169
|
+
res = yield this.openai.createCompletion(settings, {
|
|
170
|
+
responseType: "stream",
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
if (error.response) {
|
|
175
|
+
console.log(error.response.status);
|
|
176
|
+
console.log(error.response.data);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
console.log(error.message);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
137
182
|
if (DEBUG === true)
|
|
138
183
|
console.log(res.data);
|
|
139
184
|
try {
|
|
@@ -177,6 +222,8 @@ class Loz {
|
|
|
177
222
|
input: process.stdin,
|
|
178
223
|
output: process.stdout,
|
|
179
224
|
});
|
|
225
|
+
// Output the current mode.
|
|
226
|
+
this.config.print();
|
|
180
227
|
// Set the prompt to display before each input
|
|
181
228
|
rl.setPrompt("> ");
|
|
182
229
|
// Show the cursor and prompt the user for input
|
|
@@ -192,7 +239,7 @@ class Loz {
|
|
|
192
239
|
}, 1000);
|
|
193
240
|
// Listen for user input
|
|
194
241
|
rl.on("line", (input) => {
|
|
195
|
-
var _a, _b, _c;
|
|
242
|
+
var _a, _b, _c, _d;
|
|
196
243
|
// Tokenize the input with space as the delimiter
|
|
197
244
|
const tokens = input.split(" ");
|
|
198
245
|
if (input === "exit" || input === "quit") {
|
|
@@ -225,6 +272,10 @@ class Loz {
|
|
|
225
272
|
this.defaultSettings.prompt =
|
|
226
273
|
"Rephrase the following question to make it sound more natural and asnwer the question: \n";
|
|
227
274
|
}
|
|
275
|
+
else if (((_d = this.config.get("mode")) === null || _d === void 0 ? void 0 : _d.value) === "proofread") {
|
|
276
|
+
this.defaultSettings.prompt =
|
|
277
|
+
"Can you proofread the following setnence? Show me the difference between the given sentence and your correction.\n";
|
|
278
|
+
}
|
|
228
279
|
this.defaultSettings.prompt += input;
|
|
229
280
|
this.defaultSettings.max_tokens = 4000;
|
|
230
281
|
this.runCompletion(this.defaultSettings, rl);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|