@diegoaltoworks/chatter 0.56.0 → 0.58.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.
- package/dist/channels/index.js +46 -6
- package/dist/channels/index.mjs +46 -6
- package/dist/channels/pipeline.d.ts +13 -0
- package/dist/channels/pipeline.d.ts.map +1 -1
- package/dist/channels/telegram/channel.d.ts +12 -0
- package/dist/channels/telegram/channel.d.ts.map +1 -1
- package/dist/channels/telegram/index.js +48 -6
- package/dist/channels/telegram/index.mjs +48 -6
- package/dist/channels/whatsapp/inbound.d.ts +13 -0
- package/dist/channels/whatsapp/inbound.d.ts.map +1 -1
- package/dist/channels/whatsapp/index.js +48 -6
- package/dist/channels/whatsapp/index.mjs +48 -6
- package/dist/core/pipeline.d.ts +52 -1
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/history/index.d.ts +1 -0
- package/dist/history/index.d.ts.map +1 -1
- package/dist/history/index.js +23 -2
- package/dist/history/index.mjs +23 -2
- package/dist/history/tursoStore.d.ts +13 -1
- package/dist/history/tursoStore.d.ts.map +1 -1
- package/dist/history/types.d.ts +2 -0
- package/dist/history/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -9
- package/dist/index.mjs +74 -9
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +31 -4
- package/dist/mcp-server.mjs +31 -4
- package/dist/routes/demo.d.ts.map +1 -1
- package/dist/routes/openai.d.ts.map +1 -1
- package/dist/routes/private.d.ts.map +1 -1
- package/dist/routes/public.d.ts.map +1 -1
- package/dist/server.js +66 -7
- package/dist/server.mjs +66 -7
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -384,14 +384,35 @@ async function prepareChat({
|
|
|
384
384
|
messages,
|
|
385
385
|
personaLayer,
|
|
386
386
|
channelHint,
|
|
387
|
-
buckets
|
|
387
|
+
buckets,
|
|
388
|
+
sender,
|
|
389
|
+
rewriteQuery,
|
|
390
|
+
rerankContext,
|
|
391
|
+
logger
|
|
388
392
|
}) {
|
|
389
393
|
const lastUserMsg = lastUserMessage(messages);
|
|
390
394
|
if (!lastUserMsg) {
|
|
391
395
|
throw new Error("no user message found in conversation");
|
|
392
396
|
}
|
|
393
397
|
const { topK, label } = MODE_SETTINGS[mode];
|
|
394
|
-
|
|
398
|
+
let query = lastUserMsg.content;
|
|
399
|
+
if (rewriteQuery) {
|
|
400
|
+
try {
|
|
401
|
+
const rewritten = await rewriteQuery({ query, mode, sender });
|
|
402
|
+
if (typeof rewritten === "string" && rewritten.trim()) query = rewritten;
|
|
403
|
+
} catch (error) {
|
|
404
|
+
logger?.error("rewriteQuery threw; falling back to the original query", error);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
let ctx = await store.query(query, topK, buckets ?? defaultBuckets(mode));
|
|
408
|
+
if (rerankContext) {
|
|
409
|
+
try {
|
|
410
|
+
const reranked = await rerankContext({ query, chunks: ctx });
|
|
411
|
+
if (Array.isArray(reranked) && reranked.every((c) => typeof c === "string")) ctx = reranked;
|
|
412
|
+
} catch (error) {
|
|
413
|
+
logger?.error("rerankContext threw; falling back to the original chunks", error);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
395
416
|
const persona = personaLayer?.trim() || (mode === "private" ? prompts.privatePersona : prompts.publicPersona);
|
|
396
417
|
const hint = channelHint?.trim();
|
|
397
418
|
const system = [
|
|
@@ -930,7 +951,10 @@ async function createMCPServer(config) {
|
|
|
930
951
|
prompts,
|
|
931
952
|
mode: "public",
|
|
932
953
|
messages: conversationMessages,
|
|
933
|
-
buckets
|
|
954
|
+
buckets,
|
|
955
|
+
rewriteQuery: config.rewriteQuery,
|
|
956
|
+
rerankContext: config.rerankContext,
|
|
957
|
+
logger: log
|
|
934
958
|
});
|
|
935
959
|
const result = await answerOnce({
|
|
936
960
|
answerFn: config.answerFn,
|
|
@@ -1016,7 +1040,10 @@ async function createMCPServer(config) {
|
|
|
1016
1040
|
prompts,
|
|
1017
1041
|
mode: "private",
|
|
1018
1042
|
messages: conversationMessages,
|
|
1019
|
-
buckets
|
|
1043
|
+
buckets,
|
|
1044
|
+
rewriteQuery: config.rewriteQuery,
|
|
1045
|
+
rerankContext: config.rerankContext,
|
|
1046
|
+
logger: log
|
|
1020
1047
|
});
|
|
1021
1048
|
const result = await answerOnce({
|
|
1022
1049
|
answerFn: config.answerFn,
|
|
@@ -1491,7 +1518,16 @@ function demoRoutes(deps) {
|
|
|
1491
1518
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1492
1519
|
}
|
|
1493
1520
|
const buckets = await resolveBuckets({ mode: "public", bucketsFor: config.bucketsFor });
|
|
1494
|
-
const { system } = await prepareChat({
|
|
1521
|
+
const { system } = await prepareChat({
|
|
1522
|
+
store,
|
|
1523
|
+
prompts,
|
|
1524
|
+
mode: "public",
|
|
1525
|
+
messages,
|
|
1526
|
+
buckets,
|
|
1527
|
+
rewriteQuery: config.rewriteQuery,
|
|
1528
|
+
rerankContext: config.rerankContext,
|
|
1529
|
+
logger
|
|
1530
|
+
});
|
|
1495
1531
|
const model = config.openai.model || DEFAULT_MODEL;
|
|
1496
1532
|
const url = new URL(c.req.url);
|
|
1497
1533
|
const wantsStream3 = url.searchParams.get("stream") === "1";
|
|
@@ -1610,13 +1646,23 @@ function openaiRoutes(deps) {
|
|
|
1610
1646
|
sender: jwtSubject(c),
|
|
1611
1647
|
bucketsFor: config.bucketsFor
|
|
1612
1648
|
});
|
|
1649
|
+
const sender = jwtSubject(c) ?? apiKeySubject(c);
|
|
1613
1650
|
let system;
|
|
1614
1651
|
try {
|
|
1615
|
-
({ system } = await prepareChat({
|
|
1652
|
+
({ system } = await prepareChat({
|
|
1653
|
+
store,
|
|
1654
|
+
prompts,
|
|
1655
|
+
mode,
|
|
1656
|
+
messages,
|
|
1657
|
+
buckets,
|
|
1658
|
+
sender,
|
|
1659
|
+
rewriteQuery: config.rewriteQuery,
|
|
1660
|
+
rerankContext: config.rerankContext,
|
|
1661
|
+
logger
|
|
1662
|
+
}));
|
|
1616
1663
|
} catch {
|
|
1617
1664
|
return errorJson(c, 400, "Conversation must contain at least one user message");
|
|
1618
1665
|
}
|
|
1619
|
-
const sender = jwtSubject(c) ?? apiKeySubject(c);
|
|
1620
1666
|
const conversationId = clientConversationId(c, body) ?? crypto.randomUUID();
|
|
1621
1667
|
c.header("x-conversation-id", conversationId);
|
|
1622
1668
|
const id = `chatcmpl-${crypto.randomUUID()}`;
|
|
@@ -1726,7 +1772,17 @@ function privateRoutes(deps) {
|
|
|
1726
1772
|
});
|
|
1727
1773
|
let system;
|
|
1728
1774
|
try {
|
|
1729
|
-
({ system } = await prepareChat({
|
|
1775
|
+
({ system } = await prepareChat({
|
|
1776
|
+
store,
|
|
1777
|
+
prompts,
|
|
1778
|
+
mode: "private",
|
|
1779
|
+
messages,
|
|
1780
|
+
buckets,
|
|
1781
|
+
sender,
|
|
1782
|
+
rewriteQuery: config.rewriteQuery,
|
|
1783
|
+
rerankContext: config.rerankContext,
|
|
1784
|
+
logger
|
|
1785
|
+
}));
|
|
1730
1786
|
} catch {
|
|
1731
1787
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1732
1788
|
}
|
|
@@ -1802,7 +1858,16 @@ function publicRoutes(deps) {
|
|
|
1802
1858
|
const buckets = await resolveBuckets({ mode: "public", bucketsFor: config.bucketsFor });
|
|
1803
1859
|
let system;
|
|
1804
1860
|
try {
|
|
1805
|
-
({ system } = await prepareChat({
|
|
1861
|
+
({ system } = await prepareChat({
|
|
1862
|
+
store,
|
|
1863
|
+
prompts,
|
|
1864
|
+
mode: "public",
|
|
1865
|
+
messages,
|
|
1866
|
+
buckets,
|
|
1867
|
+
rewriteQuery: config.rewriteQuery,
|
|
1868
|
+
rerankContext: config.rerankContext,
|
|
1869
|
+
logger
|
|
1870
|
+
}));
|
|
1806
1871
|
} catch {
|
|
1807
1872
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1808
1873
|
}
|
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,YAAY,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoBH,YAAY,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,gBAAgB,qEA0T7D"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -184,14 +184,35 @@ async function prepareChat({
|
|
|
184
184
|
messages,
|
|
185
185
|
personaLayer,
|
|
186
186
|
channelHint,
|
|
187
|
-
buckets
|
|
187
|
+
buckets,
|
|
188
|
+
sender,
|
|
189
|
+
rewriteQuery,
|
|
190
|
+
rerankContext,
|
|
191
|
+
logger
|
|
188
192
|
}) {
|
|
189
193
|
const lastUserMsg = lastUserMessage(messages);
|
|
190
194
|
if (!lastUserMsg) {
|
|
191
195
|
throw new Error("no user message found in conversation");
|
|
192
196
|
}
|
|
193
197
|
const { topK, label } = MODE_SETTINGS[mode];
|
|
194
|
-
|
|
198
|
+
let query = lastUserMsg.content;
|
|
199
|
+
if (rewriteQuery) {
|
|
200
|
+
try {
|
|
201
|
+
const rewritten = await rewriteQuery({ query, mode, sender });
|
|
202
|
+
if (typeof rewritten === "string" && rewritten.trim()) query = rewritten;
|
|
203
|
+
} catch (error) {
|
|
204
|
+
logger?.error("rewriteQuery threw; falling back to the original query", error);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
let ctx = await store.query(query, topK, buckets ?? defaultBuckets(mode));
|
|
208
|
+
if (rerankContext) {
|
|
209
|
+
try {
|
|
210
|
+
const reranked = await rerankContext({ query, chunks: ctx });
|
|
211
|
+
if (Array.isArray(reranked) && reranked.every((c) => typeof c === "string")) ctx = reranked;
|
|
212
|
+
} catch (error) {
|
|
213
|
+
logger?.error("rerankContext threw; falling back to the original chunks", error);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
195
216
|
const persona = personaLayer?.trim() || (mode === "private" ? prompts.privatePersona : prompts.publicPersona);
|
|
196
217
|
const hint = channelHint?.trim();
|
|
197
218
|
const system = [
|
|
@@ -705,7 +726,10 @@ async function createMCPServer(config) {
|
|
|
705
726
|
prompts,
|
|
706
727
|
mode: "public",
|
|
707
728
|
messages: conversationMessages,
|
|
708
|
-
buckets
|
|
729
|
+
buckets,
|
|
730
|
+
rewriteQuery: config.rewriteQuery,
|
|
731
|
+
rerankContext: config.rerankContext,
|
|
732
|
+
logger: log
|
|
709
733
|
});
|
|
710
734
|
const result = await answerOnce({
|
|
711
735
|
answerFn: config.answerFn,
|
|
@@ -791,7 +815,10 @@ async function createMCPServer(config) {
|
|
|
791
815
|
prompts,
|
|
792
816
|
mode: "private",
|
|
793
817
|
messages: conversationMessages,
|
|
794
|
-
buckets
|
|
818
|
+
buckets,
|
|
819
|
+
rewriteQuery: config.rewriteQuery,
|
|
820
|
+
rerankContext: config.rerankContext,
|
|
821
|
+
logger: log
|
|
795
822
|
});
|
|
796
823
|
const result = await answerOnce({
|
|
797
824
|
answerFn: config.answerFn,
|
package/dist/mcp-server.mjs
CHANGED
|
@@ -150,14 +150,35 @@ async function prepareChat({
|
|
|
150
150
|
messages,
|
|
151
151
|
personaLayer,
|
|
152
152
|
channelHint,
|
|
153
|
-
buckets
|
|
153
|
+
buckets,
|
|
154
|
+
sender,
|
|
155
|
+
rewriteQuery,
|
|
156
|
+
rerankContext,
|
|
157
|
+
logger
|
|
154
158
|
}) {
|
|
155
159
|
const lastUserMsg = lastUserMessage(messages);
|
|
156
160
|
if (!lastUserMsg) {
|
|
157
161
|
throw new Error("no user message found in conversation");
|
|
158
162
|
}
|
|
159
163
|
const { topK, label } = MODE_SETTINGS[mode];
|
|
160
|
-
|
|
164
|
+
let query = lastUserMsg.content;
|
|
165
|
+
if (rewriteQuery) {
|
|
166
|
+
try {
|
|
167
|
+
const rewritten = await rewriteQuery({ query, mode, sender });
|
|
168
|
+
if (typeof rewritten === "string" && rewritten.trim()) query = rewritten;
|
|
169
|
+
} catch (error) {
|
|
170
|
+
logger?.error("rewriteQuery threw; falling back to the original query", error);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
let ctx = await store.query(query, topK, buckets ?? defaultBuckets(mode));
|
|
174
|
+
if (rerankContext) {
|
|
175
|
+
try {
|
|
176
|
+
const reranked = await rerankContext({ query, chunks: ctx });
|
|
177
|
+
if (Array.isArray(reranked) && reranked.every((c) => typeof c === "string")) ctx = reranked;
|
|
178
|
+
} catch (error) {
|
|
179
|
+
logger?.error("rerankContext threw; falling back to the original chunks", error);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
161
182
|
const persona = personaLayer?.trim() || (mode === "private" ? prompts.privatePersona : prompts.publicPersona);
|
|
162
183
|
const hint = channelHint?.trim();
|
|
163
184
|
const system = [
|
|
@@ -671,7 +692,10 @@ async function createMCPServer(config) {
|
|
|
671
692
|
prompts,
|
|
672
693
|
mode: "public",
|
|
673
694
|
messages: conversationMessages,
|
|
674
|
-
buckets
|
|
695
|
+
buckets,
|
|
696
|
+
rewriteQuery: config.rewriteQuery,
|
|
697
|
+
rerankContext: config.rerankContext,
|
|
698
|
+
logger: log
|
|
675
699
|
});
|
|
676
700
|
const result = await answerOnce({
|
|
677
701
|
answerFn: config.answerFn,
|
|
@@ -757,7 +781,10 @@ async function createMCPServer(config) {
|
|
|
757
781
|
prompts,
|
|
758
782
|
mode: "private",
|
|
759
783
|
messages: conversationMessages,
|
|
760
|
-
buckets
|
|
784
|
+
buckets,
|
|
785
|
+
rewriteQuery: config.rewriteQuery,
|
|
786
|
+
rerankContext: config.rerankContext,
|
|
787
|
+
logger: log
|
|
761
788
|
});
|
|
762
789
|
const result = await answerOnce({
|
|
763
790
|
answerFn: config.answerFn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/routes/demo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAY5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAuFnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"demo.d.ts","sourceRoot":"","sources":["../../src/routes/demo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAY5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAuFnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,kBAAkB,8EAkIlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/routes/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsDnD,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/routes/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsDnD,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,8EA+KpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../src/routes/private.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AASnD,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../src/routes/private.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAS5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AASnD,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,8EAsFrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/routes/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AASnD,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/routes/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AASnD,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,8EAqFpD"}
|
package/dist/server.js
CHANGED
|
@@ -378,14 +378,35 @@ async function prepareChat({
|
|
|
378
378
|
messages,
|
|
379
379
|
personaLayer,
|
|
380
380
|
channelHint,
|
|
381
|
-
buckets
|
|
381
|
+
buckets,
|
|
382
|
+
sender,
|
|
383
|
+
rewriteQuery,
|
|
384
|
+
rerankContext,
|
|
385
|
+
logger
|
|
382
386
|
}) {
|
|
383
387
|
const lastUserMsg = lastUserMessage(messages);
|
|
384
388
|
if (!lastUserMsg) {
|
|
385
389
|
throw new Error("no user message found in conversation");
|
|
386
390
|
}
|
|
387
391
|
const { topK, label } = MODE_SETTINGS[mode];
|
|
388
|
-
|
|
392
|
+
let query = lastUserMsg.content;
|
|
393
|
+
if (rewriteQuery) {
|
|
394
|
+
try {
|
|
395
|
+
const rewritten = await rewriteQuery({ query, mode, sender });
|
|
396
|
+
if (typeof rewritten === "string" && rewritten.trim()) query = rewritten;
|
|
397
|
+
} catch (error) {
|
|
398
|
+
logger?.error("rewriteQuery threw; falling back to the original query", error);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
let ctx = await store.query(query, topK, buckets ?? defaultBuckets(mode));
|
|
402
|
+
if (rerankContext) {
|
|
403
|
+
try {
|
|
404
|
+
const reranked = await rerankContext({ query, chunks: ctx });
|
|
405
|
+
if (Array.isArray(reranked) && reranked.every((c) => typeof c === "string")) ctx = reranked;
|
|
406
|
+
} catch (error) {
|
|
407
|
+
logger?.error("rerankContext threw; falling back to the original chunks", error);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
389
410
|
const persona = personaLayer?.trim() || (mode === "private" ? prompts.privatePersona : prompts.publicPersona);
|
|
390
411
|
const hint = channelHint?.trim();
|
|
391
412
|
const system = [
|
|
@@ -1063,7 +1084,16 @@ function demoRoutes(deps) {
|
|
|
1063
1084
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1064
1085
|
}
|
|
1065
1086
|
const buckets = await resolveBuckets({ mode: "public", bucketsFor: config.bucketsFor });
|
|
1066
|
-
const { system } = await prepareChat({
|
|
1087
|
+
const { system } = await prepareChat({
|
|
1088
|
+
store,
|
|
1089
|
+
prompts,
|
|
1090
|
+
mode: "public",
|
|
1091
|
+
messages,
|
|
1092
|
+
buckets,
|
|
1093
|
+
rewriteQuery: config.rewriteQuery,
|
|
1094
|
+
rerankContext: config.rerankContext,
|
|
1095
|
+
logger
|
|
1096
|
+
});
|
|
1067
1097
|
const model = config.openai.model || DEFAULT_MODEL;
|
|
1068
1098
|
const url = new URL(c.req.url);
|
|
1069
1099
|
const wantsStream3 = url.searchParams.get("stream") === "1";
|
|
@@ -1263,13 +1293,23 @@ function openaiRoutes(deps) {
|
|
|
1263
1293
|
sender: jwtSubject(c),
|
|
1264
1294
|
bucketsFor: config.bucketsFor
|
|
1265
1295
|
});
|
|
1296
|
+
const sender = jwtSubject(c) ?? apiKeySubject(c);
|
|
1266
1297
|
let system;
|
|
1267
1298
|
try {
|
|
1268
|
-
({ system } = await prepareChat({
|
|
1299
|
+
({ system } = await prepareChat({
|
|
1300
|
+
store,
|
|
1301
|
+
prompts,
|
|
1302
|
+
mode,
|
|
1303
|
+
messages,
|
|
1304
|
+
buckets,
|
|
1305
|
+
sender,
|
|
1306
|
+
rewriteQuery: config.rewriteQuery,
|
|
1307
|
+
rerankContext: config.rerankContext,
|
|
1308
|
+
logger
|
|
1309
|
+
}));
|
|
1269
1310
|
} catch {
|
|
1270
1311
|
return errorJson(c, 400, "Conversation must contain at least one user message");
|
|
1271
1312
|
}
|
|
1272
|
-
const sender = jwtSubject(c) ?? apiKeySubject(c);
|
|
1273
1313
|
const conversationId = clientConversationId(c, body) ?? crypto.randomUUID();
|
|
1274
1314
|
c.header("x-conversation-id", conversationId);
|
|
1275
1315
|
const id = `chatcmpl-${crypto.randomUUID()}`;
|
|
@@ -1379,7 +1419,17 @@ function privateRoutes(deps) {
|
|
|
1379
1419
|
});
|
|
1380
1420
|
let system;
|
|
1381
1421
|
try {
|
|
1382
|
-
({ system } = await prepareChat({
|
|
1422
|
+
({ system } = await prepareChat({
|
|
1423
|
+
store,
|
|
1424
|
+
prompts,
|
|
1425
|
+
mode: "private",
|
|
1426
|
+
messages,
|
|
1427
|
+
buckets,
|
|
1428
|
+
sender,
|
|
1429
|
+
rewriteQuery: config.rewriteQuery,
|
|
1430
|
+
rerankContext: config.rerankContext,
|
|
1431
|
+
logger
|
|
1432
|
+
}));
|
|
1383
1433
|
} catch {
|
|
1384
1434
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1385
1435
|
}
|
|
@@ -1551,7 +1601,16 @@ function publicRoutes(deps) {
|
|
|
1551
1601
|
const buckets = await resolveBuckets({ mode: "public", bucketsFor: config.bucketsFor });
|
|
1552
1602
|
let system;
|
|
1553
1603
|
try {
|
|
1554
|
-
({ system } = await prepareChat({
|
|
1604
|
+
({ system } = await prepareChat({
|
|
1605
|
+
store,
|
|
1606
|
+
prompts,
|
|
1607
|
+
mode: "public",
|
|
1608
|
+
messages,
|
|
1609
|
+
buckets,
|
|
1610
|
+
rewriteQuery: config.rewriteQuery,
|
|
1611
|
+
rerankContext: config.rerankContext,
|
|
1612
|
+
logger
|
|
1613
|
+
}));
|
|
1555
1614
|
} catch {
|
|
1556
1615
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1557
1616
|
}
|
package/dist/server.mjs
CHANGED
|
@@ -344,14 +344,35 @@ async function prepareChat({
|
|
|
344
344
|
messages,
|
|
345
345
|
personaLayer,
|
|
346
346
|
channelHint,
|
|
347
|
-
buckets
|
|
347
|
+
buckets,
|
|
348
|
+
sender,
|
|
349
|
+
rewriteQuery,
|
|
350
|
+
rerankContext,
|
|
351
|
+
logger
|
|
348
352
|
}) {
|
|
349
353
|
const lastUserMsg = lastUserMessage(messages);
|
|
350
354
|
if (!lastUserMsg) {
|
|
351
355
|
throw new Error("no user message found in conversation");
|
|
352
356
|
}
|
|
353
357
|
const { topK, label } = MODE_SETTINGS[mode];
|
|
354
|
-
|
|
358
|
+
let query = lastUserMsg.content;
|
|
359
|
+
if (rewriteQuery) {
|
|
360
|
+
try {
|
|
361
|
+
const rewritten = await rewriteQuery({ query, mode, sender });
|
|
362
|
+
if (typeof rewritten === "string" && rewritten.trim()) query = rewritten;
|
|
363
|
+
} catch (error) {
|
|
364
|
+
logger?.error("rewriteQuery threw; falling back to the original query", error);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
let ctx = await store.query(query, topK, buckets ?? defaultBuckets(mode));
|
|
368
|
+
if (rerankContext) {
|
|
369
|
+
try {
|
|
370
|
+
const reranked = await rerankContext({ query, chunks: ctx });
|
|
371
|
+
if (Array.isArray(reranked) && reranked.every((c) => typeof c === "string")) ctx = reranked;
|
|
372
|
+
} catch (error) {
|
|
373
|
+
logger?.error("rerankContext threw; falling back to the original chunks", error);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
355
376
|
const persona = personaLayer?.trim() || (mode === "private" ? prompts.privatePersona : prompts.publicPersona);
|
|
356
377
|
const hint = channelHint?.trim();
|
|
357
378
|
const system = [
|
|
@@ -1028,7 +1049,16 @@ function demoRoutes(deps) {
|
|
|
1028
1049
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1029
1050
|
}
|
|
1030
1051
|
const buckets = await resolveBuckets({ mode: "public", bucketsFor: config.bucketsFor });
|
|
1031
|
-
const { system } = await prepareChat({
|
|
1052
|
+
const { system } = await prepareChat({
|
|
1053
|
+
store,
|
|
1054
|
+
prompts,
|
|
1055
|
+
mode: "public",
|
|
1056
|
+
messages,
|
|
1057
|
+
buckets,
|
|
1058
|
+
rewriteQuery: config.rewriteQuery,
|
|
1059
|
+
rerankContext: config.rerankContext,
|
|
1060
|
+
logger
|
|
1061
|
+
});
|
|
1032
1062
|
const model = config.openai.model || DEFAULT_MODEL;
|
|
1033
1063
|
const url = new URL(c.req.url);
|
|
1034
1064
|
const wantsStream3 = url.searchParams.get("stream") === "1";
|
|
@@ -1228,13 +1258,23 @@ function openaiRoutes(deps) {
|
|
|
1228
1258
|
sender: jwtSubject(c),
|
|
1229
1259
|
bucketsFor: config.bucketsFor
|
|
1230
1260
|
});
|
|
1261
|
+
const sender = jwtSubject(c) ?? apiKeySubject(c);
|
|
1231
1262
|
let system;
|
|
1232
1263
|
try {
|
|
1233
|
-
({ system } = await prepareChat({
|
|
1264
|
+
({ system } = await prepareChat({
|
|
1265
|
+
store,
|
|
1266
|
+
prompts,
|
|
1267
|
+
mode,
|
|
1268
|
+
messages,
|
|
1269
|
+
buckets,
|
|
1270
|
+
sender,
|
|
1271
|
+
rewriteQuery: config.rewriteQuery,
|
|
1272
|
+
rerankContext: config.rerankContext,
|
|
1273
|
+
logger
|
|
1274
|
+
}));
|
|
1234
1275
|
} catch {
|
|
1235
1276
|
return errorJson(c, 400, "Conversation must contain at least one user message");
|
|
1236
1277
|
}
|
|
1237
|
-
const sender = jwtSubject(c) ?? apiKeySubject(c);
|
|
1238
1278
|
const conversationId = clientConversationId(c, body) ?? crypto.randomUUID();
|
|
1239
1279
|
c.header("x-conversation-id", conversationId);
|
|
1240
1280
|
const id = `chatcmpl-${crypto.randomUUID()}`;
|
|
@@ -1344,7 +1384,17 @@ function privateRoutes(deps) {
|
|
|
1344
1384
|
});
|
|
1345
1385
|
let system;
|
|
1346
1386
|
try {
|
|
1347
|
-
({ system } = await prepareChat({
|
|
1387
|
+
({ system } = await prepareChat({
|
|
1388
|
+
store,
|
|
1389
|
+
prompts,
|
|
1390
|
+
mode: "private",
|
|
1391
|
+
messages,
|
|
1392
|
+
buckets,
|
|
1393
|
+
sender,
|
|
1394
|
+
rewriteQuery: config.rewriteQuery,
|
|
1395
|
+
rerankContext: config.rerankContext,
|
|
1396
|
+
logger
|
|
1397
|
+
}));
|
|
1348
1398
|
} catch {
|
|
1349
1399
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1350
1400
|
}
|
|
@@ -1516,7 +1566,16 @@ function publicRoutes(deps) {
|
|
|
1516
1566
|
const buckets = await resolveBuckets({ mode: "public", bucketsFor: config.bucketsFor });
|
|
1517
1567
|
let system;
|
|
1518
1568
|
try {
|
|
1519
|
-
({ system } = await prepareChat({
|
|
1569
|
+
({ system } = await prepareChat({
|
|
1570
|
+
store,
|
|
1571
|
+
prompts,
|
|
1572
|
+
mode: "public",
|
|
1573
|
+
messages,
|
|
1574
|
+
buckets,
|
|
1575
|
+
rewriteQuery: config.rewriteQuery,
|
|
1576
|
+
rerankContext: config.rerankContext,
|
|
1577
|
+
logger
|
|
1578
|
+
}));
|
|
1520
1579
|
} catch {
|
|
1521
1580
|
return c.json({ error: "no user message found in conversation" }, 400);
|
|
1522
1581
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type { Channel, ChannelSenderRegistry } from "./channels";
|
|
|
11
11
|
import type { AnswerFn, TransformReply } from "./core/answer";
|
|
12
12
|
import type { BucketsFor } from "./core/buckets";
|
|
13
13
|
import type { Logger, LogLevel } from "./core/logger";
|
|
14
|
+
import type { RerankContext, RewriteQuery } from "./core/pipeline";
|
|
14
15
|
import type { PromptLoader } from "./core/prompts";
|
|
15
16
|
import type { VectorStore } from "./core/retrieval";
|
|
16
17
|
export type { Logger, LogLevel } from "./core/logger";
|
|
@@ -265,6 +266,30 @@ export interface ChatterConfig {
|
|
|
265
266
|
* Unset: the mode defaults apply everywhere.
|
|
266
267
|
*/
|
|
267
268
|
bucketsFor?: BucketsFor;
|
|
269
|
+
/**
|
|
270
|
+
* Rewrites the retrieval query for a turn before it reaches the vector
|
|
271
|
+
* store — e.g. expanding an ambiguous follow-up into something embeddable
|
|
272
|
+
* on its own. Receives the same `sender` identity `answerFn` sees (not the
|
|
273
|
+
* retrieval-scope-restricted one `bucketsFor` sees on the public
|
|
274
|
+
* OpenAI-compatible route — rewriting a query widens nothing, so it isn't
|
|
275
|
+
* subject to that clamp).
|
|
276
|
+
*
|
|
277
|
+
* Consulted everywhere `bucketsFor` is. A throw/rejection, or a return
|
|
278
|
+
* value that isn't a non-blank string, falls back to the unmodified query
|
|
279
|
+
* — a broken rewrite degrades relevance, never the chat path. Unset:
|
|
280
|
+
* retrieval runs on the latest user message unmodified.
|
|
281
|
+
*/
|
|
282
|
+
rewriteQuery?: RewriteQuery;
|
|
283
|
+
/**
|
|
284
|
+
* Post-processes the chunks retrieval returned — reordering, filtering, or
|
|
285
|
+
* otherwise reranking — before they're folded into the system prompt.
|
|
286
|
+
*
|
|
287
|
+
* Consulted everywhere `bucketsFor` is, immediately after retrieval runs.
|
|
288
|
+
* A throw/rejection, or a return value that isn't a string array, falls
|
|
289
|
+
* back to the chunks retrieval returned, unmodified. Unset: retrieved
|
|
290
|
+
* chunks are used as-is.
|
|
291
|
+
*/
|
|
292
|
+
rerankContext?: RerankContext;
|
|
268
293
|
/** Custom route handler for advanced use cases. May be async — see {@link CustomRoutes} */
|
|
269
294
|
customRoutes?: CustomRoutes;
|
|
270
295
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED