ide-assi 0.86.0 → 0.90.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.
@@ -193257,7 +193257,7 @@ window.jQuery = window.$ = $$1;
193257
193257
 
193258
193258
  //export default new ninegrid();
193259
193259
 
193260
- class IdeAiPrompt
193260
+ class IdeUtils
193261
193261
  {
193262
193262
  constructor() {
193263
193263
  }
@@ -193272,16 +193272,31 @@ class IdeAiPrompt
193272
193272
  }).format(params);
193273
193273
  };
193274
193274
 
193275
- static getDevelopActionClassification = async (userPrompt) => {
193275
+ static extractResponse = (response, gptServer) => {
193276
193276
 
193277
- const template = await fetch('/prompts/meta/개발액션분류.txt').then(res => res.text());
193277
+ const extractJsonSnippet = (text) => {
193278
+ const match = text.match(/```json([\s\S]*?)```/);
193279
+ return match ? match[1].trim() : text;
193280
+ };
193278
193281
 
193279
- return await new PromptTemplate({
193280
- template,
193281
- inputVariables: ['userPrompt'],
193282
- }).format({
193283
- userPrompt: userPrompt,
193284
- });
193282
+ let r;
193283
+ switch (gptServer) {
193284
+ case "openai":
193285
+ r = extractJsonSnippet(response.content.trim());
193286
+ break;
193287
+ case "gemini":
193288
+ r = extractJsonSnippet(response.content.trim());
193289
+ break;
193290
+ case "ollama":
193291
+ r = extractJsonSnippet(response);
193292
+ break;
193293
+ }
193294
+
193295
+ try {
193296
+ return JSON.parse(r);
193297
+ } catch (error) {
193298
+ return r;
193299
+ }
193285
193300
  };
193286
193301
  }
193287
193302
 
@@ -193458,14 +193473,24 @@ class IdeAi
193458
193473
  this.#createModel();
193459
193474
 
193460
193475
  const systemMessage = "You are a helpful assistant.";
193461
- const prompt = await IdeAiPrompt.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
193476
+ const prompt = await IdeUtils.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
193462
193477
 
193463
193478
  const response = await this.#model.invoke([
193464
193479
  new SystemMessage(systemMessage),
193465
193480
  new HumanMessage(prompt),
193466
193481
  ]);
193467
193482
 
193468
- console.log(response);
193483
+ const o = IdeUtils.extractResponse(response, this.#parent.settings.server);
193484
+ if (Object.prototype.toString.call(o) === "[object Object]" && o.hasOwnProperty("result")) {
193485
+ if (o.result == "0") {
193486
+ return o.reason;
193487
+ }
193488
+ }
193489
+ else {
193490
+ return o;
193491
+ }
193492
+
193493
+ return "OK";
193469
193494
  }
193470
193495
  }
193471
193496
 
@@ -193253,7 +193253,7 @@ window.jQuery = window.$ = $$1;
193253
193253
 
193254
193254
  //export default new ninegrid();
193255
193255
 
193256
- class IdeAiPrompt
193256
+ class IdeUtils
193257
193257
  {
193258
193258
  constructor() {
193259
193259
  }
@@ -193268,16 +193268,31 @@ class IdeAiPrompt
193268
193268
  }).format(params);
193269
193269
  };
193270
193270
 
193271
- static getDevelopActionClassification = async (userPrompt) => {
193271
+ static extractResponse = (response, gptServer) => {
193272
193272
 
193273
- const template = await fetch('/prompts/meta/개발액션분류.txt').then(res => res.text());
193273
+ const extractJsonSnippet = (text) => {
193274
+ const match = text.match(/```json([\s\S]*?)```/);
193275
+ return match ? match[1].trim() : text;
193276
+ };
193274
193277
 
193275
- return await new PromptTemplate({
193276
- template,
193277
- inputVariables: ['userPrompt'],
193278
- }).format({
193279
- userPrompt: userPrompt,
193280
- });
193278
+ let r;
193279
+ switch (gptServer) {
193280
+ case "openai":
193281
+ r = extractJsonSnippet(response.content.trim());
193282
+ break;
193283
+ case "gemini":
193284
+ r = extractJsonSnippet(response.content.trim());
193285
+ break;
193286
+ case "ollama":
193287
+ r = extractJsonSnippet(response);
193288
+ break;
193289
+ }
193290
+
193291
+ try {
193292
+ return JSON.parse(r);
193293
+ } catch (error) {
193294
+ return r;
193295
+ }
193281
193296
  };
193282
193297
  }
