@rpcbase/agents-sdk 0.10.0 → 0.11.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.
Files changed (103) hide show
  1. package/dist/agents-sdk.css +1 -1
  2. package/dist/api/apiErrors.d.ts.map +1 -1
  3. package/dist/api/chat/handler.d.ts.map +1 -1
  4. package/dist/api/chat/runtimeConfig.d.ts +8 -0
  5. package/dist/api/chat/runtimeConfig.d.ts.map +1 -1
  6. package/dist/api/chat/toolRouting.d.ts +7 -0
  7. package/dist/api/chat/toolRouting.d.ts.map +1 -0
  8. package/dist/api/chat/tools.d.ts +24 -24
  9. package/dist/api/chat/tools.d.ts.map +1 -1
  10. package/dist/api/chatDb.d.ts +2 -0
  11. package/dist/api/chatDb.d.ts.map +1 -1
  12. package/dist/api/chatStore.d.ts +1 -0
  13. package/dist/api/chatStore.d.ts.map +1 -1
  14. package/dist/{apiErrors-CFUx-UrE.js → apiErrors-Ck5tynNE.js} +1 -0
  15. package/dist/{apiErrors-FdS4Eh1H.js → apiErrors-DKcH9vz9.js} +1 -0
  16. package/dist/chat-models.browser.js +1 -1
  17. package/dist/chat-models.js +1 -1
  18. package/dist/chat-streaming-CaGHOBwC.js +18 -0
  19. package/dist/chatDb-DjZAfZRr.js +276 -0
  20. package/dist/chatDb-MmVCT1uj.js +276 -0
  21. package/dist/{chunk-BO2N2NFS-DRhdPgDj.js → chunk-BO2N2NFS-BXeXbvYU.js} +2 -2
  22. package/dist/{chunk-BO2N2NFS-BDR8fnNb.js → chunk-BO2N2NFS-C0c-iJhV.js} +2 -2
  23. package/dist/client-routes.browser.js +4 -2
  24. package/dist/client-routes.js +4 -2
  25. package/dist/components/ai-elements/code-block.d.ts.map +1 -1
  26. package/dist/components/ai-elements/tool.d.ts.map +1 -1
  27. package/dist/components/chat.d.ts +2 -1
  28. package/dist/components/chat.d.ts.map +1 -1
  29. package/dist/components/messages.d.ts +6 -1
  30. package/dist/components/messages.d.ts.map +1 -1
  31. package/dist/components/multimodal-input.d.ts.map +1 -1
  32. package/dist/components/sidebar-history-item.d.ts +2 -1
  33. package/dist/components/sidebar-history-item.d.ts.map +1 -1
  34. package/dist/components/sidebar-history.d.ts +2 -1
  35. package/dist/components/sidebar-history.d.ts.map +1 -1
  36. package/dist/{data-stream-handler-DXAHFC5k.js → data-stream-handler-92yP7o7h.js} +7963 -7828
  37. package/dist/{data-stream-handler-lr4wJ3vt.js → data-stream-handler-DZVidaYF.js} +7963 -7828
  38. package/dist/{handler-DSncMeo4.js → handler-2eyR7_IM.js} +640 -485
  39. package/dist/{handler-hah8tVEE.js → handler-4jQU-pKI.js} +2 -2
  40. package/dist/{handler-BdCGoVUM.js → handler-8zojwqU7.js} +1 -1
  41. package/dist/{handler-5n-YwiF3.js → handler-9ImzUQo6.js} +2 -2
  42. package/dist/{handler-Jua6SU39.js → handler-BS72H0IN.js} +2 -2
  43. package/dist/{handler-C8gaYgmy.js → handler-BSHosw1_.js} +2 -2
  44. package/dist/{handler-BgYHL3BZ.js → handler-C5WZxe_K.js} +2 -2
  45. package/dist/{handler-YmuAR8ei.js → handler-CBFBehn3.js} +2 -2
  46. package/dist/{handler-B3uUDuTR.js → handler-CVaKWKR-.js} +3 -3
  47. package/dist/{handler-Dy536I3-.js → handler-CqHZvSDn.js} +3 -3
  48. package/dist/{handler-D752oOcY.js → handler-CvmHrkz9.js} +2 -2
  49. package/dist/{handler-DdKB5P3H.js → handler-CyIhnwWt.js} +2 -2
  50. package/dist/{handler-B8Twsrmo.js → handler-DAXyqx4y.js} +1 -1
  51. package/dist/{handler-DMwBT4bK.js → handler-DQ839WRs.js} +1 -1
  52. package/dist/{handler-6yb49c5-.js → handler-DS1_E7Zc.js} +2 -2
  53. package/dist/{handler-By86dyTJ.js → handler-DSmQKLdK.js} +2 -2
  54. package/dist/{handler-C0MO52d9.js → handler-DY6vJrcD.js} +2 -2
  55. package/dist/{handler-uF8GJoVX.js → handler-Du7LuJB1.js} +1 -1
  56. package/dist/{handler-svaSKC2q.js → handler-Eqi6AW3u.js} +1 -1
  57. package/dist/handler-SyCVZCc_.js +1471 -0
  58. package/dist/{handler-lUriE7jY.js → handler-YvSCKKjM.js} +2 -2
  59. package/dist/{handler-BMeUL2iE.js → handler-hnEIUYCb.js} +2 -2
  60. package/dist/{highlighted-body-OFNGDK62-255wLBzG.js → highlighted-body-OFNGDK62-kzg9WvPK.js} +1 -1
  61. package/dist/{highlighted-body-OFNGDK62-ChEBPTZ3.js → highlighted-body-OFNGDK62-yqCKh6K1.js} +1 -1
  62. package/dist/index.browser.js +2 -2
  63. package/dist/index.js +2 -2
  64. package/dist/lib/ai/openai-reasoning.d.ts +1 -0
  65. package/dist/lib/ai/openai-reasoning.d.ts.map +1 -1
  66. package/dist/lib/chat-streaming.d.ts +14 -0
  67. package/dist/lib/chat-streaming.d.ts.map +1 -0
  68. package/dist/lib/db/schema.d.ts +1 -0
  69. package/dist/lib/db/schema.d.ts.map +1 -1
  70. package/dist/lib/errors.d.ts +1 -1
  71. package/dist/lib/errors.d.ts.map +1 -1
  72. package/dist/lib/types.d.ts +2 -0
  73. package/dist/lib/types.d.ts.map +1 -1
  74. package/dist/lib/utils.d.ts.map +1 -1
  75. package/dist/loaders/rootLoader.d.ts +1 -0
  76. package/dist/loaders/rootLoader.d.ts.map +1 -1
  77. package/dist/mermaid-GHXKKRXX-BdyS-O1X.js +2 -0
  78. package/dist/mermaid-GHXKKRXX-g_KMuIEW.js +2 -0
  79. package/dist/models/RBAgentsChatThread.d.ts +1 -0
  80. package/dist/models/RBAgentsChatThread.d.ts.map +1 -1
  81. package/dist/models.browser.js +1 -0
  82. package/dist/models.js +6 -0
  83. package/dist/openai-reasoning-BCA05blq.js +19 -0
  84. package/dist/pages/ChatNewPage.d.ts.map +1 -1
  85. package/dist/pages/ChatPage.d.ts.map +1 -1
  86. package/dist/routes.browser.js +14 -14
  87. package/dist/routes.js +14 -14
  88. package/dist/runtime.js +2 -2
  89. package/dist/tailwind-source.js +1 -1
  90. package/package.json +1 -1
  91. package/dist/chatDb-BSiHIyn9.js +0 -265
  92. package/dist/chatDb-YfeABtn-.js +0 -265
  93. package/dist/handler-DE8agLBS.js +0 -1304
  94. package/dist/mermaid-GHXKKRXX-BqT9Nt_j.js +0 -2
  95. package/dist/mermaid-GHXKKRXX-fqlMH1Mi.js +0 -2
  96. package/dist/openai-reasoning-kFq60GX9.js +0 -19
  97. /package/dist/{chatCtx-DSgD1fix.js → chatCtx-C8Ba-LB7.js} +0 -0
  98. /package/dist/{chatCtx-BWOFI93u.js → chatCtx-CJF05uCy.js} +0 -0
  99. /package/dist/{handler-BdXUC9Rg.js → handler-CtJQ0h8J.js} +0 -0
  100. /package/dist/{handler-DF3WRSDj.js → handler-DdF_Xz9w.js} +0 -0
  101. /package/dist/{handler-D74Wi6e9.js → handler-eWXBUnfH.js} +0 -0
  102. /package/dist/{models-DphUIx22.js → models-BTzlEPg8.js} +0 -0
  103. /package/dist/{resumableSse-BprFOR5Q.js → resumableSse-CmmkOGyv.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/agents-sdk",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,265 +0,0 @@
1
- import { t as e } from "./chatCtx-BWOFI93u.js";
2
- import { models as t } from "@rpcbase/db";
3
- //#region src/api/chatDb.ts
4
- var n = (e) => ({
5
- req: { session: { user: { currentTenantId: e } } },
6
- res: {}
7
- }), r = (e) => {
8
- if (!e || typeof e != "object") return e;
9
- let { _id: t, __v: n, ...r } = e;
10
- return r;
11
- }, i = (e) => {
12
- let t = r(e);
13
- return {
14
- ...t,
15
- isStreaming: !!t.isStreaming
16
- };
17
- }, a = async ({ tenantId: e }) => {
18
- let r = n(e), [i, a, o, s, c, l] = await Promise.all([
19
- t.get("RBAgentsChatThread", r),
20
- t.get("RBAgentsChatMessage", r),
21
- t.get("RBAgentsChatDocument", r),
22
- t.get("RBAgentsChatSuggestion", r),
23
- t.get("RBAgentsChatVote", r),
24
- t.get("RBAgentsUsageEvent", r)
25
- ]);
26
- return {
27
- ChatModel: i,
28
- MessageModel: a,
29
- DocumentModel: o,
30
- SuggestionModel: s,
31
- VoteModel: c,
32
- UsageEventModel: l
33
- };
34
- }, o = async (t) => {
35
- let n = e(t), { ChatModel: r, MessageModel: i, DocumentModel: o, SuggestionModel: s, VoteModel: c, UsageEventModel: l } = await a(n);
36
- return await Promise.all([
37
- r.deleteMany({ userId: n.userId }),
38
- i.deleteMany({ userId: n.userId }),
39
- o.deleteMany({ userId: n.userId }),
40
- s.deleteMany({ userId: n.userId }),
41
- c.deleteMany({ userId: n.userId }),
42
- l.deleteMany({ userId: n.userId })
43
- ]), { ok: !0 };
44
- }, s = async (t, n, r) => {
45
- let o = e(t), { ChatModel: s } = await a(o), c = {
46
- userId: o.userId,
47
- id: n
48
- };
49
- r?.includeDeleted || (c.deletedAt = null);
50
- let l = await s.findOne(c).lean();
51
- return l ? i(l) : null;
52
- }, c = async (t, n) => {
53
- let r = e(t), { ChatModel: o } = await a(r);
54
- await o.updateOne({
55
- userId: r.userId,
56
- id: n.id
57
- }, { $setOnInsert: n }, { upsert: !0 });
58
- let s = await o.findOne({
59
- userId: r.userId,
60
- id: n.id
61
- }).lean();
62
- return s ? i(s) : n;
63
- }, l = async (t, { chatId: n, selectedChatModel: r }) => {
64
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
65
- userId: o.userId,
66
- id: n,
67
- deletedAt: null
68
- }, { $set: { selectedChatModel: r } }, { returnDocument: "after" }).lean();
69
- return c ? i(c) : null;
70
- }, u = async (t, { chatId: n, lastContext: r }) => {
71
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
72
- userId: o.userId,
73
- id: n,
74
- deletedAt: null
75
- }, { $set: { lastContext: r } }, { returnDocument: "after" }).lean();
76
- return c ? i(c) : null;
77
- }, d = async (t, { chatId: n, title: r }) => {
78
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
79
- userId: o.userId,
80
- id: n,
81
- deletedAt: null
82
- }, { $set: { title: r } }, { returnDocument: "after" }).lean();
83
- return c ? i(c) : null;
84
- }, f = async (t, { chatId: n, isStreaming: r }) => {
85
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
86
- userId: o.userId,
87
- id: n,
88
- deletedAt: null
89
- }, { $set: { isStreaming: r } }, { returnDocument: "after" }).lean();
90
- return c ? i(c) : null;
91
- }, p = async (t, n) => {
92
- let r = e(t), { ChatModel: o } = await a(r), s = /* @__PURE__ */ new Date(), c = await o.findOneAndUpdate({
93
- userId: r.userId,
94
- id: n,
95
- deletedAt: null
96
- }, { $set: {
97
- deletedAt: s,
98
- deletedByUserId: r.userId,
99
- isStreaming: !1
100
- } }, { returnDocument: "after" }).lean();
101
- return c ? i(c) : null;
102
- }, m = async (t, n) => {
103
- let r = e(t), { ChatModel: i } = await a(r), o = /* @__PURE__ */ new Date(), s = await i.updateMany({
104
- userId: n,
105
- deletedAt: null
106
- }, { $set: {
107
- deletedAt: o,
108
- deletedByUserId: r.userId,
109
- isStreaming: !1
110
- } });
111
- return { deletedCount: s.modifiedCount ?? s.matchedCount ?? 0 };
112
- }, h = async (t, { id: n, limit: r, startingAfter: o, endingBefore: s }) => {
113
- let { ChatModel: c } = await a(e(t)), l;
114
- if (o) {
115
- let e = await c.findOne({
116
- userId: n,
117
- id: o,
118
- deletedAt: null
119
- }).select({ createdAt: 1 }).lean(), t = e?.createdAt instanceof Date ? e.createdAt : null;
120
- t && (l = { $gt: t });
121
- } else if (s) {
122
- let e = await c.findOne({
123
- userId: n,
124
- id: s,
125
- deletedAt: null
126
- }).select({ createdAt: 1 }).lean(), t = e?.createdAt instanceof Date ? e.createdAt : null;
127
- t && (l = { $lt: t });
128
- }
129
- let u = {
130
- userId: n,
131
- deletedAt: null
132
- };
133
- l && (l.$gt || l.$lt) && (u.createdAt = l);
134
- let d = await c.find(u).sort({ createdAt: -1 }).limit(r + 1).lean(), f = d.length > r;
135
- return {
136
- chats: (f ? d.slice(0, r) : d).map((e) => i(e)),
137
- hasMore: f
138
- };
139
- }, g = async (t, n) => {
140
- let r = e(t), { UsageEventModel: i } = await a(r), o = {
141
- ...n,
142
- tenantId: r.tenantId,
143
- userId: r.userId
144
- };
145
- return await i.create(o), n;
146
- }, _ = async (t, n) => {
147
- if (n.length === 0) return n;
148
- let r = e(t), { MessageModel: i } = await a(r);
149
- return await i.bulkWrite(n.map((e) => ({ updateOne: {
150
- filter: {
151
- userId: r.userId,
152
- id: e.id
153
- },
154
- update: { $set: {
155
- ...e,
156
- userId: r.userId
157
- } },
158
- upsert: !0
159
- } }))), n;
160
- }, v = async (t, n) => {
161
- let i = e(t), { MessageModel: o } = await a(i);
162
- return (await o.find({
163
- userId: i.userId,
164
- chatId: n
165
- }).sort({ createdAt: 1 }).lean()).map((e) => {
166
- let { userId: t, ...n } = r(e);
167
- return n;
168
- });
169
- }, y = async (t, n) => {
170
- let i = e(t), { MessageModel: o } = await a(i), s = await o.findOne({
171
- userId: i.userId,
172
- id: n
173
- }).lean();
174
- if (!s) return null;
175
- let { userId: c, ...l } = r(s);
176
- return l;
177
- }, b = async (t, { chatId: n, timestamp: i }) => {
178
- let o = e(t), { MessageModel: s, VoteModel: c } = await a(o), l = await s.find({
179
- userId: o.userId,
180
- chatId: n,
181
- createdAt: { $gte: i }
182
- }).lean(), u = l.map((e) => e.id).filter((e) => typeof e == "string");
183
- return await Promise.all([s.deleteMany({
184
- userId: o.userId,
185
- chatId: n,
186
- createdAt: { $gte: i }
187
- }), u.length > 0 ? c.deleteMany({
188
- userId: o.userId,
189
- chatId: n,
190
- messageId: { $in: u }
191
- }) : Promise.resolve()]), l.map((e) => {
192
- let { userId: t, ...n } = r(e);
193
- return n;
194
- });
195
- }, x = async (t, { chatId: n, messageId: r, type: i }) => {
196
- let o = e(t), { VoteModel: s } = await a(o), c = {
197
- chatId: n,
198
- messageId: r,
199
- isUpvoted: i === "up"
200
- };
201
- return await s.updateOne({
202
- userId: o.userId,
203
- chatId: n,
204
- messageId: r
205
- }, { $set: {
206
- ...c,
207
- userId: o.userId
208
- } }, { upsert: !0 }), c;
209
- }, S = async (t, n) => {
210
- let i = e(t), { VoteModel: o } = await a(i);
211
- return (await o.find({
212
- userId: i.userId,
213
- chatId: n
214
- }).lean()).map((e) => {
215
- let { userId: t, ...n } = r(e);
216
- return n;
217
- });
218
- }, C = async (t, { id: n, title: r, kind: i, content: o }) => {
219
- let s = e(t), { DocumentModel: c } = await a(s), l = {
220
- id: n,
221
- createdAt: /* @__PURE__ */ new Date(),
222
- title: r,
223
- content: o,
224
- kind: i,
225
- userId: s.userId
226
- };
227
- return await c.create(l), l;
228
- }, w = async (t, n) => {
229
- let i = e(t), { DocumentModel: o } = await a(i);
230
- return (await o.find({
231
- userId: i.userId,
232
- id: n
233
- }).sort({ createdAt: 1 }).lean()).map((e) => r(e));
234
- }, T = async (t, { id: n, timestamp: i }) => {
235
- let o = e(t), { DocumentModel: s, SuggestionModel: c } = await a(o), l = await s.find({
236
- userId: o.userId,
237
- id: n,
238
- createdAt: { $gt: i }
239
- }).sort({ createdAt: 1 }).lean();
240
- return await Promise.all([s.deleteMany({
241
- userId: o.userId,
242
- id: n,
243
- createdAt: { $gt: i }
244
- }), c.deleteMany({
245
- userId: o.userId,
246
- documentId: n,
247
- documentCreatedAt: { $gt: i }
248
- })]), l.map((e) => r(e));
249
- }, E = async (t, n) => {
250
- let i = e(t), { SuggestionModel: o } = await a(i);
251
- return (await o.find({
252
- userId: i.userId,
253
- documentId: n
254
- }).sort({ createdAt: 1 }).lean()).map((e) => r(e));
255
- }, D = async (t, { documentId: n, suggestions: r }) => {
256
- if (r.length === 0) return r;
257
- let i = e(t), { SuggestionModel: o } = await a(i), s = r.map((e) => ({
258
- ...e,
259
- userId: i.userId,
260
- documentId: n
261
- }));
262
- return await o.insertMany(s, { ordered: !1 }), r;
263
- };
264
- //#endregion
265
- export { x as S, g as _, s as a, f as b, y as c, S as d, o as f, D as g, _ as h, b as i, v as l, C as m, p as n, h as o, c as p, T as r, w as s, m as t, E as u, u as v, d as x, l as y };
@@ -1,265 +0,0 @@
1
- import { t as e } from "./chatCtx-DSgD1fix.js";
2
- import { models as t } from "@rpcbase/db";
3
- //#region src/api/chatDb.ts
4
- var n = (e) => ({
5
- req: { session: { user: { currentTenantId: e } } },
6
- res: {}
7
- }), r = (e) => {
8
- if (!e || typeof e != "object") return e;
9
- let { _id: t, __v: n, ...r } = e;
10
- return r;
11
- }, i = (e) => {
12
- let t = r(e);
13
- return {
14
- ...t,
15
- isStreaming: !!t.isStreaming
16
- };
17
- }, a = async ({ tenantId: e }) => {
18
- let r = n(e), [i, a, o, s, c, l] = await Promise.all([
19
- t.get("RBAgentsChatThread", r),
20
- t.get("RBAgentsChatMessage", r),
21
- t.get("RBAgentsChatDocument", r),
22
- t.get("RBAgentsChatSuggestion", r),
23
- t.get("RBAgentsChatVote", r),
24
- t.get("RBAgentsUsageEvent", r)
25
- ]);
26
- return {
27
- ChatModel: i,
28
- MessageModel: a,
29
- DocumentModel: o,
30
- SuggestionModel: s,
31
- VoteModel: c,
32
- UsageEventModel: l
33
- };
34
- }, o = async (t) => {
35
- let n = e(t), { ChatModel: r, MessageModel: i, DocumentModel: o, SuggestionModel: s, VoteModel: c, UsageEventModel: l } = await a(n);
36
- return await Promise.all([
37
- r.deleteMany({ userId: n.userId }),
38
- i.deleteMany({ userId: n.userId }),
39
- o.deleteMany({ userId: n.userId }),
40
- s.deleteMany({ userId: n.userId }),
41
- c.deleteMany({ userId: n.userId }),
42
- l.deleteMany({ userId: n.userId })
43
- ]), { ok: !0 };
44
- }, s = async (t, n, r) => {
45
- let o = e(t), { ChatModel: s } = await a(o), c = {
46
- userId: o.userId,
47
- id: n
48
- };
49
- r?.includeDeleted || (c.deletedAt = null);
50
- let l = await s.findOne(c).lean();
51
- return l ? i(l) : null;
52
- }, c = async (t, n) => {
53
- let r = e(t), { ChatModel: o } = await a(r);
54
- await o.updateOne({
55
- userId: r.userId,
56
- id: n.id
57
- }, { $setOnInsert: n }, { upsert: !0 });
58
- let s = await o.findOne({
59
- userId: r.userId,
60
- id: n.id
61
- }).lean();
62
- return s ? i(s) : n;
63
- }, l = async (t, { chatId: n, selectedChatModel: r }) => {
64
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
65
- userId: o.userId,
66
- id: n,
67
- deletedAt: null
68
- }, { $set: { selectedChatModel: r } }, { returnDocument: "after" }).lean();
69
- return c ? i(c) : null;
70
- }, u = async (t, { chatId: n, lastContext: r }) => {
71
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
72
- userId: o.userId,
73
- id: n,
74
- deletedAt: null
75
- }, { $set: { lastContext: r } }, { returnDocument: "after" }).lean();
76
- return c ? i(c) : null;
77
- }, d = async (t, { chatId: n, title: r }) => {
78
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
79
- userId: o.userId,
80
- id: n,
81
- deletedAt: null
82
- }, { $set: { title: r } }, { returnDocument: "after" }).lean();
83
- return c ? i(c) : null;
84
- }, f = async (t, { chatId: n, isStreaming: r }) => {
85
- let o = e(t), { ChatModel: s } = await a(o), c = await s.findOneAndUpdate({
86
- userId: o.userId,
87
- id: n,
88
- deletedAt: null
89
- }, { $set: { isStreaming: r } }, { returnDocument: "after" }).lean();
90
- return c ? i(c) : null;
91
- }, p = async (t, n) => {
92
- let r = e(t), { ChatModel: o } = await a(r), s = /* @__PURE__ */ new Date(), c = await o.findOneAndUpdate({
93
- userId: r.userId,
94
- id: n,
95
- deletedAt: null
96
- }, { $set: {
97
- deletedAt: s,
98
- deletedByUserId: r.userId,
99
- isStreaming: !1
100
- } }, { returnDocument: "after" }).lean();
101
- return c ? i(c) : null;
102
- }, m = async (t, n) => {
103
- let r = e(t), { ChatModel: i } = await a(r), o = /* @__PURE__ */ new Date(), s = await i.updateMany({
104
- userId: n,
105
- deletedAt: null
106
- }, { $set: {
107
- deletedAt: o,
108
- deletedByUserId: r.userId,
109
- isStreaming: !1
110
- } });
111
- return { deletedCount: s.modifiedCount ?? s.matchedCount ?? 0 };
112
- }, h = async (t, { id: n, limit: r, startingAfter: o, endingBefore: s }) => {
113
- let { ChatModel: c } = await a(e(t)), l;
114
- if (o) {
115
- let e = await c.findOne({
116
- userId: n,
117
- id: o,
118
- deletedAt: null
119
- }).select({ createdAt: 1 }).lean(), t = e?.createdAt instanceof Date ? e.createdAt : null;
120
- t && (l = { $gt: t });
121
- } else if (s) {
122
- let e = await c.findOne({
123
- userId: n,
124
- id: s,
125
- deletedAt: null
126
- }).select({ createdAt: 1 }).lean(), t = e?.createdAt instanceof Date ? e.createdAt : null;
127
- t && (l = { $lt: t });
128
- }
129
- let u = {
130
- userId: n,
131
- deletedAt: null
132
- };
133
- l && (l.$gt || l.$lt) && (u.createdAt = l);
134
- let d = await c.find(u).sort({ createdAt: -1 }).limit(r + 1).lean(), f = d.length > r;
135
- return {
136
- chats: (f ? d.slice(0, r) : d).map((e) => i(e)),
137
- hasMore: f
138
- };
139
- }, g = async (t, n) => {
140
- let r = e(t), { UsageEventModel: i } = await a(r), o = {
141
- ...n,
142
- tenantId: r.tenantId,
143
- userId: r.userId
144
- };
145
- return await i.create(o), n;
146
- }, _ = async (t, n) => {
147
- if (n.length === 0) return n;
148
- let r = e(t), { MessageModel: i } = await a(r);
149
- return await i.bulkWrite(n.map((e) => ({ updateOne: {
150
- filter: {
151
- userId: r.userId,
152
- id: e.id
153
- },
154
- update: { $set: {
155
- ...e,
156
- userId: r.userId
157
- } },
158
- upsert: !0
159
- } }))), n;
160
- }, v = async (t, n) => {
161
- let i = e(t), { MessageModel: o } = await a(i);
162
- return (await o.find({
163
- userId: i.userId,
164
- chatId: n
165
- }).sort({ createdAt: 1 }).lean()).map((e) => {
166
- let { userId: t, ...n } = r(e);
167
- return n;
168
- });
169
- }, y = async (t, n) => {
170
- let i = e(t), { MessageModel: o } = await a(i), s = await o.findOne({
171
- userId: i.userId,
172
- id: n
173
- }).lean();
174
- if (!s) return null;
175
- let { userId: c, ...l } = r(s);
176
- return l;
177
- }, b = async (t, { chatId: n, timestamp: i }) => {
178
- let o = e(t), { MessageModel: s, VoteModel: c } = await a(o), l = await s.find({
179
- userId: o.userId,
180
- chatId: n,
181
- createdAt: { $gte: i }
182
- }).lean(), u = l.map((e) => e.id).filter((e) => typeof e == "string");
183
- return await Promise.all([s.deleteMany({
184
- userId: o.userId,
185
- chatId: n,
186
- createdAt: { $gte: i }
187
- }), u.length > 0 ? c.deleteMany({
188
- userId: o.userId,
189
- chatId: n,
190
- messageId: { $in: u }
191
- }) : Promise.resolve()]), l.map((e) => {
192
- let { userId: t, ...n } = r(e);
193
- return n;
194
- });
195
- }, x = async (t, { chatId: n, messageId: r, type: i }) => {
196
- let o = e(t), { VoteModel: s } = await a(o), c = {
197
- chatId: n,
198
- messageId: r,
199
- isUpvoted: i === "up"
200
- };
201
- return await s.updateOne({
202
- userId: o.userId,
203
- chatId: n,
204
- messageId: r
205
- }, { $set: {
206
- ...c,
207
- userId: o.userId
208
- } }, { upsert: !0 }), c;
209
- }, S = async (t, n) => {
210
- let i = e(t), { VoteModel: o } = await a(i);
211
- return (await o.find({
212
- userId: i.userId,
213
- chatId: n
214
- }).lean()).map((e) => {
215
- let { userId: t, ...n } = r(e);
216
- return n;
217
- });
218
- }, C = async (t, { id: n, title: r, kind: i, content: o }) => {
219
- let s = e(t), { DocumentModel: c } = await a(s), l = {
220
- id: n,
221
- createdAt: /* @__PURE__ */ new Date(),
222
- title: r,
223
- content: o,
224
- kind: i,
225
- userId: s.userId
226
- };
227
- return await c.create(l), l;
228
- }, w = async (t, n) => {
229
- let i = e(t), { DocumentModel: o } = await a(i);
230
- return (await o.find({
231
- userId: i.userId,
232
- id: n
233
- }).sort({ createdAt: 1 }).lean()).map((e) => r(e));
234
- }, T = async (t, { id: n, timestamp: i }) => {
235
- let o = e(t), { DocumentModel: s, SuggestionModel: c } = await a(o), l = await s.find({
236
- userId: o.userId,
237
- id: n,
238
- createdAt: { $gt: i }
239
- }).sort({ createdAt: 1 }).lean();
240
- return await Promise.all([s.deleteMany({
241
- userId: o.userId,
242
- id: n,
243
- createdAt: { $gt: i }
244
- }), c.deleteMany({
245
- userId: o.userId,
246
- documentId: n,
247
- documentCreatedAt: { $gt: i }
248
- })]), l.map((e) => r(e));
249
- }, E = async (t, n) => {
250
- let i = e(t), { SuggestionModel: o } = await a(i);
251
- return (await o.find({
252
- userId: i.userId,
253
- documentId: n
254
- }).sort({ createdAt: 1 }).lean()).map((e) => r(e));
255
- }, D = async (t, { documentId: n, suggestions: r }) => {
256
- if (r.length === 0) return r;
257
- let i = e(t), { SuggestionModel: o } = await a(i), s = r.map((e) => ({
258
- ...e,
259
- userId: i.userId,
260
- documentId: n
261
- }));
262
- return await o.insertMany(s, { ordered: !1 }), r;
263
- };
264
- //#endregion
265
- export { x as S, g as _, s as a, f as b, y as c, S as d, o as f, D as g, _ as h, b as i, v as l, C as m, p as n, h as o, c as p, T as r, w as s, m as t, E as u, u as v, d as x, l as y };