Skip to content

Commit 29c9812

Browse files
committed
bugfix/remove potentially broken packages and redundancies
1 parent f69070e commit 29c9812

File tree

7 files changed

+166
-1154
lines changed

7 files changed

+166
-1154
lines changed

babel.config.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

package.json

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
"version": "1.1.3",
44
"private": true,
55
"types": [
6-
"jest",
7-
"node"
6+
"jest"
87
],
98
"scripts": {
109
"dev": "vite & ts-node server/app.ts",
@@ -22,9 +21,7 @@
2221
"@element-plus/icons-vue": "^2.1.0",
2322
"@fontsource/roboto": "^5.0.0",
2423
"@highlightjs/vue-plugin": "^2.1.0",
25-
"@types/jest": "^29.5.14",
26-
"@types/supertest": "^6.0.2",
27-
"ai": "^4.1.11",
24+
"ai": "^4.1.43",
2825
"axios": "^1.7.4",
2926
"cheerio": "^1.0.0",
3027
"class-transformer": "^0.5.1",
@@ -34,12 +31,10 @@
3431
"element-plus": "^2.3.9",
3532
"express": "^4.21.0",
3633
"express-session": "^1.17.3",
37-
"got": "^14.4.5",
3834
"highlight.js": "^11.8.0",
3935
"json-editor-vue": "^0.17.3",
4036
"jsonwebtoken": "^9.0.2",
4137
"markdown-it": "^14.1.0",
42-
"node-fetch": "v2.6",
4338
"oauth": "^0.10.0",
4439
"obp-typescript": "^1.0.36",
4540
"pinia": "^2.0.37",
@@ -49,7 +44,6 @@
4944
"routing-controllers": "^0.10.4",
5045
"socket.io": "^4.7.5",
5146
"socket.io-client": "^4.7.5",
52-
"supertest": "^7.0.0",
5347
"typedi": "^0.10.0",
5448
"uuid": "^9.0.1",
5549
"vanilla-jsoneditor": "^2.3.3",
@@ -60,22 +54,18 @@
6054
"ws": "^8.18.0"
6155
},
6256
"devDependencies": {
63-
"@babel/core": "^7.26.8",
64-
"@babel/preset-env": "^7.26.8",
65-
"@babel/preset-typescript": "^7.26.0",
6657
"@rushstack/eslint-patch": "^1.4.0",
67-
"@types/express": "^5.0.0",
58+
"@types/jest": "^29.5.14",
6859
"@types/jsdom": "^21.1.7",
6960
"@types/jsonwebtoken": "^9.0.6",
7061
"@types/markdown-it": "^14.1.1",
71-
"@types/node": "^22.13.4",
62+
"@types/node": "^20.5.7",
7263
"@vitejs/plugin-vue": "^4.3.0",
7364
"@vitejs/plugin-vue-jsx": "^3.1.0",
7465
"@vue/eslint-config-prettier": "^9.0.0",
7566
"@vue/eslint-config-typescript": "^14.0.0",
7667
"@vue/test-utils": "^2.4.0",
7768
"@vue/tsconfig": "^0.1.3",
78-
"babel-jest": "^29.7.0",
7969
"eslint": "^9.15.0",
8070
"eslint-plugin-vue": "^9.12.0",
8171
"jest": "^29.7.0",
@@ -84,6 +74,7 @@
8474
"npm-run-all2": "^7.0.1",
8575
"prettier": "^3.0.1",
8676
"superagent": "^9.0.0",
77+
"supertest": "^7.0.0",
8778
"ts-jest": "^29.2.5",
8879
"ts-node": "^10.9.1",
8980
"typescript": "~5.2.2",

server/controllers/OpeyIIController.ts

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,20 @@ export class OpeyController {
6868
}
6969
})
7070

71-
let nodeStream: NodeJS.ReadableStream | null = null
71+
let stream: ReadableStream | null = null
7272

7373
try {
7474
// Read stream from OpeyClientService
75-
nodeStream = await this.opeyClientService.stream(user_input)
76-
console.debug(`Stream received readable: ${nodeStream.readable}`)
75+
stream = await this.opeyClientService.stream(user_input)
76+
console.debug(`Stream received readable: ${stream}`)
7777

7878
} catch (error) {
7979
console.error("Error reading stream: ", error)
8080
response.status(500).json({ error: 'Internal Server Error' })
8181
return
8282
}
8383

84-
if (!nodeStream || !nodeStream.readable) {
84+
if (!stream) {
8585
console.error("Stream is not readable")
8686
response.status(500).json({ error: 'Internal Server Error' })
8787
return
@@ -99,23 +99,22 @@ export class OpeyController {
9999
response.setHeader('Connection', 'keep-alive')
100100

101101
let data: any[] = []
102+
103+
const streamReader = stream.getReader()
104+
console.log("Got stream reader: ", streamReader)
105+
106+
streamReader
107+
.read()
108+
.then(function processText({ done, value }) {
109+
if (done) {
110+
console.log("Stream done")
111+
return response.status(200).json(data)
112+
}
113+
console.log("Stream value: ", value)
114+
data.push(value)
115+
response.write(`data: ${value}\n\n`)
116+
})
102117

103-
nodeStream.on('data', (chunk) => {
104-
const bufferChunk = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
105-
data.push(bufferChunk);
106-
response.write(`data: ${chunk.toString()}\n\n`)
107-
})
108-
nodeStream.on('end', () => {
109-
//console.log('Stream ended')
110-
const totalData = Buffer.concat(data)
111-
response.write(totalData)
112-
response.end()
113-
})
114-
nodeStream.on('error', (error) => {
115-
console.error(error)
116-
response.write(`data: Error reading stream\n\n`)
117-
response.end()
118-
})
119118
} catch (error) {
120119
console.error("Error writing data: ", error)
121120
response.status(500).json({ error: 'Internal Server Error' })

server/services/OpeyClientService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { Service } from 'typedi'
22
import { UserInput, StreamInput, OpeyConfig, AuthConfig } from '../schema/OpeySchema'
3-
import fetch from 'node-fetch';
43

54
@Service()
65
export default class OpeyClientService {
@@ -47,7 +46,7 @@ export default class OpeyClientService {
4746
}
4847
}
4948

50-
async stream(user_input: UserInput): Promise<NodeJS.ReadableStream> {
49+
async stream(user_input: UserInput): Promise<ReadableStream> {
5150
// Endpoint to post a message to Opey and stream the response tokens/messages
5251
try {
5352

@@ -69,7 +68,7 @@ export default class OpeyClientService {
6968
if (!response.body) {
7069
throw new Error("No response body")
7170
}
72-
return response.body as NodeJS.ReadableStream
71+
return response.body
7372
}
7473
catch (error) {
7574
throw new Error(`Error streaming from Opey: ${error}`)
File renamed without changes.

tests/opey.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import app, { instance } from '../server/app';
22
import request from 'supertest';
3-
import fetch from 'node-fetch';
43
import http from 'node:http';
54
import { UserInput } from '../server/schema/OpeySchema';
65
import {v4 as uuidv4} from 'uuid';

0 commit comments

Comments
 (0)