193283
193298
 
@@ -193454,14 +193469,24 @@ class IdeAi
193454
193469
  this.#createModel();
193455
193470
 
193456
193471
  const systemMessage = "You are a helpful assistant.";
193457
- const prompt = await IdeAiPrompt.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
193472
+ const prompt = await IdeUtils.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
193458
193473
 
193459
193474
  const response = await this.#model.invoke([
193460
193475
  new SystemMessage(systemMessage),
193461
193476
  new HumanMessage(prompt),
193462
193477
  ]);
193463
193478
 
193464
- console.log(response);
193479
+ const o = IdeUtils.extractResponse(response, this.#parent.settings.server);
193480
+ if (Object.prototype.toString.call(o) === "[object Object]" && o.hasOwnProperty("result")) {
193481
+ if (o.result == "0") {
193482
+ return o.reason;
193483
+ }
193484
+ }
193485
+ else {
193486
+ return o;
193487
+ }
193488
+
193489
+ return "OK";
193465
193490
  }
193466
193491
  }
193467
193492
 
@@ -1,5 +1,5 @@
1
1
  import ninegrid from "ninegrid2";
2
- import {IdeAiPrompt} from "./ideAiPrompt.js";
2
+ import {IdeUtils} from "./ideUtils.js";
3
3
  import { HumanMessage, SystemMessage } from '@langchain/core/messages';
4
4
  import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
5
5
  import { Ollama } from "@langchain/ollama";
@@ -178,14 +178,24 @@ export class IdeAi
178
178
  this.#createModel();
179
179
 
180
180
  const systemMessage = "You are a helpful assistant.";
181
- const prompt = await IdeAiPrompt.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
181
+ const prompt = await IdeUtils.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
182
182
 
183
183
  const response = await this.#model.invoke([
184
184
  new SystemMessage(systemMessage),
185
185
  new HumanMessage(prompt),
186
186
  ]);
187
187
 
188
- console.log(response);
188
+ const o = IdeUtils.extractResponse(response, this.#parent.settings.server);
189
+ if (Object.prototype.toString.call(o) === "[object Object]" && o.hasOwnProperty("result")) {
190
+ if (o.result == "0") {
191
+ return o.reason;
192
+ }
193
+ }
194
+ else {
195
+ return o;
196
+ }
197
+
198
+ return "OK";
189
199
  }
190
200
  }
191
201
 
@@ -0,0 +1,47 @@
1
+ import { PromptTemplate } from '@langchain/core/prompts';
2
+
3
+ export class IdeUtils
4
+ {
5
+ constructor() {
6
+ }
7
+
8
+ static generatePrompt = async (path, params) => {
9
+
10
+ const template = await fetch(path).then(res => res.text());
11
+
12
+ return await new PromptTemplate({
13
+ template,
14
+ inputVariables: Object.keys(params),
15
+ }).format(params);
16
+ };
17
+
18
+ static extractResponse = (response, gptServer) => {
19
+
20
+ const extractJsonSnippet = (text) => {
21
+ const match = text.match(/```json([\s\S]*?)```/);
22
+ return match ? match[1].trim() : text;
23
+ };
24
+
25
+ let r;
26
+ switch (gptServer) {
27
+ case "openai":
28
+ r = extractJsonSnippet(response.content.trim());
29
+ break;
30
+ case "gemini":
31
+ r = extractJsonSnippet(response.content.trim());
32
+ break;
33
+ case "ollama":
34
+ r = extractJsonSnippet(response);
35
+ break;
36
+ default:
37
+ break;
38
+ }
39
+
40
+ try {
41
+ return JSON.parse(r);
42
+ } catch (error) {
43
+ return r;
44
+ }
45
+ };
46
+ }
47
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ide-assi",
3
3
  "type": "module",
