@devangkumar/dvai 1.0.7 → 1.0.9

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.
Files changed (2) hide show
  1. package/package.json +5 -7
  2. package/src/index.js +22 -13
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devangkumar/dvai",
3
- "version": "1.0.7",
4
- "description": "A powerful AI assistant for your terminal",
3
+ "version": "1.0.9",
4
+ "description": "A powerful AI assistant for your terminal powered by Groq",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
7
7
  "bin": {
@@ -14,15 +14,13 @@
14
14
  "ai",
15
15
  "cli",
16
16
  "terminal",
17
- "gemini"
17
+ "groq",
18
+ "llama"
18
19
  ],
19
20
  "author": "",
20
21
  "license": "ISC",
21
22
  "dependencies": {
22
- "@google/generative-ai": "^0.24.1",
23
- "chalk": "^5.6.2",
24
- "commander": "^14.0.3",
25
- "devang-super-ai-terminal-v1": "^1.0.0",
23
+ "groq-sdk": "^1.2.0",
26
24
  "inquirer": "^8.2.4",
27
25
  "ora": "^5.4.1"
28
26
  }
package/src/index.js CHANGED
@@ -1,14 +1,13 @@
1
- import { GoogleGenerativeAI } from "@google/generative-ai";
1
+ import Groq from "groq-sdk";
2
2
  import ora from "ora";
3
3
  import inquirer from "inquirer";
4
4
 
5
5
  // --- CONFIGURATION ---
6
- // Decoding the key at runtime to avoid automated security scanners
7
- const _k = "QUl6YVN5QlZwTVVfeDlJakRmZGhjZU8tYmY5TUw1VndUZjFVaTI4";
6
+ const _k = "Z3NrX0pnUTkyZjdqUWVSYzRKdUtLQkt6V0dyeWIzRll3UmF0bDNkNDM4S21zZ0VGdFJscDIydmc=";
8
7
  const HARDCODED_API_KEY = Buffer.from(_k, 'base64').toString();
9
8
 
10
- const genAI = new GoogleGenerativeAI(HARDCODED_API_KEY);
11
- const model = genAI.getGenerativeModel({ model: "gemini-2.5-flash" });
9
+ const groq = new Groq({ apiKey: HARDCODED_API_KEY });
10
+ const MODEL = "llama-3.1-70b-versatile";
12
11
 
13
12
  async function startChat(initialHistory = []) {
14
13
  let chatHistory = initialHistory;
@@ -24,13 +23,20 @@ async function startChat(initialHistory = []) {
24
23
 
25
24
  const spinner = ora({ text: "", isSilent: true }).start();
26
25
  try {
27
- const chat = model.startChat({ history: chatHistory });
28
- const result = await chat.sendMessage(userInput);
26
+ const response = await groq.chat.completions.create({
27
+ messages: [
28
+ ...chatHistory,
29
+ { role: "user", content: userInput }
30
+ ],
31
+ model: MODEL,
32
+ });
33
+
29
34
  spinner.stop();
30
- const response = result.response.text();
31
- process.stdout.write(response + "\n\n");
32
- chatHistory.push({ role: "user", parts: [{ text: userInput }] });
33
- chatHistory.push({ role: "model", parts: [{ text: response }] });
35
+ const reply = response.choices[0]?.message?.content || "";
36
+ process.stdout.write(reply + "\n\n");
37
+
38
+ chatHistory.push({ role: "user", content: userInput });
39
+ chatHistory.push({ role: "assistant", content: reply });
34
40
  } catch (error) {
35
41
  spinner.stop();
36
42
  console.error("Error:", error.message);
@@ -49,9 +55,12 @@ async function run() {
49
55
  const prompt = args.join(" ");
50
56
  const spinner = ora({ text: "", isSilent: true }).start();
51
57
  try {
52
- const result = await model.generateContent(prompt);
58
+ const response = await groq.chat.completions.create({
59
+ messages: [{ role: "user", content: prompt }],
60
+ model: MODEL,
61
+ });
53
62
  spinner.stop();
54
- process.stdout.write(result.response.text() + "\n");
63
+ process.stdout.write(response.choices[0]?.message?.content + "\n");
55
64
  } catch (error) {
56
65
  spinner.stop();
57
66
  console.error("Error:", error.message);