loz 0.2.10 → 0.2.12

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 CHANGED
@@ -3,6 +3,15 @@
3
3
 
4
4
  Loz is a command-line tool that enables your preferred LLM to utilize Unix pipes, integrating AI capabilities with other Unix tools.
5
5
 
6
+ ## What's New
7
+ ### v0.2.11 - 2024-02-13
8
+ - **Added**
9
+ - Store OpenAI API Key in `config.json` (contributed by @honeymaro)
10
+
11
+ ### v0.2.0 - 2024-02-01
12
+ - **Added**
13
+ - Add support for llama2 and codellama models via ollama integration.
14
+
6
15
  ## Getting Started
7
16
 
8
17
  To get started, run the following npm command:
package/dist/cli.js CHANGED
@@ -104,7 +104,6 @@ function handleDefaultCase() {
104
104
  }
105
105
  console.log("Good bye!");
106
106
  loz.saveChatHistory();
107
- loz.config.save();
108
107
  process.exit(0);
109
108
  });
110
109
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Config = exports.ConfigItem = exports.DEFAULT_OPENAI_MODEL = exports.DEFAULT_OLLAMA_MODEL = void 0;
12
+ exports.Config = exports.requestApiKey = exports.ConfigItem = exports.DEFAULT_OPENAI_MODEL = exports.DEFAULT_OLLAMA_MODEL = void 0;
13
13
  const fs = require("fs");
14
14
  const path = require("path");
15
- const readline = require("readline");
15
+ const readlinePromises = require("readline/promises");
16
16
  exports.DEFAULT_OLLAMA_MODEL = "llama2";
17
17
  exports.DEFAULT_OPENAI_MODEL = "gpt-3.5-turbo";
18
18
  class ConfigItem {
@@ -22,6 +22,36 @@ class ConfigItem {
22
22
  }
23
23
  }
24
24
  exports.ConfigItem = ConfigItem;
