Skip to content

Commit e609dd3

Browse files
committed
not working
1 parent 7d9ea89 commit e609dd3

File tree

3 files changed

+56
-40
lines changed

3 files changed

+56
-40
lines changed

package-lock.json

Lines changed: 8 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,29 @@ import {chatSummary} from './modules/history'
3030
* @description This class provides a unified interface to interact with various modules.
3131
*/
3232
class Codebolt { // Extend EventEmitter
33+
private static instance: Codebolt | null = null;
34+
private wsManager: cbws;
35+
private vectorDB: vectorDB;
36+
3337

3438
/**
3539
* @constructor
3640
* @description Initializes the websocket connection.
3741
*/
3842
constructor() {
39-
40-
this.websocket = cbws.getWebsocket;
43+
this.wsManager = new cbws();
44+
this.vectordb = new vectorDB(this.wsManager);
45+
// this.websocket = cbws.getWebsocket;
46+
// ... initialize other modules ...
4147
}
4248

49+
public static getInstance(): Codebolt {
50+
if (!Codebolt.instance) {
51+
Codebolt.instance = new Codebolt();
52+
}
53+
return Codebolt.instance;
54+
}
55+
4356
/**
4457
* @method waitForConnection
4558
* @description Waits for the WebSocket connection to open.
@@ -68,6 +81,14 @@ class Codebolt { // Extend EventEmitter
6881
});
6982
}
7083

84+
async connect() {
85+
await this.wsManager.connect();
86+
}
87+
88+
async disconnect() {
89+
await this.wsManager.disconnect();
90+
}
91+
7192
websocket: WebSocket | null = null;
7293
fs = cbfs;
7394
git = git;
@@ -93,6 +114,6 @@ class Codebolt { // Extend EventEmitter
93114
chatSummary=chatSummary
94115
}
95116

96-
export default new Codebolt();
117+
export default Codebolt.getInstance();
97118

98119
// module.exports = new Codebolt();

src/modules/vectordb.ts

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,36 @@
11
import cbws from './websocket';
22
import { AddVectorItemResponse,GetVectorResponse,QueryVectorItemResponse } from '@codebolt/types';
3-
const VectorDB = {
3+
class VectorDB {
4+
private wsManager: cbws;
5+
private ws: WebSocket;
6+
7+
constructor(wsManager: cbws) {
8+
this.wsManager = wsManager;
9+
this.ws = this.wsManager.getWebsocket();
10+
}
411
/**
512
* Retrieves a vector from the vector database based on the provided key.
613
*
714
* @param {string} key - The key of the vector to retrieve.
815
* @returns {Promise<GetVectorResponse>} A promise that resolves with the retrieved vector.
916
*/
10-
getVector: async (key: string): Promise<GetVectorResponse> => {
17+
getVector = async (key: string): Promise<GetVectorResponse> => {
1118
return new Promise((resolve, reject) => {
12-
cbws.getWebsocket.send(JSON.stringify({
19+
this.ws.send(JSON.stringify({
1320
"type":"vectordbEvent",
1421
"action": "getVector",
1522
"message": {
1623
item: key
1724
},
1825
}));
19-
cbws.getWebsocket.on('message', (data: string) => {
26+
this.ws.on('message', (data: string) => {
2027
const response = JSON.parse(data);
2128
if (response.type === "getVectorResponse") {
2229
resolve(response);
2330
}
2431
});
2532
});
26-
},
33+
}
2734

2835
/**
2936
* Adds a new vector item to the vector database.
@@ -32,71 +39,71 @@ const VectorDB = {
3239
* @param {any} item - The item to add to the vector.
3340
* @returns {Promise<AddVectorItemResponse>} A promise that resolves when the item is successfully added.
3441
*/
35-
addVectorItem: async ( item: any): Promise<AddVectorItemResponse> => {
42+
addVectorItem = async ( item: any): Promise<AddVectorItemResponse> => {
3643
return new Promise((resolve, reject) => {
37-
cbws.getWebsocket.send(JSON.stringify({
44+
this.ws.send(JSON.stringify({
3845
"type":"vectordbEvent",
3946
"action": "addVectorItem",
4047
"message": {
4148
item: item
4249
},
4350
}));
44-
cbws.getWebsocket.on('message', (data: string) => {
51+
this.ws.on('message', (data: string) => {
4552
const response = JSON.parse(data);
4653
if (response.type === "addVectorItemResponse") {
4754
resolve(response);
4855
}
4956
});
5057
});
51-
},
58+
}
5259

5360
/**
5461
* Queries a vector item from the vector database based on the provided key.
5562
*
5663
* @param {string} key - The key of the vector to query the item from.
5764
* @returns {Promise<QueryVectorItemResponse>} A promise that resolves with the queried vector item.
5865
*/
59-
queryVectorItem: async (key: string): Promise<QueryVectorItemResponse> => {
66+
queryVectorItem = async (key: string): Promise<QueryVectorItemResponse> => {
6067
return new Promise((resolve, reject) => {
61-
cbws.getWebsocket.send(JSON.stringify({
68+
this.ws.send(JSON.stringify({
6269
"type":"vectordbEvent",
6370
"action": "queryVectorItem",
6471
"message": {
6572
item: key
6673
},
6774
}));
68-
cbws.getWebsocket.on('message', (data: string) => {
75+
this.ws.on('message', (data: string) => {
6976
const response = JSON.parse(data);
7077
if (response.type === "qeryVectorItemResponse") {
7178
resolve(response);
7279
}
7380
});
7481
});
75-
},
82+
}
7683
/**
7784
* Queries a vector item from the vector database based on the provided key.
7885
*
7986
* @param {string} key - The key of the vector to query the item from.
8087
* @returns {Promise<QueryVectorItemResponse>} A promise that resolves with the queried vector item.
8188
*/
82-
queryVectorItems: async (items: [],dbPath:string): Promise<QueryVectorItemResponse> => {
89+
queryVectorItems = async (items: [],dbPath:string): Promise<QueryVectorItemResponse> => {
8390
return new Promise((resolve, reject) => {
84-
cbws.getWebsocket.send(JSON.stringify({
91+
this.ws.send(JSON.stringify({
8592
"type":"vectordbEvent",
8693
"action": "queryVectorItems",
8794
"message": {
8895
items,
8996
dbPath
9097
},
9198
}));
92-
cbws.getWebsocket.on('message', (data: string) => {
99+
this.ws.on('message', (data: string) => {
93100
const response = JSON.parse(data);
94101
if (response.type === "qeryVectorItemsResponse") {
95102
resolve(response);
96103
}
97104
});
98105
});
99-
},
106+
}
100107
};
101108

102109
export default VectorDB;

0 commit comments

Comments
 (0)