loz 0.0.10 → 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/config/index.js +3 -2
- package/dist/config/index.js.map +1 -1
- package/dist/index.js +50 -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/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
|
}));
|
|
@@ -128,11 +140,22 @@ class Loz {
|
|
|
128
140
|
.toString()
|
|
129
141
|
.replace(/Author: .*\n/, "")
|
|
130
142
|
.replace(/Date: .*\n/, "");
|
|
131
|
-
console.log(commitMessage);
|
|
132
143
|
this.defaultSettings.prompt = prompt + commitMessage;
|
|
133
144
|
this.defaultSettings.stream = false;
|
|
134
145
|
this.defaultSettings.max_tokens = 500;
|
|
135
|
-
|
|
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
|
+
}
|
|
136
159
|
process.stdout.write(res.data.choices[0].text);
|
|
137
160
|
}));
|
|
138
161
|
process.stdin.on("end", () => {
|
|
@@ -141,9 +164,21 @@ class Loz {
|
|
|
141
164
|
}
|
|
142
165
|
runCompletion(settings, rl) {
|
|
143
166
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
+
}
|
|
147
182
|
if (DEBUG === true)
|
|
148
183
|
console.log(res.data);
|
|
149
184
|
try {
|
|
@@ -187,6 +222,8 @@ class Loz {
|
|
|
187
222
|
input: process.stdin,
|
|
188
223
|
output: process.stdout,
|
|
189
224
|
});
|
|
225
|
+
// Output the current mode.
|
|
226
|
+
this.config.print();
|
|
190
227
|
// Set the prompt to display before each input
|
|
191
228
|
rl.setPrompt("> ");
|
|
192
229
|
// Show the cursor and prompt the user for input
|
|
@@ -202,7 +239,7 @@ class Loz {
|
|
|
202
239
|
}, 1000);
|
|
203
240
|
// Listen for user input
|
|
204
241
|
rl.on("line", (input) => {
|
|
205
|
-
var _a, _b, _c;
|
|
242
|
+
var _a, _b, _c, _d;
|
|
206
243
|
// Tokenize the input with space as the delimiter
|
|
207
244
|
const tokens = input.split(" ");
|
|
208
245
|
if (input === "exit" || input === "quit") {
|
|
@@ -235,6 +272,10 @@ class Loz {
|
|
|
235
272
|
this.defaultSettings.prompt =
|
|
236
273
|
"Rephrase the following question to make it sound more natural and asnwer the question: \n";
|
|
237
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
|
+
}
|
|
238
279
|
this.defaultSettings.prompt += input;
|
|
239
280
|
this.defaultSettings.max_tokens = 4000;
|
|
240
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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"}
|