4
- "version": "0.86.0",
4
+ "version": "0.90.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {
@@ -1,5 +1,5 @@
1
1
  import ninegrid from "ninegrid2";
2
- import {IdeAiPrompt} from "./ideAiPrompt.js";
2
+ import {IdeUtils} from "./ideUtils.js";
3
3
  import { HumanMessage, SystemMessage } from '@langchain/core/messages';
4
4
  import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
5
5
  import { Ollama } from "@langchain/ollama";
@@ -178,14 +178,24 @@ export class IdeAi
178
178
  this.#createModel();
179
179
 
180
180
  const systemMessage = "You are a helpful assistant.";
181
- const prompt = await IdeAiPrompt.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
181
+ const prompt = await IdeUtils.generatePrompt('/prompts/meta/개발액션분류.txt', { "userPrompt": userPrompt });
182
182
 
183
183
  const response = await this.#model.invoke([
184
184
  new SystemMessage(systemMessage),
185
185
  new HumanMessage(prompt),
186
186
  ]);
187
187
 
188
- console.log(response);
188
+ const o = IdeUtils.extractResponse(response, this.#parent.settings.server);
189
+ if (Object.prototype.toString.call(o) === "[object Object]" && o.hasOwnProperty("result")) {
190
+ if (o.result == "0") {
191
+ return o.reason;
192
+ }
193
+ }
194
+ else {
195
+ return o;
196
+ }
197
+
198
+ return "OK";
189
199
  }
190
200
  }
191
201
 
@@ -0,0 +1,47 @@
1
+ import { PromptTemplate } from '@langchain/core/prompts';
2
+
3
+ export class IdeUtils
4
+ {
5
+ constructor() {
6
+ }
7
+
8
+ static generatePrompt = async (path, params) => {
9
+
10
+ const template = await fetch(path).then(res => res.text());
11
+
12
+ return await new PromptTemplate({
13
+ template,
14
+ inputVariables: Object.keys(params),
15
+ }).format(params);
16
+ };
17
+
18
+ static extractResponse = (response, gptServer) => {
19
+
20
+ const extractJsonSnippet = (text) => {
21
+ const match = text.match(/```json([\s\S]*?)```/);
22
+ return match ? match[1].trim() : text;
23
+ };
24
+
25
+ let r;
26
+ switch (gptServer) {
27
+ case "openai":
28
+ r = extractJsonSnippet(response.content.trim());
29
+ break;
30
+ case "gemini":
31
+ r = extractJsonSnippet(response.content.trim());
32
+ break;
33
+ case "ollama":
34
+ r = extractJsonSnippet(response);
35
+ break;
36
+ default:
37
+ break;
38
+ }
39
+
40
+ try {
41
+ return JSON.parse(r);
42
+ } catch (error) {
43
+ return r;
44
+ }
45
+ };
46
+ }
47
+
@@ -1,30 +0,0 @@
1
- import { PromptTemplate } from '@langchain/core/prompts';
2
-
3
- export class IdeAiPrompt
4
- {
5
- constructor() {
6
- }
7
-
8
- static generatePrompt = async (path, params) => {
9
-
10
- const template = await fetch(path).then(res => res.text());
11
-
12
- return await new PromptTemplate({
13
- template,
14
- inputVariables: Object.keys(params),
15
- }).format(params);
16
- };
17
-
18
- static getDevelopActionClassification = async (userPrompt) => {
19
-
20
- const template = await fetch('/prompts/meta/개발액션분류.txt').then(res => res.text());
21
-
22
- return await new PromptTemplate({
23
- template,
24
- inputVariables: ['userPrompt'],
25
- }).format({
26
- userPrompt: userPrompt,
27
- });
28
- };
29
- }
30
-