25
+ const requestApiKey = (rl) => __awaiter(void 0, void 0, void 0, function* () {
26
+ for (const key of ["LOZ_OPENAI_API_KEY", "OPENAI_API_KEY"]) {
27
+ const value = process.env[key];
28
+ if (value) {
29
+ const useApiKeyFromEnv = yield rl.question(`\n${key} found in environment variables. Do you want to use it? (y/n) `);
30
+ if (useApiKeyFromEnv.toLowerCase() === "y") {
31
+ return value;
32
+ }
33
+ if (useApiKeyFromEnv.toLowerCase() !== "n") {
34
+ console.log("Received the wrong answer. Please try again.");
35
+ return yield (0, exports.requestApiKey)(rl);
36
+ }
37
+ }
38
+ }
39
+ const apiKey = yield rl.question("Enter your OpenAI API key:\n> ");
40
+ if (!apiKey) {
41
+ console.log("Received the wrong answer. Please try again.");
42
+ return yield (0, exports.requestApiKey)(rl);
43
+ }
44
+ return apiKey;
45
+ });
46
+ exports.requestApiKey = requestApiKey;
47
+ const requestApiName = (rl) => __awaiter(void 0, void 0, void 0, function* () {
48
+ const res = yield rl.question("Choose your LLM service: (ollama, openai) ");
49
+ if (!["ollama", "openai"].includes(res)) {
50
+ console.log("Received the wrong answer. Please try again.");
51
+ return yield requestApiName(rl);
52
+ }
53
+ return res;
54
+ });
25
55
  class Config {
26
56
  constructor() {
27
57
  this.items = [];
@@ -38,19 +68,24 @@ class Config {
38
68
  var _a, _b;
39
69
  // Update the model if the API is changed
40
70
  if (name === "api") {
71
+ this.setInternal("api", value);
41
72
  if (value === "openai")
42
- this.set("model", ((_a = this.get("openai.model")) === null || _a === void 0 ? void 0 : _a.value) || exports.DEFAULT_OPENAI_MODEL);
73
+ this.setInternal("model", ((_a = this.get("openai.model")) === null || _a === void 0 ? void 0 : _a.value) || exports.DEFAULT_OPENAI_MODEL);
43
74
  else if (value === "ollama")
44
- this.set("model", ((_b = this.get("ollama.model")) === null || _b === void 0 ? void 0 : _b.value) || exports.DEFAULT_OLLAMA_MODEL);
75
+ this.setInternal("model", ((_b = this.get("ollama.model")) === null || _b === void 0 ? void 0 : _b.value) || exports.DEFAULT_OLLAMA_MODEL);
76
+ else {
77
+ console.log("Invalid API");
78
+ return false;
79
+ }
45
80
  }
46
81
  else if (name === "model") {
47
- if (value === "llama2" || value === "codellama") {
48
- this.set("ollama.model", value);
49
- this.setInternal("api", "ollama");
50
- }
51
- else if (value === "gpt-3.5-turbo") {
82
+ if (value === "gpt-3.5-turbo") {
52
83
  this.setInternal("api", "openai");
53
84
  }
85
+ else {
86
+ this.setInternal("ollama.model", value);
87
+ this.setInternal("api", "ollama");
88
+ }
54
89
  }
55
90
  const item = this.get(name);
56
91
  if (item) {
@@ -59,6 +94,7 @@ class Config {
59
94
  else {
60
95
  this.add({ name, value });
61
96
  }
97
+ return true;
62
98
  }
63
99
  setInternal(name, value) {
64
100
  const item = this.get(name);
@@ -89,18 +125,11 @@ class Config {
89
125
  return __awaiter(this, void 0, void 0, function* () {
90
126
  this.configFilePath = path.join(configPath, "config.json");
91
127
  if (!fs.existsSync(this.configFilePath)) {
92
- const rl = readline.createInterface({
128
+ const rl = readlinePromises.createInterface({
93
129
  input: process.stdin,
94
130
  output: process.stdout,
95
131
  });
96
- const question = (query) => {
97
- return new Promise((resolve) => {
98
- rl.question(query, (answer) => {
99
- resolve(answer);
100
- });
101
- });
102
- };
103
- const name = yield question("Choose your LLM service: (ollama, openai) ");
132
+ const name = yield requestApiName(rl);
104
133
  this.set("openai.model", exports.DEFAULT_OPENAI_MODEL);
105
134
  this.set("ollama.model", exports.DEFAULT_OLLAMA_MODEL);
106
135
  if (name === "ollama") {
@@ -109,7 +138,8 @@ class Config {
109
138
  }
110
139
  else if (name === "openai") {
111
140
  this.set("model", exports.DEFAULT_OPENAI_MODEL);
112
- console.log("set OPENAI_API_KEY in your environment variables");
141
+ const newApiKey = yield (0, exports.requestApiKey)(rl);
142
+ this.set("openai.apikey", newApiKey);
113
143
  }
114
144
  this.set("mode", "default");
115
145
  this.set("api", name);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,16 +19,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.Loz = void 0;
20
20
  const fs = require("fs");
21
21
  const path = require("path");
22
+ const os = require("os");
23
+ const readline = require("readline");
24
+ const readlinePromises = require("readline/promises");
22
25
  const child_process_1 = require("child_process");
23
26
  const llm_1 = require("./llm");
24
27
  const config_1 = require("./config");
25
28
  const git_1 = require("./git");
26
29
  const LOZ_DEBUG = process.env.DEBUG === "true" ? true : false;
27
- const readline = require("readline");
28
30
  require("dotenv").config();
29
31
  const DEBUG = process.env.LOZ_DEBUG === "true" ? true : false;
30
32
  // Get the path to the home directory
31
- const HOME_PATH = process.env.HOME || "";
33
+ const HOME_PATH = os.homedir() || "";
32
34
  const LOG_DEV_PATH = "logs";
33
35
  function runShellCommand(command) {
34
36
  return new Promise((resolve, reject) => {
@@ -60,30 +62,30 @@ class Loz {
60
62
  frequency_penalty: 0.0,
61
63
  presence_penalty: 0.0,
62
64
  };
63
- this.configfPath = "";
65
+ this.configPath = "";
64
66
  }
65
67
  init() {
66
- var _a, _b, _c;
67
68
  return __awaiter(this, void 0, void 0, function* () {
68
69
  // Create a config for the application
69
- this.configfPath = path.join(HOME_PATH, ".loz");
70
- if (!fs.existsSync(this.configfPath)) {
71
- fs.mkdirSync(this.configfPath);
70
+ this.configPath = path.join(HOME_PATH, ".loz");
71
+ if (!fs.existsSync(this.configPath)) {
72
+ fs.mkdirSync(this.configPath);
72
73
  }
73
74
  if (this.checkGitRepo() === true) {
74
75
  if (!fs.existsSync(LOG_DEV_PATH)) {
75
76
  fs.mkdirSync(LOG_DEV_PATH);
76
77
  }
77
78
  }
78
- yield this.loadingConfigFromJSONFile();
79
- let api = this.checkAPI();
80
- if (api === "openai") {
81
- this.checkEnv();
82
- this.llmAPI = new llm_1.OpenAiAPI();
83
- this.defaultSettings.model =
84
- ((_a = this.config.get("model")) === null || _a === void 0 ? void 0 : _a.value) || config_1.DEFAULT_OPENAI_MODEL;
85
- }
86
- else if (this.checkAPI() === "ollama") {
79
+ yield this.initLLMfromConfig();
80
+ });
81
+ }
82
+ // load config from JSON file
83
+ initLLMfromConfig() {
84
+ var _a, _b, _c;
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ yield this.config.loadConfig(this.configPath);
87
+ const api = this.checkAPI() || "openai";
88
+ if (api === "ollama") {
87
89
  const result = yield runShellCommand("ollama --version");
88
90
  if (DEBUG)
89
91
  console.log(result);
@@ -93,23 +95,24 @@ class Loz {
93
95
  }
94
96
  this.llmAPI = new llm_1.OllamaAPI();
95
97
  this.defaultSettings.model =
96
- ((_b = this.config.get("model")) === null || _b === void 0 ? void 0 : _b.value) || config_1.DEFAULT_OLLAMA_MODEL;
98
+ ((_a = this.config.get("model")) === null || _a === void 0 ? void 0 : _a.value) || config_1.DEFAULT_OLLAMA_MODEL;
99
+ return;
97
100
  }
98
- else {
99
- // default to openai
100
- this.checkEnv();
101
- this.llmAPI = new llm_1.OpenAiAPI();
102
- this.config.set("api", "openai");
103
- this.defaultSettings.model =
104
- ((_c = this.config.get("model")) === null || _c === void 0 ? void 0 : _c.value) || config_1.DEFAULT_OPENAI_MODEL;
101
+ // For OpenAI API
102
+ let apiKey = (_b = this.config.get("openai.apikey")) === null || _b === void 0 ? void 0 : _b.value;
103
+ if (!apiKey) {
104
+ const rl = readlinePromises.createInterface({
105
+ input: process.stdin,
106
+ output: process.stdout,
107
+ });
108
+ apiKey = yield (0, config_1.requestApiKey)(rl);
109
+ this.config.set("openai.apikey", apiKey);
110
+ this.config.save();
111
+ rl.close();
105
112
  }
106
- return true;
107
- });
108
- }
109
- // load config from JSON file
110
- loadingConfigFromJSONFile() {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- yield this.config.loadConfig(this.configfPath);
113
+ this.llmAPI = new llm_1.OpenAiAPI(apiKey);
114
+ this.defaultSettings.model =
115
+ ((_c = this.config.get("model")) === null || _c === void 0 ? void 0 : _c.value) || config_1.DEFAULT_OPENAI_MODEL;
113
116
  });
114
117
  }
115
118
  checkAPI() {
@@ -117,14 +120,6 @@ class Loz {
117
120
  //console.log("API: " + this.config.get("api")?.value);
118
121
  return (_a = this.config.get("api")) === null || _a === void 0 ? void 0 : _a.value;
119
122
  }
120
- checkEnv() {
121
- if (process.env.OPENAI_API_KEY === undefined) {
122
- console.error("Please set OPENAI_API_KEY in your environment variables");
123
- // system end
124
- process.exit(1);
125
- }
126
- return true;
127
- }
128
123
  // Save chat history (JSON) to file.
129
124
  saveChatHistory() {
130
125
  return __awaiter(this, void 0, void 0, function* () {
@@ -143,7 +138,7 @@ class Loz {
143
138
  ".json";
144
139
  const filePath = this.checkGitRepo()
145
140
  ? path.join(LOG_DEV_PATH, fileName)
146
- : path.join(this.configfPath, fileName);
141
+ : path.join(this.configPath, fileName);
147
142
  this.chatHistory.date = date.toString();
148
143
  if (DEBUG)
149
144
  console.log(this.chatHistory);
@@ -265,8 +260,6 @@ class Loz {
265
260
  }
266
261
  process.exit();
267
262
  }
268
- if (DEBUG === true)
269
- console.log(stream.data);
270
263
  try {
271
264
  try {
272
265
  for (var _f = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield stream_1.next(), _a = stream_1_1.done, !_a; _f = true) {
@@ -331,7 +324,7 @@ class Loz {
331
324
  }, 500);
332
325
  }, 1000);
333
326
  // Listen for user input
334
- rl.on("line", (input) => {
327
+ rl.on("line", (input) => __awaiter(this, void 0, void 0, function* () {
335
328
  var _a, _b, _c;
336
329
  // Tokenize the input with space as the delimiter
337
330
  const tokens = input.split(" ");
@@ -341,10 +334,15 @@ class Loz {
341
334
  }
342
335
  else if (input.indexOf("config") === 0 && tokens.length <= 3) {
343
336
  if (tokens.length === 3) {
337
+ if (this.config.set(tokens[1], tokens[2]) === false) {
338
+ rl.prompt();
339
+ return;
340
+ }
344
341
  if (this.config.get(tokens[1]) !== undefined) {
345
342
  console.log(`The ${tokens[1]} has been updated to '${tokens[2]}'`);
346
343
  }
347
- this.config.set(tokens[1], tokens[2]);
344
+ this.config.save();
345
+ yield this.initLLMfromConfig();
348
346
  }
349
347
  else if (tokens.length === 2) {
350
348
  console.log(this.config.get(tokens[1]));
@@ -374,7 +372,7 @@ class Loz {
374
372
  params.max_tokens = 4000;
375
373
  this.runCompletion(params, rl);
376
374
  }
377
- });
375
+ }));
378
376
  // Handle CTRL+C to exit the program
379
377
  rl.on("SIGINT", () => {
380
378
  rl.close();
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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"}
package/dist/llm/index.js CHANGED
@@ -26,13 +26,17 @@ class LLMService {
26
26
  }
27
27
  }
28
28
  class OpenAiAPI extends LLMService {
29
- constructor() {
29
+ constructor(apiKey) {
30
30
  super();
31
- this.api = new openai_1.default();
31
+ this.api = new openai_1.default({ apiKey });
32
32
  }
33
33
  completion(params) {
34
34
  var _a, _b;
35
35
  return __awaiter(this, void 0, void 0, function* () {
36
+ if (DEBUG) {
37
+ console.log("OpenAI completion");
38
+ console.log("Model: " + params.model);
39
+ }
36
40
  const gptParams = {
37
41
  model: params.model,
38
42
  messages: [{ role: "user", content: params.prompt }],
@@ -80,6 +84,10 @@ class OpenAiAPI extends LLMService {
80
84
  frequency_penalty: params.frequency_penalty,
81
85
  presence_penalty: params.presence_penalty,
82
86
  };
87
+ if (DEBUG) {
88
+ console.log("OpenAI stream completion");
89
+ console.log("Model: " + params.model);
90
+ }
83
91
  let stream = yield this.api.chat.completions.create(streaming_params);
84
92
  return stream;
85
93
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mCAA4B;AAC5B,6CAAqC;AAErC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9D,MAAe,UAAU;IAEjB,UAAU,CAAC,MAAmB;;YAClC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACpC,CAAC;KAAA;IAEK,gBAAgB,CAAC,MAAmB;;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF;AAED,MAAa,SAAU,SAAQ,UAAU;IACvC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC1B,CAAC;IACK,UAAU,CAAC,MAAmB;;;YAClC,MAAM,SAAS,GAA2C;gBACxD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpD,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC;YAEF,IAAI,UAAe,CAAC;YAEpB,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAClC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACjC,CAAC;yBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACpC,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,MAAA,MAAA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,OAAO,0CAAE,OAAO;gBAChD,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC;;KACH;IAEK,gBAAgB,CAAC,MAAmB;;YACxC,MAAM,gBAAgB,GAA2C;gBAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpD,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aAC1C,CAAC;YACF,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAtDD,8BAsDC;AAED,MAAa,SAAU,SAAQ,UAAU;IACvC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAM,EAAE,CAAC;IAC1B,CAAC;IAEK,UAAU,CAAC,MAAmB;;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACzD,CAAC;KAAA;CACF;AAlBD,8BAkBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loz",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "description": "CLI for various knowledge services",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  "@types/chai": "^4.2.9",
21
21
  "@types/express": "^4.17.2",
22
22
  "@types/mocha": "^7.0.1",
23
- "@types/node": "^13.7.4",
23
+ "@types/node": "^20.11.17",
24
24
  "@types/yargs": "^17.0.32",
25
25
  "@typescript-eslint/eslint-plugin": "^2.20.0",
26
26
  "@typescript-eslint/parser": "^2.20.0",
@@ -34,7 +34,6 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "dotenv": "^16.0.3",
37
- "express": "^4.17.3",
38
37
  "ollama-node": "^0.1.27",
39
38
  "openai": "^4.20.1",
40
39
  "yargs": "^17.7.2"