@superinterface/react 1.1.8 → 2.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.
@@ -0,0 +1,578 @@
1
+ "use strict";
2
+ function _array_like_to_array(arr, len) {
3
+ if (len == null || len > arr.length) len = arr.length;
4
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
+ return arr2;
6
+ }
7
+ function _array_without_holes(arr) {
8
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
9
+ }
10
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11
+ try {
12
+ var info = gen[key](arg);
13
+ var value = info.value;
14
+ } catch (error) {
15
+ reject(error);
16
+ return;
17
+ }
18
+ if (info.done) {
19
+ resolve(value);
20
+ } else {
21
+ Promise.resolve(value).then(_next, _throw);
22
+ }
23
+ }
24
+ function _async_to_generator(fn) {
25
+ return function() {
26
+ var self = this, args = arguments;
27
+ return new Promise(function(resolve, reject) {
28
+ var gen = fn.apply(self, args);
29
+ function _next(value) {
30
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
31
+ }
32
+ function _throw(err) {
33
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
34
+ }
35
+ _next(undefined);
36
+ });
37
+ };
38
+ }
39
+ function _define_property(obj, key, value) {
40
+ if (key in obj) {
41
+ Object.defineProperty(obj, key, {
42
+ value: value,
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true
46
+ });
47
+ } else {
48
+ obj[key] = value;
49
+ }
50
+ return obj;
51
+ }
52
+ function _iterable_to_array(iter) {
53
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
54
+ }
55
+ function _non_iterable_spread() {
56
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
57
+ }
58
+ function _object_spread(target) {
59
+ for(var i = 1; i < arguments.length; i++){
60
+ var source = arguments[i] != null ? arguments[i] : {};
61
+ var ownKeys = Object.keys(source);
62
+ if (typeof Object.getOwnPropertySymbols === "function") {
63
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
64
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
65
+ }));
66
+ }
67
+ ownKeys.forEach(function(key) {
68
+ _define_property(target, key, source[key]);
69
+ });
70
+ }
71
+ return target;
72
+ }
73
+ function ownKeys(object, enumerableOnly) {
74
+ var keys = Object.keys(object);
75
+ if (Object.getOwnPropertySymbols) {
76
+ var symbols = Object.getOwnPropertySymbols(object);
77
+ if (enumerableOnly) {
78
+ symbols = symbols.filter(function(sym) {
79
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
80
+ });
81
+ }
82
+ keys.push.apply(keys, symbols);
83
+ }
84
+ return keys;
85
+ }
86
+ function _object_spread_props(target, source) {
87
+ source = source != null ? source : {};
88
+ if (Object.getOwnPropertyDescriptors) {
89
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
90
+ } else {
91
+ ownKeys(Object(source)).forEach(function(key) {
92
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
93
+ });
94
+ }
95
+ return target;
96
+ }
97
+ function _to_consumable_array(arr) {
98
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
99
+ }
100
+ function _unsupported_iterable_to_array(o, minLen) {
101
+ if (!o) return;
102
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
103
+ var n = Object.prototype.toString.call(o).slice(8, -1);
104
+ if (n === "Object" && o.constructor) n = o.constructor.name;
105
+ if (n === "Map" || n === "Set") return Array.from(n);
106
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
107
+ }
108
+ function _ts_generator(thisArg, body) {
109
+ var f, y, t, g, _ = {
110
+ label: 0,
111
+ sent: function() {
112
+ if (t[0] & 1) throw t[1];
113
+ return t[1];
114
+ },
115
+ trys: [],
116
+ ops: []
117
+ };
118
+ return g = {
119
+ next: verb(0),
120
+ "throw": verb(1),
121
+ "return": verb(2)
122
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
123
+ return this;
124
+ }), g;
125
+ function verb(n) {
126
+ return function(v) {
127
+ return step([
128
+ n,
129
+ v
130
+ ]);
131
+ };
132
+ }
133
+ function step(op) {
134
+ if (f) throw new TypeError("Generator is already executing.");
135
+ while(_)try {
136
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
137
+ if (y = 0, t) op = [
138
+ op[0] & 2,
139
+ t.value
140
+ ];
141
+ switch(op[0]){
142
+ case 0:
143
+ case 1:
144
+ t = op;
145
+ break;
146
+ case 4:
147
+ _.label++;
148
+ return {
149
+ value: op[1],
150
+ done: false
151
+ };
152
+ case 5:
153
+ _.label++;
154
+ y = op[1];
155
+ op = [
156
+ 0
157
+ ];
158
+ continue;
159
+ case 7:
160
+ op = _.ops.pop();
161
+ _.trys.pop();
162
+ continue;
163
+ default:
164
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
165
+ _ = 0;
166
+ continue;
167
+ }
168
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
169
+ _.label = op[1];
170
+ break;
171
+ }
172
+ if (op[0] === 6 && _.label < t[1]) {
173
+ _.label = t[1];
174
+ t = op;
175
+ break;
176
+ }
177
+ if (t && _.label < t[2]) {
178
+ _.label = t[2];
179
+ _.ops.push(op);
180
+ break;
181
+ }
182
+ if (t[2]) _.ops.pop();
183
+ _.trys.pop();
184
+ continue;
185
+ }
186
+ op = body.call(thisArg, _);
187
+ } catch (e) {
188
+ op = [
189
+ 6,
190
+ e
191
+ ];
192
+ y = 0;
193
+ } finally{
194
+ f = t = 0;
195
+ }
196
+ if (op[0] & 5) throw op[1];
197
+ return {
198
+ value: op[0] ? op[1] : void 0,
199
+ done: true
200
+ };
201
+ }
202
+ }
203
+ var __create = Object.create;
204
+ var __defProp = Object.defineProperty;
205
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
206
+ var __getOwnPropNames = Object.getOwnPropertyNames;
207
+ var __getProtoOf = Object.getPrototypeOf;
208
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
209
+ var __export = function(target, all) {
210
+ for(var name in all)__defProp(target, name, {
211
+ get: all[name],
212
+ enumerable: true
213
+ });
214
+ };
215
+ var __copyProps = function(to, from, except, desc) {
216
+ if (from && typeof from === "object" || typeof from === "function") {
217
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
218
+ try {
219
+ var _loop = function() {
220
+ var key = _step.value;
221
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
222
+ get: function() {
223
+ return from[key];
224
+ },
225
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
226
+ });
227
+ };
228
+ for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
229
+ } catch (err) {
230
+ _didIteratorError = true;
231
+ _iteratorError = err;
232
+ } finally{
233
+ try {
234
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
235
+ _iterator.return();
236
+ }
237
+ } finally{
238
+ if (_didIteratorError) {
239
+ throw _iteratorError;
240
+ }
241
+ }
242
+ }
243
+ }
244
+ return to;
245
+ };
246
+ var __toESM = function(mod, isNodeMode, target) {
247
+ return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
248
+ // file that has been converted to a CommonJS file using a Babel-
249
+ // compatible transform (i.e. "__esModule" has not been set), then set
250
+ // "default" to the CommonJS "module.exports" for node compatibility.
251
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
252
+ value: mod,
253
+ enumerable: true
254
+ }) : target, mod);
255
+ };
256
+ var __toCommonJS = function(mod) {
257
+ return __copyProps(__defProp({}, "__esModule", {
258
+ value: true
259
+ }), mod);
260
+ };
261
+ // src/queryFns.ts
262
+ var queryFns_exports = {};
263
+ __export(queryFns_exports, {
264
+ runsQueryFn: function() {
265
+ return runsQueryFn;
266
+ },
267
+ threadMessagesQueryFn: function() {
268
+ return threadMessagesQueryFn;
269
+ }
270
+ });
271
+ module.exports = __toCommonJS(queryFns_exports);
272
+ // src/lib/ai/index.ts
273
+ var import_openai = __toESM(require("openai"), 1);
274
+ var defaultClient = new import_openai.default({
275
+ apiKey: process.env.OPENAI_API_KEY
276
+ });
277
+ // src/lib/threadMessages/threadMessagesQueryFn/data/index.ts
278
+ var import_p_map = __toESM(require("p-map"), 1);
279
+ // src/lib/runSteps/getRunSteps/index.ts
280
+ var getRunSteps = function() {
281
+ var _ref = _async_to_generator(function(param) {
282
+ var threadId, runId, client, runStepsResponse;
283
+ return _ts_generator(this, function(_state) {
284
+ switch(_state.label){
285
+ case 0:
286
+ threadId = param.threadId, runId = param.runId, client = param.client;
287
+ return [
288
+ 4,
289
+ client.beta.threads.runs.steps.list(threadId, runId)
290
+ ];
291
+ case 1:
292
+ runStepsResponse = _state.sent();
293
+ return [
294
+ 2,
295
+ runStepsResponse.data
296
+ ];
297
+ }
298
+ });
299
+ });
300
+ return function getRunSteps(_) {
301
+ return _ref.apply(this, arguments);
302
+ };
303
+ }();
304
+ // src/lib/threadMessages/extendThreadMessage.ts
305
+ var extendThreadMessage = function() {
306
+ var _ref = _async_to_generator(function(param) {
307
+ var threadMessage, client, _tmp, _tmp1;
308
+ return _ts_generator(this, function(_state) {
309
+ switch(_state.label){
310
+ case 0:
311
+ threadMessage = param.threadMessage, client = param.client;
312
+ if (!threadMessage.run_id) {
313
+ return [
314
+ 2,
315
+ _object_spread_props(_object_spread({}, threadMessage), {
316
+ runSteps: []
317
+ })
318
+ ];
319
+ }
320
+ _tmp = [
321
+ _object_spread({}, threadMessage)
322
+ ];
323
+ _tmp1 = {};
324
+ return [
325
+ 4,
326
+ getRunSteps({
327
+ threadId: threadMessage.thread_id,
328
+ runId: threadMessage.run_id,
329
+ client: client
330
+ })
331
+ ];
332
+ case 1:
333
+ return [
334
+ 2,
335
+ _object_spread_props.apply(void 0, _tmp.concat([
336
+ (_tmp1.runSteps = _state.sent(), _tmp1)
337
+ ]))
338
+ ];
339
+ }
340
+ });
341
+ });
342
+ return function extendThreadMessage(_) {
343
+ return _ref.apply(this, arguments);
344
+ };
345
+ }();
346
+ // src/lib/threadMessages/threadMessagesQueryFn/data/runThreadMessages/getLatestRun.ts
347
+ var getLatestRun = function() {
348
+ var _ref = _async_to_generator(function(param) {
349
+ var threadId, client, runsResponse;
350
+ return _ts_generator(this, function(_state) {
351
+ switch(_state.label){
352
+ case 0:
353
+ threadId = param.threadId, client = param.client;
354
+ return [
355
+ 4,
356
+ client.beta.threads.runs.list(threadId, {
357
+ limit: 1
358
+ })
359
+ ];
360
+ case 1:
361
+ runsResponse = _state.sent();
362
+ return [
363
+ 2,
364
+ runsResponse.data[0]
365
+ ];
366
+ }
367
+ });
368
+ });
369
+ return function getLatestRun(_) {
370
+ return _ref.apply(this, arguments);
371
+ };
372
+ }();
373
+ // src/lib/optimistic/optimisticId.ts
374
+ var import_radash = require("radash");
375
+ var optimisticId = function() {
376
+ return "-".concat((0, import_radash.uid)(24));
377
+ };
378
+ // src/lib/threadMessages/threadMessagesQueryFn/data/runThreadMessages/index.ts
379
+ var runThreadMessages = function() {
380
+ var _ref = _async_to_generator(function(param) {
381
+ var threadMessages, threadId, client, latestRun, threadMessageFromLatestRun;
382
+ return _ts_generator(this, function(_state) {
383
+ switch(_state.label){
384
+ case 0:
385
+ threadMessages = param.threadMessages, threadId = param.threadId, client = param.client;
386
+ return [
387
+ 4,
388
+ getLatestRun({
389
+ threadId: threadId,
390
+ client: client
391
+ })
392
+ ];
393
+ case 1:
394
+ latestRun = _state.sent();
395
+ if (!latestRun) {
396
+ return [
397
+ 2,
398
+ []
399
+ ];
400
+ }
401
+ threadMessageFromLatestRun = threadMessages.find(function(m) {
402
+ return m.run_id === latestRun.id;
403
+ });
404
+ if (threadMessageFromLatestRun) {
405
+ return [
406
+ 2,
407
+ []
408
+ ];
409
+ }
410
+ return [
411
+ 4,
412
+ extendThreadMessage({
413
+ threadMessage: {
414
+ id: optimisticId(),
415
+ role: "assistant",
416
+ created_at: +/* @__PURE__ */ new Date(),
417
+ object: "thread.message",
418
+ content: [],
419
+ run_id: latestRun.id,
420
+ assistant_id: latestRun.assistant_id,
421
+ thread_id: latestRun.thread_id,
422
+ file_ids: [],
423
+ metadata: {}
424
+ },
425
+ client: client
426
+ })
427
+ ];
428
+ case 2:
429
+ return [
430
+ 2,
431
+ [
432
+ _state.sent()
433
+ ]
434
+ ];
435
+ }
436
+ });
437
+ });
438
+ return function runThreadMessages(_) {
439
+ return _ref.apply(this, arguments);
440
+ };
441
+ }();
442
+ // src/lib/threadMessages/threadMessagesQueryFn/data/index.ts
443
+ var data = function() {
444
+ var _ref = _async_to_generator(function(param) {
445
+ var threadMessagesResponse, pageParam, threadId, client, threadMessages;
446
+ return _ts_generator(this, function(_state) {
447
+ switch(_state.label){
448
+ case 0:
449
+ threadMessagesResponse = param.threadMessagesResponse, pageParam = param.pageParam, threadId = param.threadId, client = param.client;
450
+ return [
451
+ 4,
452
+ (0, import_p_map.default)(threadMessagesResponse.data, function(threadMessage) {
453
+ return extendThreadMessage({
454
+ client: client,
455
+ threadMessage: threadMessage
456
+ });
457
+ })
458
+ ];
459
+ case 1:
460
+ threadMessages = _state.sent();
461
+ if (pageParam) {
462
+ return [
463
+ 2,
464
+ threadMessages
465
+ ];
466
+ }
467
+ return [
468
+ 4,
469
+ runThreadMessages({
470
+ threadMessages: threadMessages,
471
+ threadId: threadId,
472
+ client: client
473
+ })
474
+ ];
475
+ case 2:
476
+ return [
477
+ 2,
478
+ _to_consumable_array.apply(void 0, [
479
+ _state.sent()
480
+ ]).concat(_to_consumable_array(threadMessages))
481
+ ];
482
+ }
483
+ });
484
+ });
485
+ return function data(_) {
486
+ return _ref.apply(this, arguments);
487
+ };
488
+ }();
489
+ // src/lib/threadMessages/threadMessagesQueryFn/messagesLimit.ts
490
+ var messagesLimit = 10;
491
+ // src/lib/threadMessages/threadMessagesQueryFn/hasNextPage.ts
492
+ var hasNextPage = function(param) {
493
+ var threadMessagesResponse = param.threadMessagesResponse;
494
+ if (threadMessagesResponse.data.length < messagesLimit) return false;
495
+ return threadMessagesResponse.hasNextPage();
496
+ };
497
+ // src/lib/threadMessages/threadMessagesQueryFn/index.ts
498
+ var threadMessagesQueryFn = function() {
499
+ var _ref = _async_to_generator(function(param) {
500
+ var _param_client, client, threadId, pageParam, threadMessagesResponse, _tmp;
501
+ return _ts_generator(this, function(_state) {
502
+ switch(_state.label){
503
+ case 0:
504
+ _param_client = param.client, client = _param_client === void 0 ? defaultClient : _param_client, threadId = param.threadId, pageParam = param.pageParam;
505
+ return [
506
+ 4,
507
+ client.beta.threads.messages.list(threadId, _object_spread_props(_object_spread({}, pageParam ? {
508
+ after: pageParam
509
+ } : {}), {
510
+ limit: messagesLimit
511
+ }))
512
+ ];
513
+ case 1:
514
+ threadMessagesResponse = _state.sent();
515
+ _tmp = {};
516
+ return [
517
+ 4,
518
+ data({
519
+ client: client,
520
+ threadMessagesResponse: threadMessagesResponse,
521
+ pageParam: pageParam,
522
+ threadId: threadId
523
+ })
524
+ ];
525
+ case 2:
526
+ return [
527
+ 2,
528
+ (_tmp.data = _state.sent(), _tmp.hasNextPage = hasNextPage({
529
+ threadMessagesResponse: threadMessagesResponse
530
+ }), _tmp.// @ts-ignore-next-line
531
+ lastId = threadMessagesResponse.body.last_id, _tmp)
532
+ ];
533
+ }
534
+ });
535
+ });
536
+ return function threadMessagesQueryFn(_) {
537
+ return _ref.apply(this, arguments);
538
+ };
539
+ }();
540
+ // src/lib/runs/runsQueryFn.ts
541
+ var runsQueryFn = function() {
542
+ var _ref = _async_to_generator(function(param) {
543
+ var _param_client, client, threadId, response;
544
+ return _ts_generator(this, function(_state) {
545
+ switch(_state.label){
546
+ case 0:
547
+ _param_client = param.client, client = _param_client === void 0 ? defaultClient : _param_client, threadId = param.threadId;
548
+ return [
549
+ 4,
550
+ client.beta.threads.runs.list(threadId, {
551
+ limit: 1
552
+ })
553
+ ];
554
+ case 1:
555
+ response = _state.sent();
556
+ return [
557
+ 2,
558
+ {
559
+ // @ts-ignore-next-line
560
+ data: response.data,
561
+ hasNextPage: response.hasNextPage(),
562
+ // @ts-ignore-next-line
563
+ lastId: response.body.last_id
564
+ }
565
+ ];
566
+ }
567
+ });
568
+ });
569
+ return function runsQueryFn(_) {
570
+ return _ref.apply(this, arguments);
571
+ };
572
+ }();
573
+ // Annotate the CommonJS export names for ESM import in node:
574
+ 0 && (module.exports = {
575
+ runsQueryFn: runsQueryFn,
576
+ threadMessagesQueryFn: threadMessagesQueryFn
577
+ });
578
+ //# sourceMappingURL=queryFns.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/queryFns.ts","../src/lib/ai/index.ts","../src/lib/threadMessages/threadMessagesQueryFn/data/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/threadMessages/extendThreadMessage.ts","../src/lib/threadMessages/threadMessagesQueryFn/data/runThreadMessages/getLatestRun.ts","../src/lib/optimistic/optimisticId.ts","../src/lib/threadMessages/threadMessagesQueryFn/data/runThreadMessages/index.ts","../src/lib/threadMessages/threadMessagesQueryFn/messagesLimit.ts","../src/lib/threadMessages/threadMessagesQueryFn/hasNextPage.ts","../src/lib/threadMessages/threadMessagesQueryFn/index.ts","../src/lib/runs/runsQueryFn.ts"],"names":["OpenAI","pMap"],"mappings":"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","sourcesContent":["export { threadMessagesQueryFn } from '@/lib/threadMessages/threadMessagesQueryFn'\nexport { runsQueryFn } from '@/lib/runs/runsQueryFn'\n","import OpenAI from 'openai'\n\nexport const defaultClient = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY!,\n})\n","import OpenAI from 'openai'\nimport pMap from 'p-map'\nimport { extendThreadMessage } from '@/lib/threadMessages/extendThreadMessage'\nimport { runThreadMessages } from './runThreadMessages'\n\nexport const data = async ({\n threadMessagesResponse,\n pageParam,\n threadId,\n client,\n}: {\n threadMessagesResponse: OpenAI.CursorPage<OpenAI.Beta.Threads.Messages.ThreadMessage>\n pageParam?: string\n threadId: string\n client: OpenAI\n}) => {\n const threadMessages = await pMap(threadMessagesResponse.data, (threadMessage) => (\n extendThreadMessage({\n client,\n threadMessage,\n })\n ))\n\n if (pageParam) {\n return threadMessages\n }\n\n return [\n ...await runThreadMessages({\n threadMessages,\n threadId,\n client,\n }),\n ...threadMessages,\n ]\n}\n","import OpenAI from 'openai'\n\ntype Args = {\n threadId: string\n runId: string\n client: OpenAI\n}\n\nexport const getRunSteps = async ({\n threadId,\n runId,\n client,\n}: Args) => {\n const runStepsResponse = await client.beta.threads.runs.steps.list(\n threadId,\n runId,\n )\n\n return runStepsResponse.data\n}\n","import OpenAI from 'openai'\nimport { getRunSteps } from '@/lib/runSteps/getRunSteps'\n\ntype Args = {\n threadMessage: OpenAI.Beta.Threads.Messages.ThreadMessage\n client: OpenAI\n}\n\nexport const extendThreadMessage = async ({\n threadMessage,\n client,\n}: Args) => {\n if (!threadMessage.run_id) {\n return {\n ...threadMessage,\n runSteps: [],\n }\n }\n\n return {\n ...threadMessage,\n runSteps: await getRunSteps({\n threadId: threadMessage.thread_id,\n runId: threadMessage.run_id,\n client,\n }),\n }\n}\n","import OpenAI from 'openai'\n\ntype Args = {\n threadId: string\n client: OpenAI\n}\n\nexport const getLatestRun = async ({\n threadId,\n client,\n}: Args) => {\n const runsResponse = await client.beta.threads.runs.list(threadId, {\n limit: 1,\n })\n\n return runsResponse.data[0]\n}\n","import { uid } from 'radash'\n\nexport const optimisticId = () => (\n `-${uid(24)}`\n)\n","import OpenAI from 'openai'\nimport { ThreadMessage } from '@/types'\nimport { getLatestRun } from './getLatestRun'\nimport { extendThreadMessage } from '@/lib/threadMessages/extendThreadMessage'\nimport { optimisticId } from '@/lib/optimistic/optimisticId'\n\ntype Args = {\n threadMessages: ThreadMessage[]\n threadId: string\n client: OpenAI\n}\n\nexport const runThreadMessages = async ({\n threadMessages,\n threadId,\n client,\n}: Args) => {\n const latestRun = await getLatestRun({ threadId, client })\n\n if (!latestRun) {\n return []\n }\n\n const threadMessageFromLatestRun = threadMessages.find(m => m.run_id === latestRun.id)\n\n if (threadMessageFromLatestRun) {\n return []\n }\n\n return [\n await extendThreadMessage({\n threadMessage: {\n id: optimisticId(),\n role: 'assistant' as OpenAI.Beta.Threads.Messages.ThreadMessage['role'],\n created_at: +new Date(),\n object: 'thread.message' as OpenAI.Beta.Threads.Messages.ThreadMessage['object'],\n content: [],\n run_id: latestRun.id,\n assistant_id: latestRun.assistant_id,\n thread_id: latestRun.thread_id,\n file_ids: [],\n metadata: {},\n },\n client,\n }),\n ]\n}\n","export const messagesLimit = 10\n","import OpenAI from 'openai'\nimport { messagesLimit } from './messagesLimit'\n\nexport const hasNextPage = ({\n threadMessagesResponse,\n}: {\n threadMessagesResponse: OpenAI.CursorPage<OpenAI.Beta.Threads.Messages.ThreadMessage>\n}) => {\n if (threadMessagesResponse.data.length < messagesLimit) return false\n\n return threadMessagesResponse.hasNextPage()\n}\n","import _ from 'lodash'\nimport { defaultClient } from '@/lib/ai'\nimport { ThreadMessagesPage } from '@/types'\nimport { data } from './data'\nimport { messagesLimit } from './messagesLimit'\nimport { hasNextPage } from './hasNextPage'\n\ntype Args = {\n client?: typeof defaultClient\n threadId: string\n pageParam?: string\n}\n\nexport const threadMessagesQueryFn = async ({\n client = defaultClient,\n threadId,\n pageParam,\n}: Args): Promise<ThreadMessagesPage> => {\n const threadMessagesResponse = await client.beta.threads.messages.list(threadId, {\n ...(pageParam ? { after: pageParam } : {}),\n limit: messagesLimit,\n })\n\n return {\n data: await data({\n client,\n threadMessagesResponse,\n pageParam,\n threadId,\n }),\n hasNextPage: hasNextPage({ threadMessagesResponse }),\n // @ts-ignore-next-line\n lastId: threadMessagesResponse.body.last_id,\n }\n}\n","import { RunsPage } from '@/types'\nimport { defaultClient } from '@/lib/ai'\n\ntype Args = {\n client?: typeof defaultClient\n threadId: string\n}\n\nexport const runsQueryFn = async ({\n client = defaultClient,\n threadId,\n}: Args): Promise<RunsPage> => {\n const response = await client.beta.threads.runs.list(threadId, {\n limit: 1,\n })\n\n return {\n // @ts-ignore-next-line\n data: response.data,\n hasNextPage: response.hasNextPage(),\n // @ts-ignore-next-line\n lastId: response.body.last_id,\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { d as defaultClient } from './index-CGpJFXMu.cjs';
2
+ import { ThreadMessagesPage, RunsPage } from './types/index.cjs';
3
+ import 'openai';
4
+
5
+ type Args$1 = {
6
+ client?: typeof defaultClient;
7
+ threadId: string;
8
+ pageParam?: string;
9
+ };
10
+ declare const threadMessagesQueryFn: ({ client, threadId, pageParam, }: Args$1) => Promise<ThreadMessagesPage>;
11
+
12
+ type Args = {
13
+ client?: typeof defaultClient;
14
+ threadId: string;
15
+ };
16
+ declare const runsQueryFn: ({ client, threadId, }: Args) => Promise<RunsPage>;
17
+
18
+ export { runsQueryFn, threadMessagesQueryFn };
@@ -1,5 +1,5 @@
1
- import { d as defaultClient } from './index-LPUEY9WE.js';
2
- import { MessagesPage, RunsPage } from './types/index.js';
1
+ import { d as defaultClient } from './index-CGpJFXMu.js';
2
+ import { ThreadMessagesPage, RunsPage } from './types/index.js';
3
3
  import 'openai';
4
4
 
5
5
  type Args$1 = {
@@ -7,12 +7,12 @@ type Args$1 = {
7
7
  threadId: string;
8
8
  pageParam?: string;
9
9
  };
10
- declare const queryFn$1: ({ client, threadId, pageParam, }: Args$1) => Promise<MessagesPage>;
10
+ declare const threadMessagesQueryFn: ({ client, threadId, pageParam, }: Args$1) => Promise<ThreadMessagesPage>;
11
11
 
12
12
  type Args = {
13
13
  client?: typeof defaultClient;
14
14
  threadId: string;
15
15
  };
16
- declare const queryFn: ({ client, threadId, }: Args) => Promise<RunsPage>;
16
+ declare const runsQueryFn: ({ client, threadId, }: Args) => Promise<RunsPage>;
17
17
 
18
- export { queryFn$1 as messagesQueryFn, queryFn as runsQueryFn };
18
+ export { runsQueryFn, threadMessagesQueryFn };