@retrivora-ai/rag-engine 1.0.0 → 1.0.1
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/dist/{ChromaDBProvider-APQVJ5F7.mjs → ChromaDBProvider-MIDOR4FW.mjs} +2 -2
- package/dist/{MilvusProvider-35US67MS.mjs → MilvusProvider-U7SKC27V.mjs} +2 -2
- package/dist/{MongoDBProvider-COVYZDP6.mjs → MongoDBProvider-Z6ALOVDN.mjs} +2 -2
- package/dist/{PineconeProvider-AWFJQDZL.mjs → PineconeProvider-QZNRKTN2.mjs} +2 -2
- package/dist/{PostgreSQLProvider-IEYRJ7XJ.mjs → PostgreSQLProvider-BMOETDZA.mjs} +1 -1
- package/dist/{QdrantProvider-M6TQYZRO.mjs → QdrantProvider-YNUNEOZH.mjs} +2 -2
- package/dist/{RedisProvider-3G5PBLZ4.mjs → RedisProvider-SR65SCKV.mjs} +2 -2
- package/dist/{SimpleGraphProvider-UK7DJW37.mjs → SimpleGraphProvider-SLOXO4M7.mjs} +1 -1
- package/dist/{UniversalVectorProvider-FYQ3B2PW.mjs → UniversalVectorProvider-IN67OS56.mjs} +3 -3
- package/dist/{WeaviateProvider-ITHO36IL.mjs → WeaviateProvider-5FWDFITI.mjs} +2 -2
- package/dist/{chunk-4A47RCG2.mjs → chunk-3DSHW676.mjs} +1 -1
- package/dist/{chunk-P4HAQ7KB.mjs → chunk-5W2YWFT3.mjs} +75 -13
- package/dist/{chunk-NXUCKY5L.mjs → chunk-5YGUXK7Z.mjs} +1 -1
- package/dist/{chunk-7SOSCZGS.mjs → chunk-CD6TSNL4.mjs} +1 -1
- package/dist/{chunk-WGSZNY3X.mjs → chunk-CFVEZTBJ.mjs} +1 -1
- package/dist/{chunk-U6KHVZLF.mjs → chunk-LR3VMDVK.mjs} +2 -2
- package/dist/{chunk-OOQXNLXD.mjs → chunk-M6JSPGAR.mjs} +1 -1
- package/dist/{chunk-TYHTZIDP.mjs → chunk-U55XRW3U.mjs} +1 -1
- package/dist/{chunk-ZNBKHNJ4.mjs → chunk-VUQJVIJT.mjs} +1 -1
- package/dist/{chunk-QMIKLALV.mjs → chunk-X4TOT24V.mjs} +32 -0
- package/dist/{chunk-67AJ6SMD.mjs → chunk-YLTMFW4M.mjs} +1 -1
- package/dist/handlers/index.d.mts +1 -1
- package/dist/handlers/index.d.ts +1 -1
- package/dist/handlers/index.js +93 -0
- package/dist/handlers/index.mjs +5 -3
- package/dist/{index-CrGMwXfO.d.ts → index-B2mutkgp.d.ts} +5 -1
- package/dist/{index-v669iV-k.d.mts → index-Bjy0es5a.d.mts} +5 -1
- package/dist/index.d.mts +13 -7
- package/dist/index.d.ts +13 -7
- package/dist/index.js +253 -363
- package/dist/index.mjs +243 -353
- package/dist/server.d.mts +6 -2
- package/dist/server.d.ts +6 -2
- package/dist/server.js +42 -0
- package/dist/server.mjs +11 -11
- package/package.json +1 -1
- package/src/core/VectorPlugin.ts +7 -0
- package/src/handlers/index.ts +45 -0
- package/src/rag/EntityExtractor.ts +3 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UniversalVectorProvider
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-LR3VMDVK.mjs";
|
|
4
|
+
import "./chunk-YLTMFW4M.mjs";
|
|
5
5
|
import "./chunk-IMP6FUCY.mjs";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-X4TOT24V.mjs";
|
|
7
7
|
export {
|
|
8
8
|
UniversalVectorProvider
|
|
9
9
|
};
|
|
@@ -2,14 +2,15 @@ import {
|
|
|
2
2
|
buildPayload,
|
|
3
3
|
mergeDefined,
|
|
4
4
|
resolvePath
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YLTMFW4M.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__asyncGenerator,
|
|
8
8
|
__await,
|
|
9
9
|
__forAwait,
|
|
10
10
|
__spreadProps,
|
|
11
|
-
__spreadValues
|
|
12
|
-
|
|
11
|
+
__spreadValues,
|
|
12
|
+
__yieldStar
|
|
13
|
+
} from "./chunk-X4TOT24V.mjs";
|
|
13
14
|
|
|
14
15
|
// src/handlers/index.ts
|
|
15
16
|
import { NextResponse } from "next/server";
|
|
@@ -1078,41 +1079,41 @@ var ProviderRegistry = class {
|
|
|
1078
1079
|
if (this.vectorProviders[provider]) return this.vectorProviders[provider];
|
|
1079
1080
|
switch (provider) {
|
|
1080
1081
|
case "pinecone": {
|
|
1081
|
-
const { PineconeProvider } = await import("./PineconeProvider-
|
|
1082
|
+
const { PineconeProvider } = await import("./PineconeProvider-QZNRKTN2.mjs");
|
|
1082
1083
|
return PineconeProvider;
|
|
1083
1084
|
}
|
|
1084
1085
|
case "pgvector":
|
|
1085
1086
|
case "postgresql": {
|
|
1086
|
-
const { PostgreSQLProvider } = await import("./PostgreSQLProvider-
|
|
1087
|
+
const { PostgreSQLProvider } = await import("./PostgreSQLProvider-BMOETDZA.mjs");
|
|
1087
1088
|
return PostgreSQLProvider;
|
|
1088
1089
|
}
|
|
1089
1090
|
case "mongodb": {
|
|
1090
|
-
const { MongoDBProvider } = await import("./MongoDBProvider-
|
|
1091
|
+
const { MongoDBProvider } = await import("./MongoDBProvider-Z6ALOVDN.mjs");
|
|
1091
1092
|
return MongoDBProvider;
|
|
1092
1093
|
}
|
|
1093
1094
|
case "milvus": {
|
|
1094
|
-
const { MilvusProvider } = await import("./MilvusProvider-
|
|
1095
|
+
const { MilvusProvider } = await import("./MilvusProvider-U7SKC27V.mjs");
|
|
1095
1096
|
return MilvusProvider;
|
|
1096
1097
|
}
|
|
1097
1098
|
case "qdrant": {
|
|
1098
|
-
const { QdrantProvider } = await import("./QdrantProvider-
|
|
1099
|
+
const { QdrantProvider } = await import("./QdrantProvider-YNUNEOZH.mjs");
|
|
1099
1100
|
return QdrantProvider;
|
|
1100
1101
|
}
|
|
1101
1102
|
case "chromadb": {
|
|
1102
|
-
const { ChromaDBProvider } = await import("./ChromaDBProvider-
|
|
1103
|
+
const { ChromaDBProvider } = await import("./ChromaDBProvider-MIDOR4FW.mjs");
|
|
1103
1104
|
return ChromaDBProvider;
|
|
1104
1105
|
}
|
|
1105
1106
|
case "redis": {
|
|
1106
|
-
const { RedisProvider } = await import("./RedisProvider-
|
|
1107
|
+
const { RedisProvider } = await import("./RedisProvider-SR65SCKV.mjs");
|
|
1107
1108
|
return RedisProvider;
|
|
1108
1109
|
}
|
|
1109
1110
|
case "weaviate": {
|
|
1110
|
-
const { WeaviateProvider } = await import("./WeaviateProvider-
|
|
1111
|
+
const { WeaviateProvider } = await import("./WeaviateProvider-5FWDFITI.mjs");
|
|
1111
1112
|
return WeaviateProvider;
|
|
1112
1113
|
}
|
|
1113
1114
|
case "universal_rest":
|
|
1114
1115
|
case "rest": {
|
|
1115
|
-
const { UniversalVectorProvider } = await import("./UniversalVectorProvider-
|
|
1116
|
+
const { UniversalVectorProvider } = await import("./UniversalVectorProvider-IN67OS56.mjs");
|
|
1116
1117
|
return UniversalVectorProvider;
|
|
1117
1118
|
}
|
|
1118
1119
|
default:
|
|
@@ -1130,7 +1131,7 @@ var ProviderRegistry = class {
|
|
|
1130
1131
|
}
|
|
1131
1132
|
switch (provider) {
|
|
1132
1133
|
case "simple": {
|
|
1133
|
-
const { SimpleGraphProvider } = await import("./SimpleGraphProvider-
|
|
1134
|
+
const { SimpleGraphProvider } = await import("./SimpleGraphProvider-SLOXO4M7.mjs");
|
|
1134
1135
|
return new SimpleGraphProvider(config);
|
|
1135
1136
|
}
|
|
1136
1137
|
default:
|
|
@@ -1393,6 +1394,9 @@ Extract entities and relationships from the following text.
|
|
|
1393
1394
|
Format the output as JSON with two keys: "nodes" (array of {id, label, properties}) and "edges" (array of {source, target, type, properties}).
|
|
1394
1395
|
Use the same ID for the same entity.
|
|
1395
1396
|
|
|
1397
|
+
IMPORTANT: Ensure all property values are valid JSON types (strings, numbers, booleans, or null).
|
|
1398
|
+
DO NOT include mathematical expressions like "4.5/5" as numbers; use strings instead.
|
|
1399
|
+
|
|
1396
1400
|
Text:
|
|
1397
1401
|
"${text}"
|
|
1398
1402
|
|
|
@@ -2407,6 +2411,14 @@ var VectorPlugin = class {
|
|
|
2407
2411
|
async chat(message, history = [], namespace) {
|
|
2408
2412
|
return this.pipeline.ask(message, history, namespace);
|
|
2409
2413
|
}
|
|
2414
|
+
/**
|
|
2415
|
+
* Run a streaming chat query.
|
|
2416
|
+
*/
|
|
2417
|
+
chatStream(_0) {
|
|
2418
|
+
return __asyncGenerator(this, arguments, function* (message, history = [], namespace) {
|
|
2419
|
+
yield* __yieldStar(this.pipeline.askStream(message, history, namespace));
|
|
2420
|
+
});
|
|
2421
|
+
}
|
|
2410
2422
|
/**
|
|
2411
2423
|
* Ingest documents into the vector database.
|
|
2412
2424
|
*/
|
|
@@ -2492,6 +2504,55 @@ function createChatHandler(config) {
|
|
|
2492
2504
|
}
|
|
2493
2505
|
};
|
|
2494
2506
|
}
|
|
2507
|
+
function createStreamHandler(config) {
|
|
2508
|
+
const plugin = new VectorPlugin(config);
|
|
2509
|
+
return async function POST(req) {
|
|
2510
|
+
try {
|
|
2511
|
+
const { message, history = [], namespace } = await req.json();
|
|
2512
|
+
const encoder = new TextEncoder();
|
|
2513
|
+
const stream = new ReadableStream({
|
|
2514
|
+
async start(controller) {
|
|
2515
|
+
const pipelineStream = plugin.chatStream(message, history, namespace);
|
|
2516
|
+
try {
|
|
2517
|
+
for (var iter = __forAwait(pipelineStream), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
|
|
2518
|
+
const chunk = temp.value;
|
|
2519
|
+
if (typeof chunk === "string") {
|
|
2520
|
+
controller.enqueue(encoder.encode(chunk));
|
|
2521
|
+
} else {
|
|
2522
|
+
controller.enqueue(encoder.encode(`
|
|
2523
|
+
|
|
2524
|
+
__METADATA__${JSON.stringify(chunk)}`));
|
|
2525
|
+
}
|
|
2526
|
+
}
|
|
2527
|
+
} catch (temp) {
|
|
2528
|
+
error = [temp];
|
|
2529
|
+
} finally {
|
|
2530
|
+
try {
|
|
2531
|
+
more && (temp = iter.return) && await temp.call(iter);
|
|
2532
|
+
} finally {
|
|
2533
|
+
if (error)
|
|
2534
|
+
throw error[0];
|
|
2535
|
+
}
|
|
2536
|
+
}
|
|
2537
|
+
controller.close();
|
|
2538
|
+
}
|
|
2539
|
+
});
|
|
2540
|
+
return new Response(stream, {
|
|
2541
|
+
headers: {
|
|
2542
|
+
"Content-Type": "text/event-stream",
|
|
2543
|
+
"Cache-Control": "no-cache",
|
|
2544
|
+
"Connection": "keep-alive"
|
|
2545
|
+
}
|
|
2546
|
+
});
|
|
2547
|
+
} catch (err) {
|
|
2548
|
+
const message = err instanceof Error ? err.message : "Internal server error";
|
|
2549
|
+
return new Response(JSON.stringify({ error: message }), {
|
|
2550
|
+
status: 500,
|
|
2551
|
+
headers: { "Content-Type": "application/json" }
|
|
2552
|
+
});
|
|
2553
|
+
}
|
|
2554
|
+
};
|
|
2555
|
+
}
|
|
2495
2556
|
function createIngestHandler(config) {
|
|
2496
2557
|
const plugin = new VectorPlugin(config);
|
|
2497
2558
|
return async function POST(req) {
|
|
@@ -2581,6 +2642,7 @@ export {
|
|
|
2581
2642
|
VectorPlugin,
|
|
2582
2643
|
DocumentParser,
|
|
2583
2644
|
createChatHandler,
|
|
2645
|
+
createStreamHandler,
|
|
2584
2646
|
createIngestHandler,
|
|
2585
2647
|
createHealthHandler,
|
|
2586
2648
|
createUploadHandler
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildPayload,
|
|
3
3
|
resolvePath
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YLTMFW4M.mjs";
|
|
5
5
|
import {
|
|
6
6
|
BaseVectorProvider
|
|
7
7
|
} from "./chunk-IMP6FUCY.mjs";
|
|
8
8
|
import {
|
|
9
9
|
__spreadValues
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-X4TOT24V.mjs";
|
|
11
11
|
|
|
12
12
|
// src/providers/vectordb/UniversalVectorProvider.ts
|
|
13
13
|
import axios from "axios";
|
|
@@ -5,6 +5,9 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
6
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
7
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
8
11
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
12
|
var __spreadValues = (a, b) => {
|
|
10
13
|
for (var prop in b || (b = {}))
|
|
@@ -45,6 +48,34 @@ var __asyncGenerator = (__this, __arguments, generator) => {
|
|
|
45
48
|
}, method = (k, call, wait, clear) => it[k] = (x) => (call = new Promise((yes, no, run) => (run = () => resume(k, x, yes, no), q ? q.then(run) : run())), clear = () => q === wait && (q = 0), q = wait = call.then(clear, clear), call), q, it = {};
|
|
46
49
|
return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
|
|
47
50
|
};
|
|
51
|
+
var __yieldStar = (value) => {
|
|
52
|
+
var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
|
|
53
|
+
if (obj == null) {
|
|
54
|
+
obj = value[__knownSymbol("iterator")]();
|
|
55
|
+
method = (k) => it[k] = (x) => obj[k](x);
|
|
56
|
+
} else {
|
|
57
|
+
obj = obj.call(value);
|
|
58
|
+
method = (k) => it[k] = (v) => {
|
|
59
|
+
if (isAwait) {
|
|
60
|
+
isAwait = false;
|
|
61
|
+
if (k === "throw") throw v;
|
|
62
|
+
return v;
|
|
63
|
+
}
|
|
64
|
+
isAwait = true;
|
|
65
|
+
return {
|
|
66
|
+
done: false,
|
|
67
|
+
value: new __await(new Promise((resolve) => {
|
|
68
|
+
var x = obj[k](v);
|
|
69
|
+
if (!(x instanceof Object)) __typeError("Object expected");
|
|
70
|
+
resolve(x);
|
|
71
|
+
}), 1)
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
|
|
76
|
+
throw x;
|
|
77
|
+
}, "return" in obj && method("return"), it;
|
|
78
|
+
};
|
|
48
79
|
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
49
80
|
|
|
50
81
|
export {
|
|
@@ -53,5 +84,6 @@ export {
|
|
|
53
84
|
__objRest,
|
|
54
85
|
__await,
|
|
55
86
|
__asyncGenerator,
|
|
87
|
+
__yieldStar,
|
|
56
88
|
__forAwait
|
|
57
89
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '../RagConfig-DRJO4hGU.mjs';
|
|
2
|
-
export { c as createChatHandler, b as createHealthHandler, d as createIngestHandler, e as createUploadHandler } from '../index-
|
|
2
|
+
export { c as createChatHandler, b as createHealthHandler, d as createIngestHandler, f as createStreamHandler, e as createUploadHandler } from '../index-Bjy0es5a.mjs';
|
|
3
3
|
import 'next/server';
|
package/dist/handlers/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '../RagConfig-DRJO4hGU.js';
|
|
2
|
-
export { c as createChatHandler, b as createHealthHandler, d as createIngestHandler, e as createUploadHandler } from '../index-
|
|
2
|
+
export { c as createChatHandler, b as createHealthHandler, d as createIngestHandler, f as createStreamHandler, e as createUploadHandler } from '../index-B2mutkgp.js';
|
|
3
3
|
import 'next/server';
|
package/dist/handlers/index.js
CHANGED
|
@@ -10,6 +10,9 @@ var __getProtoOf = Object.getPrototypeOf;
|
|
|
10
10
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
11
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
12
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
|
|
13
|
+
var __typeError = (msg) => {
|
|
14
|
+
throw TypeError(msg);
|
|
15
|
+
};
|
|
13
16
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
17
|
var __spreadValues = (a, b) => {
|
|
15
18
|
for (var prop in b || (b = {}))
|
|
@@ -62,6 +65,34 @@ var __asyncGenerator = (__this, __arguments, generator) => {
|
|
|
62
65
|
}, method = (k, call, wait, clear) => it[k] = (x) => (call = new Promise((yes, no, run) => (run = () => resume(k, x, yes, no), q ? q.then(run) : run())), clear = () => q === wait && (q = 0), q = wait = call.then(clear, clear), call), q, it = {};
|
|
63
66
|
return generator = generator.apply(__this, __arguments), it[__knownSymbol("asyncIterator")] = () => it, method("next"), method("throw"), method("return"), it;
|
|
64
67
|
};
|
|
68
|
+
var __yieldStar = (value) => {
|
|
69
|
+
var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
|
|
70
|
+
if (obj == null) {
|
|
71
|
+
obj = value[__knownSymbol("iterator")]();
|
|
72
|
+
method = (k) => it[k] = (x) => obj[k](x);
|
|
73
|
+
} else {
|
|
74
|
+
obj = obj.call(value);
|
|
75
|
+
method = (k) => it[k] = (v) => {
|
|
76
|
+
if (isAwait) {
|
|
77
|
+
isAwait = false;
|
|
78
|
+
if (k === "throw") throw v;
|
|
79
|
+
return v;
|
|
80
|
+
}
|
|
81
|
+
isAwait = true;
|
|
82
|
+
return {
|
|
83
|
+
done: false,
|
|
84
|
+
value: new __await(new Promise((resolve) => {
|
|
85
|
+
var x = obj[k](v);
|
|
86
|
+
if (!(x instanceof Object)) __typeError("Object expected");
|
|
87
|
+
resolve(x);
|
|
88
|
+
}), 1)
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
|
|
93
|
+
throw x;
|
|
94
|
+
}, "return" in obj && method("return"), it;
|
|
95
|
+
};
|
|
65
96
|
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
66
97
|
|
|
67
98
|
// src/utils/templateUtils.ts
|
|
@@ -1476,6 +1507,7 @@ __export(handlers_exports, {
|
|
|
1476
1507
|
createChatHandler: () => createChatHandler,
|
|
1477
1508
|
createHealthHandler: () => createHealthHandler,
|
|
1478
1509
|
createIngestHandler: () => createIngestHandler,
|
|
1510
|
+
createStreamHandler: () => createStreamHandler,
|
|
1479
1511
|
createUploadHandler: () => createUploadHandler
|
|
1480
1512
|
});
|
|
1481
1513
|
module.exports = __toCommonJS(handlers_exports);
|
|
@@ -2825,6 +2857,9 @@ Extract entities and relationships from the following text.
|
|
|
2825
2857
|
Format the output as JSON with two keys: "nodes" (array of {id, label, properties}) and "edges" (array of {source, target, type, properties}).
|
|
2826
2858
|
Use the same ID for the same entity.
|
|
2827
2859
|
|
|
2860
|
+
IMPORTANT: Ensure all property values are valid JSON types (strings, numbers, booleans, or null).
|
|
2861
|
+
DO NOT include mathematical expressions like "4.5/5" as numbers; use strings instead.
|
|
2862
|
+
|
|
2828
2863
|
Text:
|
|
2829
2864
|
"${text}"
|
|
2830
2865
|
|
|
@@ -3833,6 +3868,14 @@ var VectorPlugin = class {
|
|
|
3833
3868
|
async chat(message, history = [], namespace) {
|
|
3834
3869
|
return this.pipeline.ask(message, history, namespace);
|
|
3835
3870
|
}
|
|
3871
|
+
/**
|
|
3872
|
+
* Run a streaming chat query.
|
|
3873
|
+
*/
|
|
3874
|
+
chatStream(_0) {
|
|
3875
|
+
return __asyncGenerator(this, arguments, function* (message, history = [], namespace) {
|
|
3876
|
+
yield* __yieldStar(this.pipeline.askStream(message, history, namespace));
|
|
3877
|
+
});
|
|
3878
|
+
}
|
|
3836
3879
|
/**
|
|
3837
3880
|
* Ingest documents into the vector database.
|
|
3838
3881
|
*/
|
|
@@ -3918,6 +3961,55 @@ function createChatHandler(config) {
|
|
|
3918
3961
|
}
|
|
3919
3962
|
};
|
|
3920
3963
|
}
|
|
3964
|
+
function createStreamHandler(config) {
|
|
3965
|
+
const plugin = new VectorPlugin(config);
|
|
3966
|
+
return async function POST(req) {
|
|
3967
|
+
try {
|
|
3968
|
+
const { message, history = [], namespace } = await req.json();
|
|
3969
|
+
const encoder = new TextEncoder();
|
|
3970
|
+
const stream = new ReadableStream({
|
|
3971
|
+
async start(controller) {
|
|
3972
|
+
const pipelineStream = plugin.chatStream(message, history, namespace);
|
|
3973
|
+
try {
|
|
3974
|
+
for (var iter = __forAwait(pipelineStream), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
|
|
3975
|
+
const chunk = temp.value;
|
|
3976
|
+
if (typeof chunk === "string") {
|
|
3977
|
+
controller.enqueue(encoder.encode(chunk));
|
|
3978
|
+
} else {
|
|
3979
|
+
controller.enqueue(encoder.encode(`
|
|
3980
|
+
|
|
3981
|
+
__METADATA__${JSON.stringify(chunk)}`));
|
|
3982
|
+
}
|
|
3983
|
+
}
|
|
3984
|
+
} catch (temp) {
|
|
3985
|
+
error = [temp];
|
|
3986
|
+
} finally {
|
|
3987
|
+
try {
|
|
3988
|
+
more && (temp = iter.return) && await temp.call(iter);
|
|
3989
|
+
} finally {
|
|
3990
|
+
if (error)
|
|
3991
|
+
throw error[0];
|
|
3992
|
+
}
|
|
3993
|
+
}
|
|
3994
|
+
controller.close();
|
|
3995
|
+
}
|
|
3996
|
+
});
|
|
3997
|
+
return new Response(stream, {
|
|
3998
|
+
headers: {
|
|
3999
|
+
"Content-Type": "text/event-stream",
|
|
4000
|
+
"Cache-Control": "no-cache",
|
|
4001
|
+
"Connection": "keep-alive"
|
|
4002
|
+
}
|
|
4003
|
+
});
|
|
4004
|
+
} catch (err) {
|
|
4005
|
+
const message = err instanceof Error ? err.message : "Internal server error";
|
|
4006
|
+
return new Response(JSON.stringify({ error: message }), {
|
|
4007
|
+
status: 500,
|
|
4008
|
+
headers: { "Content-Type": "application/json" }
|
|
4009
|
+
});
|
|
4010
|
+
}
|
|
4011
|
+
};
|
|
4012
|
+
}
|
|
3921
4013
|
function createIngestHandler(config) {
|
|
3922
4014
|
const plugin = new VectorPlugin(config);
|
|
3923
4015
|
return async function POST(req) {
|
|
@@ -3990,5 +4082,6 @@ function createUploadHandler(config) {
|
|
|
3990
4082
|
createChatHandler,
|
|
3991
4083
|
createHealthHandler,
|
|
3992
4084
|
createIngestHandler,
|
|
4085
|
+
createStreamHandler,
|
|
3993
4086
|
createUploadHandler
|
|
3994
4087
|
});
|
package/dist/handlers/index.mjs
CHANGED
|
@@ -2,13 +2,15 @@ import {
|
|
|
2
2
|
createChatHandler,
|
|
3
3
|
createHealthHandler,
|
|
4
4
|
createIngestHandler,
|
|
5
|
+
createStreamHandler,
|
|
5
6
|
createUploadHandler
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-5W2YWFT3.mjs";
|
|
8
|
+
import "../chunk-YLTMFW4M.mjs";
|
|
9
|
+
import "../chunk-X4TOT24V.mjs";
|
|
9
10
|
export {
|
|
10
11
|
createChatHandler,
|
|
11
12
|
createHealthHandler,
|
|
12
13
|
createIngestHandler,
|
|
14
|
+
createStreamHandler,
|
|
13
15
|
createUploadHandler
|
|
14
16
|
};
|
|
@@ -71,6 +71,10 @@ interface IProviderHealthChecker {
|
|
|
71
71
|
declare function createChatHandler(config?: Partial<RagConfig>): (req: NextRequest) => Promise<NextResponse<{
|
|
72
72
|
error: string;
|
|
73
73
|
}> | NextResponse<ChatResponse>>;
|
|
74
|
+
/**
|
|
75
|
+
* createStreamHandler — factory that returns a streaming Next.js App Router POST handler
|
|
76
|
+
*/
|
|
77
|
+
declare function createStreamHandler(config?: Partial<RagConfig>): (req: NextRequest) => Promise<Response>;
|
|
74
78
|
/**
|
|
75
79
|
* createIngestHandler — factory for the document ingestion endpoint.
|
|
76
80
|
*/
|
|
@@ -109,4 +113,4 @@ declare function createUploadHandler(config?: Partial<RagConfig>): (req: NextReq
|
|
|
109
113
|
}[];
|
|
110
114
|
}>>;
|
|
111
115
|
|
|
112
|
-
export { ConfigValidator as C, type HealthCheckResult as H, type IProviderValidator as I, type ValidationError as V, type IProviderHealthChecker as a, createHealthHandler as b, createChatHandler as c, createIngestHandler as d, createUploadHandler as e };
|
|
116
|
+
export { ConfigValidator as C, type HealthCheckResult as H, type IProviderValidator as I, type ValidationError as V, type IProviderHealthChecker as a, createHealthHandler as b, createChatHandler as c, createIngestHandler as d, createUploadHandler as e, createStreamHandler as f };
|
|
@@ -71,6 +71,10 @@ interface IProviderHealthChecker {
|
|
|
71
71
|
declare function createChatHandler(config?: Partial<RagConfig>): (req: NextRequest) => Promise<NextResponse<{
|
|
72
72
|
error: string;
|
|
73
73
|
}> | NextResponse<ChatResponse>>;
|
|
74
|
+
/**
|
|
75
|
+
* createStreamHandler — factory that returns a streaming Next.js App Router POST handler
|
|
76
|
+
*/
|
|
77
|
+
declare function createStreamHandler(config?: Partial<RagConfig>): (req: NextRequest) => Promise<Response>;
|
|
74
78
|
/**
|
|
75
79
|
* createIngestHandler — factory for the document ingestion endpoint.
|
|
76
80
|
*/
|
|
@@ -109,4 +113,4 @@ declare function createUploadHandler(config?: Partial<RagConfig>): (req: NextReq
|
|
|
109
113
|
}[];
|
|
110
114
|
}>>;
|
|
111
115
|
|
|
112
|
-
export { ConfigValidator as C, type HealthCheckResult as H, type IProviderValidator as I, type ValidationError as V, type IProviderHealthChecker as a, createHealthHandler as b, createChatHandler as c, createIngestHandler as d, createUploadHandler as e };
|
|
116
|
+
export { ConfigValidator as C, type HealthCheckResult as H, type IProviderValidator as I, type ValidationError as V, type IProviderHealthChecker as a, createHealthHandler as b, createChatHandler as c, createIngestHandler as d, createUploadHandler as e, createStreamHandler as f };
|