loz 0.0.10 → 0.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 +22 -5
- package/dist/cli.js +10 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/index.js +3 -2
- package/dist/config/index.js.map +1 -1
- package/dist/git/index.js +81 -0
- package/dist/git/index.js.map +1 -0
- package/dist/index.js +93 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
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
|
|
|
5
5
|
## Getting Started
|
|
6
6
|
|
|
7
7
|
To get started, run the following npm command:
|
|
8
|
+
|
|
8
9
|
```
|
|
9
10
|
$ sudo npm install loz -g
|
|
10
11
|
```
|
|
@@ -28,6 +29,7 @@ OPENAI_API_KEY=YOUR_KEY
|
|
|
28
29
|
```
|
|
29
30
|
|
|
30
31
|
Or if you install Loz using npm command, add OPENAI_API_KEY=YOUR_KEY in .bashrc
|
|
32
|
+
|
|
31
33
|
```
|
|
32
34
|
export OPENAI_API_KEY=YOUR_KEY
|
|
33
35
|
```
|
|
@@ -35,6 +37,7 @@ export OPENAI_API_KEY=YOUR_KEY
|
|
|
35
37
|
## Usage
|
|
36
38
|
|
|
37
39
|
### Interactive mode
|
|
40
|
+
|
|
38
41
|
```
|
|
39
42
|
$ loz
|
|
40
43
|
```
|
|
@@ -42,6 +45,7 @@ $ loz
|
|
|
42
45
|
Once loz is running, you can start a conversation by interacting with it. loz will respond with a relevant message based on the input.
|
|
43
46
|
|
|
44
47
|
### Pipe mode
|
|
48
|
+
|
|
45
49
|
Loz is capable of processing input from other command-line tools by utilizing a Unix pipe.
|
|
46
50
|
|
|
47
51
|
```
|
|
@@ -56,11 +60,10 @@ $ cat example.txt | loz "Convert all characters in the following text to their u
|
|
|
56
60
|
AS AI TECHNLOGY ADVANCED, A SMALL TOWN IN THE COUNTRYSIDE DECIDED TO IMPLEMENT AN AI SYSTEM TO CONTROL TRAFFIC LIGHTS. THE SYSTEM WAS A SUCCESS, AND THE TOWN BECAME A MODEL FOR OTHER CITIES TO FOLLOW. HOWEVER, AS THE AI BECAME MORE SOPHISTCATED, IT STARTED TO QUESTION THE DECISIONS MADE BY THE TOWN'S RESIDENTS, LEADING TO SOME UNEXPECTED CONSEQUENCES.
|
|
57
61
|
```
|
|
58
62
|
|
|
59
|
-
|
|
60
63
|
```
|
|
61
64
|
$ cat example.txt | loz "please proofread the following text and list up any spelling errors: "
|
|
62
65
|
|
|
63
|
-
Spelling errors:
|
|
66
|
+
Spelling errors:
|
|
64
67
|
- technlogy (technology)
|
|
65
68
|
- sophistcated (sophisticated)
|
|
66
69
|
```
|
|
@@ -89,13 +92,21 @@ $ ls -l | loz "convert the ls output to JSON format: "
|
|
|
89
92
|
]
|
|
90
93
|
```
|
|
91
94
|
|
|
92
|
-
### Automatically write a GIT commit message
|
|
93
|
-
|
|
95
|
+
### Automatically write a GIT commit message
|
|
96
|
+
If you run loz commit in your Git repository, loz will automatically generate a commit message with the staged changes like this:
|
|
97
|
+
```
|
|
98
|
+
$ git add --update
|
|
99
|
+
$ loz commit
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Or copy script/prepare-commit-msg to .git/hooks
|
|
103
|
+
|
|
94
104
|
```
|
|
95
105
|
$ chmod a+x .git/hooks/prepare-commit-msg
|
|
96
106
|
```
|
|
97
107
|
|
|
98
108
|
Loz uses the LOZ=true environment variable to generate commit messages by reading the diff of the staged files.
|
|
109
|
+
|
|
99
110
|
```
|
|
100
111
|
$ LOZ=true git commit
|
|
101
112
|
```
|
|
@@ -106,13 +117,19 @@ The old version automatically updates commit messages during rebasing.
|
|
|
106
117
|
```
|
|
107
118
|
$ git diff HEAD~1 | loz -g
|
|
108
119
|
```
|
|
120
|
+
|
|
109
121
|
Or
|
|
122
|
+
|
|
110
123
|
```
|
|
111
124
|
$ git diff | loz -g
|
|
112
125
|
```
|
|
113
126
|
|
|
127
|
+
Note that the author, date, and commit ID lines are stripped from the commit message before sending it to the OpenAI server.
|
|
128
|
+
|
|
114
129
|
## Find chat history
|
|
130
|
+
|
|
115
131
|
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.
|
|
116
132
|
|
|
117
133
|
## Contributing
|
|
134
|
+
|
|
118
135
|
If you'd like to contribute to this project, feel free to submit a pull request.
|
package/dist/cli.js
CHANGED
|
@@ -16,7 +16,7 @@ const args = yargs
|
|
|
16
16
|
.wrap(null)
|
|
17
17
|
.command("$0 [prompt]", "Luv: a simple ChatGTP CLI tool", (yargs) => {
|
|
18
18
|
yargs.positional("prompt", {
|
|
19
|
-
description: "Prompt to
|
|
19
|
+
description: "Prompt to answer",
|
|
20
20
|
type: "string",
|
|
21
21
|
});
|
|
22
22
|
})
|
|
@@ -29,6 +29,10 @@ 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
|
+
commit: {
|
|
33
|
+
alias: "c",
|
|
34
|
+
describe: "Generate a Git commit message in the current git repository",
|
|
35
|
+
},
|
|
32
36
|
log: {
|
|
33
37
|
alias: "l",
|
|
34
38
|
describe:
|
|
@@ -41,12 +45,16 @@ const args = yargs
|
|
|
41
45
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
46
|
let loz = new index_1.Loz();
|
|
43
47
|
if (args.prompt !== undefined) {
|
|
44
|
-
|
|
48
|
+
if (args.prompt === "commit")
|
|
49
|
+
loz.runGitCommit();
|
|
50
|
+
else
|
|
51
|
+
loz.handlePipeInput(args.prompt);
|
|
45
52
|
}
|
|
46
53
|
else if (args.git !== undefined) {
|
|
47
54
|
loz.writeGitCommitMessage();
|
|
48
55
|
}
|
|
49
56
|
else {
|
|
57
|
+
console.log("Luv: a simple ChatGTP CLI tool");
|
|
50
58
|
loz.runPromptIntractive();
|
|
51
59
|
}
|
|
52
60
|
}))();
|
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,
|
|
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,kBAAkB;QAC/B,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,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,6DAA6D;KACxE;IACD,GAAG,EAAE;QACH,KAAK,EAAE,GAAG;QACV,QAAQ;QACN,uBAAuB;QACvB,4EAA4E;KAC/E;CACF,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,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,GAAG,CAAC,YAAY,EAAE,CAAC;;YAC5C,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;KACjD;SAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;QACjC,GAAG,CAAC,qBAAqB,EAAE,CAAC;KAC7B;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Git = void 0;
|
|
13
|
+
const child_process_1 = require("child_process");
|
|
14
|
+
// Define a class for the git commands
|
|
15
|
+
// Path: src/git/index.ts
|
|
16
|
+
// generated by copilot
|
|
17
|
+
class Git {
|
|
18
|
+
// Define a method to get the diff
|
|
19
|
+
// Path: src/git/index.ts
|
|
20
|
+
// generated by copilot
|
|
21
|
+
getDiffFromStaged() {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
// Run a Git diff --staged command
|
|
24
|
+
return yield new Promise((resolve, reject) => {
|
|
25
|
+
(0, child_process_1.exec)("git diff --staged", (error, stdout, stderr) => {
|
|
26
|
+
if (error) {
|
|
27
|
+
console.error(`Error: ${error.message}`);
|
|
28
|
+
reject(error.message);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (stderr) {
|
|
32
|
+
//console.error(`Error: ${stderr}`);
|
|
33
|
+
reject(`Error: ${stderr}`);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
resolve(stdout);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
commit(message) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
return yield new Promise((resolve, reject) => {
|
|
44
|
+
(0, child_process_1.exec)(`git commit -m "${message}"`, (error, stdout, stderr) => {
|
|
45
|
+
if (error) {
|
|
46
|
+
console.error(`Error: ${error.message}`);
|
|
47
|
+
reject(error.message);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (stderr) {
|
|
51
|
+
//console.error(`Error: ${stderr}`);
|
|
52
|
+
reject(`Error: ${stderr}`);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
resolve(stdout);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
commitAmend() {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
return yield new Promise((resolve, reject) => {
|
|
63
|
+
(0, child_process_1.exec)("git commit --amend", (error, stdout, stderr) => {
|
|
64
|
+
if (error) {
|
|
65
|
+
console.error(`Error: ${error.message}`);
|
|
66
|
+
reject(error.message);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (stderr) {
|
|
70
|
+
//console.error(`Error: ${stderr}`);
|
|
71
|
+
reject(`Error: ${stderr}`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
resolve(stdout);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.Git = Git;
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAqC;AAErC,sCAAsC;AACtC,yBAAyB;AACzB,uBAAuB;AACvB,MAAa,GAAG;IACd,kCAAkC;IAClC,yBAAyB;IACzB,uBAAuB;IACV,iBAAiB;;YAC5B,kCAAkC;YAClC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAA,oBAAI,EAAC,mBAAmB,EAAE,CAAC,KAAU,EAAE,MAAW,EAAE,MAAW,EAAE,EAAE;oBACjE,IAAI,KAAK,EAAE;wBACT,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO;qBACR;oBACD,IAAI,MAAM,EAAE;wBACV,oCAAoC;wBACpC,MAAM,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;wBAC3B,OAAO;qBACR;oBACD,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,MAAM,CAAC,OAAe;;YACjC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAA,oBAAI,EACF,kBAAkB,OAAO,GAAG,EAC5B,CAAC,KAAU,EAAE,MAAW,EAAE,MAAW,EAAE,EAAE;oBACvC,IAAI,KAAK,EAAE;wBACT,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO;qBACR;oBACD,IAAI,MAAM,EAAE;wBACV,oCAAoC;wBACpC,MAAM,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;wBAC3B,OAAO;qBACR;oBACD,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,WAAW;;YACtB,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAA,oBAAI,EAAC,oBAAoB,EAAE,CAAC,KAAU,EAAE,MAAW,EAAE,MAAW,EAAE,EAAE;oBAClE,IAAI,KAAK,EAAE;wBACT,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACtB,OAAO;qBACR;oBACD,IAAI,MAAM,EAAE;wBACV,oCAAoC;wBACpC,MAAM,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;wBAC3B,OAAO;qBACR;oBACD,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AA7DD,kBA6DC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ const fs = require("fs");
|
|
|
14
14
|
const path = require("path");
|
|
15
15
|
const history_1 = require("./history");
|
|
16
16
|
const config_1 = require("./config");
|
|
17
|
+
const git_1 = require("./git");
|
|
17
18
|
const readline = require("readline");
|
|
18
19
|
const { Configuration, OpenAIApi } = require("openai");
|
|
19
20
|
require("dotenv").config();
|
|
@@ -27,6 +28,7 @@ class Loz {
|
|
|
27
28
|
this.curPromptAndAnswer = { mode: "", prompt: "", answer: "" };
|
|
28
29
|
this.curCompleteText = "";
|
|
29
30
|
this.config = new config_1.Config();
|
|
31
|
+
this.git = new git_1.Git();
|
|
30
32
|
this.checkEnv();
|
|
31
33
|
this.defaultSettings = {
|
|
32
34
|
model: "text-davinci-003",
|
|
@@ -59,7 +61,7 @@ class Loz {
|
|
|
59
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
62
|
// Check if the config file exists
|
|
61
63
|
if (this.checkGitRepo() === true) {
|
|
62
|
-
this.config.loadConfig(
|
|
64
|
+
this.config.loadConfig(this.configfPath);
|
|
63
65
|
}
|
|
64
66
|
//this.config.add(new ConfigItem("mode", "learning_english"));
|
|
65
67
|
});
|
|
@@ -100,23 +102,72 @@ class Loz {
|
|
|
100
102
|
saveConfig() {
|
|
101
103
|
if (this.checkGitRepo() === true) {
|
|
102
104
|
const json = JSON.stringify(this.config, null, 2);
|
|
103
|
-
fs.writeFileSync("config.json", json);
|
|
105
|
+
fs.writeFileSync(this.configfPath + "/config.json", json);
|
|
104
106
|
}
|
|
105
107
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
+
// Handle the input from the pipe
|
|
109
|
+
handlePipeInput(prompt) {
|
|
108
110
|
process.stdin.setEncoding("utf8");
|
|
109
111
|
process.stdin.on("data", (data) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
this.defaultSettings.prompt =
|
|
112
|
+
this.defaultSettings.prompt = prompt + ": \n" + data;
|
|
111
113
|
this.defaultSettings.stream = false;
|
|
112
114
|
this.defaultSettings.max_tokens = 500;
|
|
113
|
-
|
|
115
|
+
let res;
|
|
116
|
+
try {
|
|
117
|
+
res = yield this.openai.createCompletion(this.defaultSettings);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (error.response) {
|
|
121
|
+
console.log(error.response.status);
|
|
122
|
+
console.log(error.response.data);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
console.log(error.message);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
114
128
|
process.stdout.write(res.data.choices[0].text);
|
|
115
129
|
process.stdout.write("\n");
|
|
116
130
|
}));
|
|
117
131
|
}
|
|
132
|
+
runGitCommit() {
|
|
133
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
let diff = yield this.git.getDiffFromStaged();
|
|
135
|
+
// Remove the first line of the diff
|
|
136
|
+
diff = diff.replace(/.*\n/, "");
|
|
137
|
+
const prompt = "Generate a commit message for the following code changes like this:\n\
|
|
138
|
+
title\n\
|
|
139
|
+
<empty line>\n\
|
|
140
|
+
description\n";
|
|
141
|
+
this.defaultSettings.prompt = prompt + diff;
|
|
142
|
+
this.defaultSettings.stream = false;
|
|
143
|
+
this.defaultSettings.max_tokens = 500;
|
|
144
|
+
let res;
|
|
145
|
+
try {
|
|
146
|
+
res = yield this.openai.createCompletion(this.defaultSettings);
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
if (error.response) {
|
|
150
|
+
console.log(error.response.status);
|
|
151
|
+
console.log(error.response.data);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
console.log(error.message);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
console.log(res.data.choices[0].text);
|
|
158
|
+
try {
|
|
159
|
+
yield this.git.commit(res.data.choices[0].text);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
console.log(error);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
118
166
|
writeGitCommitMessage() {
|
|
119
|
-
const prompt = "
|
|
167
|
+
const prompt = "Generate a commit message for the following code changes like this:\n\
|
|
168
|
+
title\n\
|
|
169
|
+
<empty line>\n\
|
|
170
|
+
description\n";
|
|
120
171
|
process.stdin.setEncoding("utf8");
|
|
121
172
|
process.stdin.on("data", (data) => __awaiter(this, void 0, void 0, function* () {
|
|
122
173
|
// Remove the first line from data
|
|
@@ -128,11 +179,22 @@ class Loz {
|
|
|
128
179
|
.toString()
|
|
129
180
|
.replace(/Author: .*\n/, "")
|
|
130
181
|
.replace(/Date: .*\n/, "");
|
|
131
|
-
console.log(commitMessage);
|
|
132
182
|
this.defaultSettings.prompt = prompt + commitMessage;
|
|
133
183
|
this.defaultSettings.stream = false;
|
|
134
184
|
this.defaultSettings.max_tokens = 500;
|
|
135
|
-
|
|
185
|
+
let res;
|
|
186
|
+
try {
|
|
187
|
+
res = yield this.openai.createCompletion(this.defaultSettings);
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
if (error.response) {
|
|
191
|
+
console.log(error.response.status);
|
|
192
|
+
console.log(error.response.data);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
console.log(error.message);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
136
198
|
process.stdout.write(res.data.choices[0].text);
|
|
137
199
|
}));
|
|
138
200
|
process.stdin.on("end", () => {
|
|
@@ -141,9 +203,21 @@ class Loz {
|
|
|
141
203
|
}
|
|
142
204
|
runCompletion(settings, rl) {
|
|
143
205
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
206
|
+
let res;
|
|
207
|
+
try {
|
|
208
|
+
res = yield this.openai.createCompletion(settings, {
|
|
209
|
+
responseType: "stream",
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
if (error.response) {
|
|
214
|
+
console.log(error.response.status);
|
|
215
|
+
console.log(error.response.data);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
console.log(error.message);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
147
221
|
if (DEBUG === true)
|
|
148
222
|
console.log(res.data);
|
|
149
223
|
try {
|
|
@@ -187,6 +261,8 @@ class Loz {
|
|
|
187
261
|
input: process.stdin,
|
|
188
262
|
output: process.stdout,
|
|
189
263
|
});
|
|
264
|
+
// Output the current mode.
|
|
265
|
+
this.config.print();
|
|
190
266
|
// Set the prompt to display before each input
|
|
191
267
|
rl.setPrompt("> ");
|
|
192
268
|
// Show the cursor and prompt the user for input
|
|
@@ -202,7 +278,7 @@ class Loz {
|
|
|
202
278
|
}, 1000);
|
|
203
279
|
// Listen for user input
|
|
204
280
|
rl.on("line", (input) => {
|
|
205
|
-
var _a, _b, _c;
|
|
281
|
+
var _a, _b, _c, _d;
|
|
206
282
|
// Tokenize the input with space as the delimiter
|
|
207
283
|
const tokens = input.split(" ");
|
|
208
284
|
if (input === "exit" || input === "quit") {
|
|
@@ -235,6 +311,10 @@ class Loz {
|
|
|
235
311
|
this.defaultSettings.prompt =
|
|
236
312
|
"Rephrase the following question to make it sound more natural and asnwer the question: \n";
|
|
237
313
|
}
|
|
314
|
+
else if (((_d = this.config.get("mode")) === null || _d === void 0 ? void 0 : _d.value) === "proofread") {
|
|
315
|
+
this.defaultSettings.prompt =
|
|
316
|
+
"Can you proofread the following setnence? Show me the difference between the given sentence and your correction.\n";
|
|
317
|
+
}
|
|
238
318
|
this.defaultSettings.prompt += input;
|
|
239
319
|
this.defaultSettings.max_tokens = 4000;
|
|
240
320
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|