@superinterface/react 2.0.1 → 2.0.3

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.
@@ -263,12 +263,12 @@ var __toCommonJS = function(mod) {
263
263
  // src/mutationFns.ts
264
264
  var mutationFns_exports = {};
265
265
  __export(mutationFns_exports, {
266
+ createMessageMutationFn: function() {
267
+ return createMessageMutationFn;
268
+ },
266
269
  createRunMutationFn: function() {
267
270
  return createRunMutationFn;
268
271
  },
269
- createThreadMessageMutationFn: function() {
270
- return createThreadMessageMutationFn;
271
- },
272
272
  handleActionMutationFn: function() {
273
273
  return handleActionMutationFn;
274
274
  }
@@ -304,31 +304,31 @@ var getRunSteps = function() {
304
304
  return _ref.apply(this, arguments);
305
305
  };
306
306
  }();
307
- // src/lib/threadMessages/extendThreadMessage.ts
308
- var extendThreadMessage = function() {
307
+ // src/lib/messages/extendMessage.ts
308
+ var extendMessage = function() {
309
309
  var _ref = _async_to_generator(function(param) {
310
- var threadMessage, client, _tmp, _tmp1;
310
+ var message, client, _tmp, _tmp1;
311
311
  return _ts_generator(this, function(_state) {
312
312
  switch(_state.label){
313
313
  case 0:
314
- threadMessage = param.threadMessage, client = param.client;
315
- if (!threadMessage.run_id) {
314
+ message = param.message, client = param.client;
315
+ if (!message.run_id) {
316
316
  return [
317
317
  2,
318
- _object_spread_props(_object_spread({}, threadMessage), {
318
+ _object_spread_props(_object_spread({}, message), {
319
319
  runSteps: []
320
320
  })
321
321
  ];
322
322
  }
323
323
  _tmp = [
324
- _object_spread({}, threadMessage)
324
+ _object_spread({}, message)
325
325
  ];
326
326
  _tmp1 = {};
327
327
  return [
328
328
  4,
329
329
  getRunSteps({
330
- threadId: threadMessage.thread_id,
331
- runId: threadMessage.run_id,
330
+ threadId: message.thread_id,
331
+ runId: message.run_id,
332
332
  client: client
333
333
  })
334
334
  ];
@@ -342,14 +342,14 @@ var extendThreadMessage = function() {
342
342
  }
343
343
  });
344
344
  });
345
- return function extendThreadMessage(_) {
345
+ return function extendMessage(_) {
346
346
  return _ref.apply(this, arguments);
347
347
  };
348
348
  }();
349
- // src/lib/threadMessages/createThreadMessageMutationFn.ts
350
- var createThreadMessageMutationFn = function() {
349
+ // src/lib/messages/createMessageMutationFn.ts
350
+ var createMessageMutationFn = function() {
351
351
  var _ref = _async_to_generator(function(param) {
352
- var _param_client, client, content, threadId, threadMessage, _tmp;
352
+ var _param_client, client, content, threadId, message, _tmp;
353
353
  return _ts_generator(this, function(_state) {
354
354
  switch(_state.label){
355
355
  case 0:
@@ -362,24 +362,24 @@ var createThreadMessageMutationFn = function() {
362
362
  })
363
363
  ];
364
364
  case 1:
365
- threadMessage = _state.sent();
365
+ message = _state.sent();
366
366
  _tmp = {};
367
367
  return [
368
368
  4,
369
- extendThreadMessage({
370
- threadMessage: threadMessage,
369
+ extendMessage({
370
+ message: message,
371
371
  client: client
372
372
  })
373
373
  ];
374
374
  case 2:
375
375
  return [
376
376
  2,
377
- (_tmp.threadMessage = _state.sent(), _tmp)
377
+ (_tmp.message = _state.sent(), _tmp)
378
378
  ];
379
379
  }
380
380
  });
381
381
  });
382
- return function createThreadMessageMutationFn(_) {
382
+ return function createMessageMutationFn(_) {
383
383
  return _ref.apply(this, arguments);
384
384
  };
385
385
  }();
@@ -510,8 +510,8 @@ var handleActionMutationFn = function() {
510
510
  }();
511
511
  // Annotate the CommonJS export names for ESM import in node:
512
512
  0 && (module.exports = {
513
+ createMessageMutationFn: createMessageMutationFn,
513
514
  createRunMutationFn: createRunMutationFn,
514
- createThreadMessageMutationFn: createThreadMessageMutationFn,
515
515
  handleActionMutationFn: handleActionMutationFn
516
516
  });
517
517
  //# sourceMappingURL=mutationFns.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mutationFns.ts","../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/threadMessages/extendThreadMessage.ts","../src/lib/threadMessages/createThreadMessageMutationFn.ts","../src/lib/runs/createRunMutationFn.ts","../src/lib/actions/handleActionMutationFn/index.ts","../src/lib/actions/handleActionMutationFn/toolOutput/index.ts"],"names":["OpenAI","pMap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAmB;AAEZ,IAAM,gBAAgB,IAAI,cAAAA,QAAO;AAAA,EACtC,QAAQ,QAAQ,IAAI;AACtB,CAAC;;;ACIM,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM;AAAA,IAC5D;AAAA,IACA;AAAA,EACF;AAEA,SAAO,iBAAiB;AAC1B;;;ACXO,IAAM,sBAAsB,OAAO;AAAA,EACxC;AAAA,EACA;AACF,MAAY;AACV,MAAI,CAAC,cAAc,QAAQ;AACzB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,MAAM,YAAY;AAAA,MAC1B,UAAU,cAAc;AAAA,MACxB,OAAO,cAAc;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACbO,IAAM,gCAAgC,OAAO;AAAA,EAClD,SAAS;AAAA,EACT;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,gBAAgB,MAAM,OAAO,KAAK,QAAQ,SAAS,OAAO,UAAU;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,SAAO;AAAA,IACL,eAAe,MAAM,oBAAoB;AAAA,MACvC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AChBO,IAAM,sBAAsB,OAAO;AAAA,EACxC,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA+B;AAC7B,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IAC1D,GAAG;AAAA,IACH,cAAc;AAAA,EAChB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,EACF;AACF;;;AC3BA,mBAAiB;;;ACQV,IAAM,aAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,KAAK,UAAU,SAAS,SAAS,IAAI;AAE3C,MAAI,CAAC,IAAI;AACP,YAAQ,IAAI,EAAE,SAAS,CAAC;AACxB,UAAM,IAAI,MAAM,mBAAmB,SAAS,SAAS,IAAI,EAAE;AAAA,EAC7D;AAEA,SAAO;AAAA,IACL,cAAc,SAAS;AAAA,IACvB,QAAQ,MAAM,GAAG;AAAA,MACf;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ADbO,IAAM,yBAAyB,OAAO;AAAA,EAC3C,SAAS;AAAA,EACT;AAAA,EACA,YAAY,CAAC;AACf,MAA+B;AAC7B,MAAI,CAAC,UAAU,iBAAiB;AAC9B,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAC9F;AAEA,UAAQ,IAAI,iBAAiB,EAAE,UAAU,CAAC;AAE1C,QAAM,YAAY,UAAU,gBAAgB,oBAAoB;AAEhE,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK;AAAA,IACzC,UAAU;AAAA,IACV,UAAU;AAAA,IACV;AAAA,MACE,cAAc,UAAM,aAAAC,SAAK,WAAW,CAAC,aAAa,WAAW,EAAE,UAAU,WAAW,UAAU,CAAC,CAAC;AAAA,IAClG;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,EACF;AACF","sourcesContent":["export { createThreadMessageMutationFn } from '@/lib/threadMessages/createThreadMessageMutationFn'\nexport { createRunMutationFn } from '@/lib/runs/createRunMutationFn'\nexport { handleActionMutationFn } from '@/lib/actions/handleActionMutationFn'\n","import OpenAI from 'openai'\n\nexport const defaultClient = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY!,\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 { defaultClient } from '@/lib/ai'\nimport { ThreadMessage } from '@/types'\nimport { extendThreadMessage } from '@/lib/threadMessages/extendThreadMessage'\n\nexport type Args = {\n client?: typeof defaultClient\n content: string\n threadId: string\n}\n\nexport type Response = {\n threadMessage: ThreadMessage\n}\n\nexport const createThreadMessageMutationFn = async ({\n client = defaultClient,\n content,\n threadId,\n}: Args): Promise<Response> => {\n const threadMessage = await client.beta.threads.messages.create(threadId, {\n content: content,\n role: 'user',\n })\n\n return {\n threadMessage: await extendThreadMessage({\n threadMessage,\n client,\n }),\n }\n}\n","import OpenAI from 'openai'\nimport { Run } from '@/types'\nimport { defaultClient } from '@/lib/ai'\n\nexport type Args = {\n client?: typeof defaultClient\n threadId: string\n assistantId: string\n} & (OpenAI.Beta.Threads.Runs.RunCreateParams | {})\n\nexport type Response = {\n run: Run\n}\n\nexport const createRunMutationFn = async ({\n client = defaultClient,\n threadId,\n assistantId,\n ...rest\n}: Args): Promise<Response> => {\n const run = await client.beta.threads.runs.create(threadId, {\n ...rest,\n assistant_id: assistantId,\n })\n\n return {\n run,\n }\n}\n","import { Run, Functions } from '@/types'\nimport pMap from 'p-map'\nimport { defaultClient } from '@/lib/ai'\nimport { toolOutput } from './toolOutput'\n\nexport type Args = {\n client?: typeof defaultClient\n latestRun: Run\n functions?: Functions\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const handleActionMutationFn = async ({\n client = defaultClient,\n latestRun,\n functions = {},\n}: Args): Promise<Response> => {\n if (!latestRun.required_action) {\n throw new Error('No required_action for run ${latestRun.id} with status ${latestRun.status}')\n }\n\n console.log('handleActions', { latestRun })\n\n const toolCalls = latestRun.required_action.submit_tool_outputs.tool_calls\n\n const run = await client.beta.threads.runs.submitToolOutputs(\n latestRun.thread_id,\n latestRun.id,\n {\n tool_outputs: await pMap(toolCalls, (toolCall) => toolOutput({ toolCall, latestRun, functions })),\n },\n )\n\n return {\n run,\n }\n}\n","import OpenAI from 'openai'\nimport { Functions } from '@/types'\n\ntype Args = {\n toolCall: OpenAI.Beta.Threads.Runs.RequiredActionFunctionToolCall\n latestRun: OpenAI.Beta.Threads.Runs.Run\n functions: Functions\n}\n\nexport const toolOutput = async ({\n toolCall,\n latestRun,\n functions,\n}: Args) => {\n const fn = functions[toolCall.function.name]\n\n if (!fn) {\n console.log({ toolCall })\n throw new Error(`No function for ${toolCall.function.name}`)\n }\n\n return {\n tool_call_id: toolCall.id,\n output: await fn({\n toolCall,\n latestRun,\n }),\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/mutationFns.ts","../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/lib/messages/createMessageMutationFn.ts","../src/lib/runs/createRunMutationFn.ts","../src/lib/actions/handleActionMutationFn/index.ts","../src/lib/actions/handleActionMutationFn/toolOutput/index.ts"],"names":["OpenAI","pMap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAmB;AAEZ,IAAM,gBAAgB,IAAI,cAAAA,QAAO;AAAA,EACtC,QAAQ,QAAQ,IAAI;AACtB,CAAC;;;ACIM,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM;AAAA,IAC5D;AAAA,IACA;AAAA,EACF;AAEA,SAAO,iBAAiB;AAC1B;;;ACXO,IAAM,gBAAgB,OAAO;AAAA,EAClC;AAAA,EACA;AACF,MAAY;AACV,MAAI,CAAC,QAAQ,QAAQ;AACnB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,MAAM,YAAY;AAAA,MAC1B,UAAU,QAAQ;AAAA,MAClB,OAAO,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACbO,IAAM,0BAA0B,OAAO;AAAA,EAC5C,SAAS;AAAA,EACT;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,UAAU,MAAM,OAAO,KAAK,QAAQ,SAAS,OAAO,UAAU;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,SAAO;AAAA,IACL,SAAS,MAAM,cAAc;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AChBO,IAAM,sBAAsB,OAAO;AAAA,EACxC,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA+B;AAC7B,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IAC1D,GAAG;AAAA,IACH,cAAc;AAAA,EAChB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,EACF;AACF;;;AC3BA,mBAAiB;;;ACQV,IAAM,aAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,KAAK,UAAU,SAAS,SAAS,IAAI;AAE3C,MAAI,CAAC,IAAI;AACP,YAAQ,IAAI,EAAE,SAAS,CAAC;AACxB,UAAM,IAAI,MAAM,mBAAmB,SAAS,SAAS,IAAI,EAAE;AAAA,EAC7D;AAEA,SAAO;AAAA,IACL,cAAc,SAAS;AAAA,IACvB,QAAQ,MAAM,GAAG;AAAA,MACf;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ADbO,IAAM,yBAAyB,OAAO;AAAA,EAC3C,SAAS;AAAA,EACT;AAAA,EACA,YAAY,CAAC;AACf,MAA+B;AAC7B,MAAI,CAAC,UAAU,iBAAiB;AAC9B,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAC9F;AAEA,UAAQ,IAAI,iBAAiB,EAAE,UAAU,CAAC;AAE1C,QAAM,YAAY,UAAU,gBAAgB,oBAAoB;AAEhE,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK;AAAA,IACzC,UAAU;AAAA,IACV,UAAU;AAAA,IACV;AAAA,MACE,cAAc,UAAM,aAAAC,SAAK,WAAW,CAAC,aAAa,WAAW,EAAE,UAAU,WAAW,UAAU,CAAC,CAAC;AAAA,IAClG;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,EACF;AACF","sourcesContent":["export { createMessageMutationFn } from '@/lib/messages/createMessageMutationFn'\nexport { createRunMutationFn } from '@/lib/runs/createRunMutationFn'\nexport { handleActionMutationFn } from '@/lib/actions/handleActionMutationFn'\n","import OpenAI from 'openai'\n\nexport const defaultClient = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY!,\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 message: OpenAI.Beta.Threads.Messages.ThreadMessage\n client: OpenAI\n}\n\nexport const extendMessage = async ({\n message,\n client,\n}: Args) => {\n if (!message.run_id) {\n return {\n ...message,\n runSteps: [],\n }\n }\n\n return {\n ...message,\n runSteps: await getRunSteps({\n threadId: message.thread_id,\n runId: message.run_id,\n client,\n }),\n }\n}\n","import { defaultClient } from '@/lib/ai'\nimport { Message } from '@/types'\nimport { extendMessage } from '@/lib/messages/extendMessage'\n\nexport type Args = {\n client?: typeof defaultClient\n content: string\n threadId: string\n}\n\nexport type Response = {\n message: Message\n}\n\nexport const createMessageMutationFn = async ({\n client = defaultClient,\n content,\n threadId,\n}: Args): Promise<Response> => {\n const message = await client.beta.threads.messages.create(threadId, {\n content: content,\n role: 'user',\n })\n\n return {\n message: await extendMessage({\n message,\n client,\n }),\n }\n}\n","import OpenAI from 'openai'\nimport { Run } from '@/types'\nimport { defaultClient } from '@/lib/ai'\n\nexport type Args = {\n client?: typeof defaultClient\n threadId: string\n assistantId: string\n} & (OpenAI.Beta.Threads.Runs.RunCreateParams | {})\n\nexport type Response = {\n run: Run\n}\n\nexport const createRunMutationFn = async ({\n client = defaultClient,\n threadId,\n assistantId,\n ...rest\n}: Args): Promise<Response> => {\n const run = await client.beta.threads.runs.create(threadId, {\n ...rest,\n assistant_id: assistantId,\n })\n\n return {\n run,\n }\n}\n","import { Run, Functions } from '@/types'\nimport pMap from 'p-map'\nimport { defaultClient } from '@/lib/ai'\nimport { toolOutput } from './toolOutput'\n\nexport type Args = {\n client?: typeof defaultClient\n latestRun: Run\n functions?: Functions\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const handleActionMutationFn = async ({\n client = defaultClient,\n latestRun,\n functions = {},\n}: Args): Promise<Response> => {\n if (!latestRun.required_action) {\n throw new Error('No required_action for run ${latestRun.id} with status ${latestRun.status}')\n }\n\n console.log('handleActions', { latestRun })\n\n const toolCalls = latestRun.required_action.submit_tool_outputs.tool_calls\n\n const run = await client.beta.threads.runs.submitToolOutputs(\n latestRun.thread_id,\n latestRun.id,\n {\n tool_outputs: await pMap(toolCalls, (toolCall) => toolOutput({ toolCall, latestRun, functions })),\n },\n )\n\n return {\n run,\n }\n}\n","import OpenAI from 'openai'\nimport { Functions } from '@/types'\n\ntype Args = {\n toolCall: OpenAI.Beta.Threads.Runs.RequiredActionFunctionToolCall\n latestRun: OpenAI.Beta.Threads.Runs.Run\n functions: Functions\n}\n\nexport const toolOutput = async ({\n toolCall,\n latestRun,\n functions,\n}: Args) => {\n const fn = functions[toolCall.function.name]\n\n if (!fn) {\n console.log({ toolCall })\n throw new Error(`No function for ${toolCall.function.name}`)\n }\n\n return {\n tool_call_id: toolCall.id,\n output: await fn({\n toolCall,\n latestRun,\n }),\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { d as defaultClient } from './index-CGpJFXMu.cjs';
2
- import { ThreadMessage, Run, Functions } from './types/index.cjs';
2
+ import { Message, Run, Functions } from './types/index.cjs';
3
3
  import OpenAI from 'openai';
4
4
 
5
5
  type Args$2 = {
@@ -8,9 +8,9 @@ type Args$2 = {
8
8
  threadId: string;
9
9
  };
10
10
  type Response$2 = {
11
- threadMessage: ThreadMessage;
11
+ message: Message;
12
12
  };
13
- declare const createThreadMessageMutationFn: ({ client, content, threadId, }: Args$2) => Promise<Response$2>;
13
+ declare const createMessageMutationFn: ({ client, content, threadId, }: Args$2) => Promise<Response$2>;
14
14
 
15
15
  type Args$1 = {
16
16
  client?: typeof defaultClient;
@@ -32,4 +32,4 @@ type Response = {
32
32
  };
33
33
  declare const handleActionMutationFn: ({ client, latestRun, functions, }: Args) => Promise<Response>;
34
34
 
35
- export { createRunMutationFn, createThreadMessageMutationFn, handleActionMutationFn };
35
+ export { createMessageMutationFn, createRunMutationFn, handleActionMutationFn };
@@ -1,5 +1,5 @@
1
1
  import { d as defaultClient } from './index-CGpJFXMu.js';
2
- import { ThreadMessage, Run, Functions } from './types/index.js';
2
+ import { Message, Run, Functions } from './types/index.js';
3
3
  import OpenAI from 'openai';
4
4
 
5
5
  type Args$2 = {
@@ -8,9 +8,9 @@ type Args$2 = {
8
8
  threadId: string;
9
9
  };
10
10
  type Response$2 = {
11
- threadMessage: ThreadMessage;
11
+ message: Message;
12
12
  };
13
- declare const createThreadMessageMutationFn: ({ client, content, threadId, }: Args$2) => Promise<Response$2>;
13
+ declare const createMessageMutationFn: ({ client, content, threadId, }: Args$2) => Promise<Response$2>;
14
14
 
15
15
  type Args$1 = {
16
16
  client?: typeof defaultClient;
@@ -32,4 +32,4 @@ type Response = {
32
32
  };
33
33
  declare const handleActionMutationFn: ({ client, latestRun, functions, }: Args) => Promise<Response>;
34
34
 
35
- export { createRunMutationFn, createThreadMessageMutationFn, handleActionMutationFn };
35
+ export { createMessageMutationFn, createRunMutationFn, handleActionMutationFn };
@@ -231,31 +231,31 @@ var getRunSteps = function() {
231
231
  return _ref.apply(this, arguments);
232
232
  };
233
233
  }();
234
- // src/lib/threadMessages/extendThreadMessage.ts
235
- var extendThreadMessage = function() {
234
+ // src/lib/messages/extendMessage.ts
235
+ var extendMessage = function() {
236
236
  var _ref = _async_to_generator(function(param) {
237
- var threadMessage, client, _tmp, _tmp1;
237
+ var message, client, _tmp, _tmp1;
238
238
  return _ts_generator(this, function(_state) {
239
239
  switch(_state.label){
240
240
  case 0:
241
- threadMessage = param.threadMessage, client = param.client;
242
- if (!threadMessage.run_id) {
241
+ message = param.message, client = param.client;
242
+ if (!message.run_id) {
243
243
  return [
244
244
  2,
245
- _object_spread_props(_object_spread({}, threadMessage), {
245
+ _object_spread_props(_object_spread({}, message), {
246
246
  runSteps: []
247
247
  })
248
248
  ];
249
249
  }
250
250
  _tmp = [
251
- _object_spread({}, threadMessage)
251
+ _object_spread({}, message)
252
252
  ];
253
253
  _tmp1 = {};
254
254
  return [
255
255
  4,
256
256
  getRunSteps({
257
- threadId: threadMessage.thread_id,
258
- runId: threadMessage.run_id,
257
+ threadId: message.thread_id,
258
+ runId: message.run_id,
259
259
  client: client
260
260
  })
261
261
  ];
@@ -269,14 +269,14 @@ var extendThreadMessage = function() {
269
269
  }
270
270
  });
271
271
  });
272
- return function extendThreadMessage(_) {
272
+ return function extendMessage(_) {
273
273
  return _ref.apply(this, arguments);
274
274
  };
275
275
  }();
276
- // src/lib/threadMessages/createThreadMessageMutationFn.ts
277
- var createThreadMessageMutationFn = function() {
276
+ // src/lib/messages/createMessageMutationFn.ts
277
+ var createMessageMutationFn = function() {
278
278
  var _ref = _async_to_generator(function(param) {
279
- var _param_client, client, content, threadId, threadMessage, _tmp;
279
+ var _param_client, client, content, threadId, message, _tmp;
280
280
  return _ts_generator(this, function(_state) {
281
281
  switch(_state.label){
282
282
  case 0:
@@ -289,24 +289,24 @@ var createThreadMessageMutationFn = function() {
289
289
  })
290
290
  ];
291
291
  case 1:
292
- threadMessage = _state.sent();
292
+ message = _state.sent();
293
293
  _tmp = {};
294
294
  return [
295
295
  4,
296
- extendThreadMessage({
297
- threadMessage: threadMessage,
296
+ extendMessage({
297
+ message: message,
298
298
  client: client
299
299
  })
300
300
  ];
301
301
  case 2:
302
302
  return [
303
303
  2,
304
- (_tmp.threadMessage = _state.sent(), _tmp)
304
+ (_tmp.message = _state.sent(), _tmp)
305
305
  ];
306
306
  }
307
307
  });
308
308
  });
309
- return function createThreadMessageMutationFn(_) {
309
+ return function createMessageMutationFn(_) {
310
310
  return _ref.apply(this, arguments);
311
311
  };
312
312
  }();
@@ -435,5 +435,5 @@ var handleActionMutationFn = function() {
435
435
  return _ref.apply(this, arguments);
436
436
  };
437
437
  }();
438
- export { createRunMutationFn, createThreadMessageMutationFn, handleActionMutationFn };
438
+ export { createMessageMutationFn, createRunMutationFn, handleActionMutationFn };
439
439
  //# sourceMappingURL=mutationFns.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/threadMessages/extendThreadMessage.ts","../src/lib/threadMessages/createThreadMessageMutationFn.ts","../src/lib/runs/createRunMutationFn.ts","../src/lib/actions/handleActionMutationFn/index.ts","../src/lib/actions/handleActionMutationFn/toolOutput/index.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY;AAEZ,IAAM,gBAAgB,IAAI,OAAO;AAAA,EACtC,QAAQ,QAAQ,IAAI;AACtB,CAAC;;;ACIM,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM;AAAA,IAC5D;AAAA,IACA;AAAA,EACF;AAEA,SAAO,iBAAiB;AAC1B;;;ACXO,IAAM,sBAAsB,OAAO;AAAA,EACxC;AAAA,EACA;AACF,MAAY;AACV,MAAI,CAAC,cAAc,QAAQ;AACzB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,MAAM,YAAY;AAAA,MAC1B,UAAU,cAAc;AAAA,MACxB,OAAO,cAAc;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACbO,IAAM,gCAAgC,OAAO;AAAA,EAClD,SAAS;AAAA,EACT;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,gBAAgB,MAAM,OAAO,KAAK,QAAQ,SAAS,OAAO,UAAU;AAAA,IACxE;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,SAAO;AAAA,IACL,eAAe,MAAM,oBAAoB;AAAA,MACvC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AChBO,IAAM,sBAAsB,OAAO;AAAA,EACxC,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA+B;AAC7B,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IAC1D,GAAG;AAAA,IACH,cAAc;AAAA,EAChB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,EACF;AACF;;;AC3BA,OAAO,UAAU;;;ACQV,IAAM,aAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,KAAK,UAAU,SAAS,SAAS,IAAI;AAE3C,MAAI,CAAC,IAAI;AACP,YAAQ,IAAI,EAAE,SAAS,CAAC;AACxB,UAAM,IAAI,MAAM,mBAAmB,SAAS,SAAS,IAAI,EAAE;AAAA,EAC7D;AAEA,SAAO;AAAA,IACL,cAAc,SAAS;AAAA,IACvB,QAAQ,MAAM,GAAG;AAAA,MACf;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ADbO,IAAM,yBAAyB,OAAO;AAAA,EAC3C,SAAS;AAAA,EACT;AAAA,EACA,YAAY,CAAC;AACf,MAA+B;AAC7B,MAAI,CAAC,UAAU,iBAAiB;AAC9B,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAC9F;AAEA,UAAQ,IAAI,iBAAiB,EAAE,UAAU,CAAC;AAE1C,QAAM,YAAY,UAAU,gBAAgB,oBAAoB;AAEhE,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK;AAAA,IACzC,UAAU;AAAA,IACV,UAAU;AAAA,IACV;AAAA,MACE,cAAc,MAAM,KAAK,WAAW,CAAC,aAAa,WAAW,EAAE,UAAU,WAAW,UAAU,CAAC,CAAC;AAAA,IAClG;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,EACF;AACF","sourcesContent":["import OpenAI from 'openai'\n\nexport const defaultClient = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY!,\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 { defaultClient } from '@/lib/ai'\nimport { ThreadMessage } from '@/types'\nimport { extendThreadMessage } from '@/lib/threadMessages/extendThreadMessage'\n\nexport type Args = {\n client?: typeof defaultClient\n content: string\n threadId: string\n}\n\nexport type Response = {\n threadMessage: ThreadMessage\n}\n\nexport const createThreadMessageMutationFn = async ({\n client = defaultClient,\n content,\n threadId,\n}: Args): Promise<Response> => {\n const threadMessage = await client.beta.threads.messages.create(threadId, {\n content: content,\n role: 'user',\n })\n\n return {\n threadMessage: await extendThreadMessage({\n threadMessage,\n client,\n }),\n }\n}\n","import OpenAI from 'openai'\nimport { Run } from '@/types'\nimport { defaultClient } from '@/lib/ai'\n\nexport type Args = {\n client?: typeof defaultClient\n threadId: string\n assistantId: string\n} & (OpenAI.Beta.Threads.Runs.RunCreateParams | {})\n\nexport type Response = {\n run: Run\n}\n\nexport const createRunMutationFn = async ({\n client = defaultClient,\n threadId,\n assistantId,\n ...rest\n}: Args): Promise<Response> => {\n const run = await client.beta.threads.runs.create(threadId, {\n ...rest,\n assistant_id: assistantId,\n })\n\n return {\n run,\n }\n}\n","import { Run, Functions } from '@/types'\nimport pMap from 'p-map'\nimport { defaultClient } from '@/lib/ai'\nimport { toolOutput } from './toolOutput'\n\nexport type Args = {\n client?: typeof defaultClient\n latestRun: Run\n functions?: Functions\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const handleActionMutationFn = async ({\n client = defaultClient,\n latestRun,\n functions = {},\n}: Args): Promise<Response> => {\n if (!latestRun.required_action) {\n throw new Error('No required_action for run ${latestRun.id} with status ${latestRun.status}')\n }\n\n console.log('handleActions', { latestRun })\n\n const toolCalls = latestRun.required_action.submit_tool_outputs.tool_calls\n\n const run = await client.beta.threads.runs.submitToolOutputs(\n latestRun.thread_id,\n latestRun.id,\n {\n tool_outputs: await pMap(toolCalls, (toolCall) => toolOutput({ toolCall, latestRun, functions })),\n },\n )\n\n return {\n run,\n }\n}\n","import OpenAI from 'openai'\nimport { Functions } from '@/types'\n\ntype Args = {\n toolCall: OpenAI.Beta.Threads.Runs.RequiredActionFunctionToolCall\n latestRun: OpenAI.Beta.Threads.Runs.Run\n functions: Functions\n}\n\nexport const toolOutput = async ({\n toolCall,\n latestRun,\n functions,\n}: Args) => {\n const fn = functions[toolCall.function.name]\n\n if (!fn) {\n console.log({ toolCall })\n throw new Error(`No function for ${toolCall.function.name}`)\n }\n\n return {\n tool_call_id: toolCall.id,\n output: await fn({\n toolCall,\n latestRun,\n }),\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/lib/messages/createMessageMutationFn.ts","../src/lib/runs/createRunMutationFn.ts","../src/lib/actions/handleActionMutationFn/index.ts","../src/lib/actions/handleActionMutationFn/toolOutput/index.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY;AAEZ,IAAM,gBAAgB,IAAI,OAAO;AAAA,EACtC,QAAQ,QAAQ,IAAI;AACtB,CAAC;;;ACIM,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM;AAAA,IAC5D;AAAA,IACA;AAAA,EACF;AAEA,SAAO,iBAAiB;AAC1B;;;ACXO,IAAM,gBAAgB,OAAO;AAAA,EAClC;AAAA,EACA;AACF,MAAY;AACV,MAAI,CAAC,QAAQ,QAAQ;AACnB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,UAAU,CAAC;AAAA,IACb;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,MAAM,YAAY;AAAA,MAC1B,UAAU,QAAQ;AAAA,MAClB,OAAO,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ACbO,IAAM,0BAA0B,OAAO;AAAA,EAC5C,SAAS;AAAA,EACT;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,UAAU,MAAM,OAAO,KAAK,QAAQ,SAAS,OAAO,UAAU;AAAA,IAClE;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AAED,SAAO;AAAA,IACL,SAAS,MAAM,cAAc;AAAA,MAC3B;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AChBO,IAAM,sBAAsB,OAAO;AAAA,EACxC,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA+B;AAC7B,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IAC1D,GAAG;AAAA,IACH,cAAc;AAAA,EAChB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,EACF;AACF;;;AC3BA,OAAO,UAAU;;;ACQV,IAAM,aAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF,MAAY;AACV,QAAM,KAAK,UAAU,SAAS,SAAS,IAAI;AAE3C,MAAI,CAAC,IAAI;AACP,YAAQ,IAAI,EAAE,SAAS,CAAC;AACxB,UAAM,IAAI,MAAM,mBAAmB,SAAS,SAAS,IAAI,EAAE;AAAA,EAC7D;AAEA,SAAO;AAAA,IACL,cAAc,SAAS;AAAA,IACvB,QAAQ,MAAM,GAAG;AAAA,MACf;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;ADbO,IAAM,yBAAyB,OAAO;AAAA,EAC3C,SAAS;AAAA,EACT;AAAA,EACA,YAAY,CAAC;AACf,MAA+B;AAC7B,MAAI,CAAC,UAAU,iBAAiB;AAC9B,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAC9F;AAEA,UAAQ,IAAI,iBAAiB,EAAE,UAAU,CAAC;AAE1C,QAAM,YAAY,UAAU,gBAAgB,oBAAoB;AAEhE,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK;AAAA,IACzC,UAAU;AAAA,IACV,UAAU;AAAA,IACV;AAAA,MACE,cAAc,MAAM,KAAK,WAAW,CAAC,aAAa,WAAW,EAAE,UAAU,WAAW,UAAU,CAAC,CAAC;AAAA,IAClG;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,EACF;AACF","sourcesContent":["import OpenAI from 'openai'\n\nexport const defaultClient = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY!,\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 message: OpenAI.Beta.Threads.Messages.ThreadMessage\n client: OpenAI\n}\n\nexport const extendMessage = async ({\n message,\n client,\n}: Args) => {\n if (!message.run_id) {\n return {\n ...message,\n runSteps: [],\n }\n }\n\n return {\n ...message,\n runSteps: await getRunSteps({\n threadId: message.thread_id,\n runId: message.run_id,\n client,\n }),\n }\n}\n","import { defaultClient } from '@/lib/ai'\nimport { Message } from '@/types'\nimport { extendMessage } from '@/lib/messages/extendMessage'\n\nexport type Args = {\n client?: typeof defaultClient\n content: string\n threadId: string\n}\n\nexport type Response = {\n message: Message\n}\n\nexport const createMessageMutationFn = async ({\n client = defaultClient,\n content,\n threadId,\n}: Args): Promise<Response> => {\n const message = await client.beta.threads.messages.create(threadId, {\n content: content,\n role: 'user',\n })\n\n return {\n message: await extendMessage({\n message,\n client,\n }),\n }\n}\n","import OpenAI from 'openai'\nimport { Run } from '@/types'\nimport { defaultClient } from '@/lib/ai'\n\nexport type Args = {\n client?: typeof defaultClient\n threadId: string\n assistantId: string\n} & (OpenAI.Beta.Threads.Runs.RunCreateParams | {})\n\nexport type Response = {\n run: Run\n}\n\nexport const createRunMutationFn = async ({\n client = defaultClient,\n threadId,\n assistantId,\n ...rest\n}: Args): Promise<Response> => {\n const run = await client.beta.threads.runs.create(threadId, {\n ...rest,\n assistant_id: assistantId,\n })\n\n return {\n run,\n }\n}\n","import { Run, Functions } from '@/types'\nimport pMap from 'p-map'\nimport { defaultClient } from '@/lib/ai'\nimport { toolOutput } from './toolOutput'\n\nexport type Args = {\n client?: typeof defaultClient\n latestRun: Run\n functions?: Functions\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const handleActionMutationFn = async ({\n client = defaultClient,\n latestRun,\n functions = {},\n}: Args): Promise<Response> => {\n if (!latestRun.required_action) {\n throw new Error('No required_action for run ${latestRun.id} with status ${latestRun.status}')\n }\n\n console.log('handleActions', { latestRun })\n\n const toolCalls = latestRun.required_action.submit_tool_outputs.tool_calls\n\n const run = await client.beta.threads.runs.submitToolOutputs(\n latestRun.thread_id,\n latestRun.id,\n {\n tool_outputs: await pMap(toolCalls, (toolCall) => toolOutput({ toolCall, latestRun, functions })),\n },\n )\n\n return {\n run,\n }\n}\n","import OpenAI from 'openai'\nimport { Functions } from '@/types'\n\ntype Args = {\n toolCall: OpenAI.Beta.Threads.Runs.RequiredActionFunctionToolCall\n latestRun: OpenAI.Beta.Threads.Runs.Run\n functions: Functions\n}\n\nexport const toolOutput = async ({\n toolCall,\n latestRun,\n functions,\n}: Args) => {\n const fn = functions[toolCall.function.name]\n\n if (!fn) {\n console.log({ toolCall })\n throw new Error(`No function for ${toolCall.function.name}`)\n }\n\n return {\n tool_call_id: toolCall.id,\n output: await fn({\n toolCall,\n latestRun,\n }),\n }\n}\n"]}
package/dist/queryFns.cjs CHANGED
@@ -261,11 +261,11 @@ var __toCommonJS = function(mod) {
261
261
  // src/queryFns.ts
262
262
  var queryFns_exports = {};
263
263
  __export(queryFns_exports, {
264
+ messagesQueryFn: function() {
265
+ return messagesQueryFn;
266
+ },
264
267
  runsQueryFn: function() {
265
268
  return runsQueryFn;
266
- },
267
- threadMessagesQueryFn: function() {
268
- return threadMessagesQueryFn;
269
269
  }
270
270
  });
271
271
  module.exports = __toCommonJS(queryFns_exports);
@@ -274,7 +274,7 @@ var import_openai = __toESM(require("openai"), 1);
274
274
  var defaultClient = new import_openai.default({
275
275
  apiKey: process.env.OPENAI_API_KEY
276
276
  });
277
- // src/lib/threadMessages/threadMessagesQueryFn/data/index.ts
277
+ // src/lib/messages/messagesQueryFn/data/index.ts
278
278
  var import_p_map = __toESM(require("p-map"), 1);
279
279
  // src/lib/runSteps/getRunSteps/index.ts
280
280
  var getRunSteps = function() {
@@ -301,31 +301,31 @@ var getRunSteps = function() {
301
301
  return _ref.apply(this, arguments);
302
302
  };
303
303
  }();
304
- // src/lib/threadMessages/extendThreadMessage.ts
305
- var extendThreadMessage = function() {
304
+ // src/lib/messages/extendMessage.ts
305
+ var extendMessage = function() {
306
306
  var _ref = _async_to_generator(function(param) {
307
- var threadMessage, client, _tmp, _tmp1;
307
+ var message, client, _tmp, _tmp1;
308
308
  return _ts_generator(this, function(_state) {
309
309
  switch(_state.label){
310
310
  case 0:
311
- threadMessage = param.threadMessage, client = param.client;
312
- if (!threadMessage.run_id) {
311
+ message = param.message, client = param.client;
312
+ if (!message.run_id) {
313
313
  return [
314
314
  2,
315
- _object_spread_props(_object_spread({}, threadMessage), {
315
+ _object_spread_props(_object_spread({}, message), {
316
316
  runSteps: []
317
317
  })
318
318
  ];
319
319
  }
320
320
  _tmp = [
321
- _object_spread({}, threadMessage)
321
+ _object_spread({}, message)
322
322
  ];
323
323
  _tmp1 = {};
324
324
  return [
325
325
  4,
326
326
  getRunSteps({
327
- threadId: threadMessage.thread_id,
328
- runId: threadMessage.run_id,
327
+ threadId: message.thread_id,
328
+ runId: message.run_id,
329
329
  client: client
330
330
  })
331
331
  ];
@@ -339,11 +339,11 @@ var extendThreadMessage = function() {
339
339
  }
340
340
  });
341
341
  });
342
- return function extendThreadMessage(_) {
342
+ return function extendMessage(_) {
343
343
  return _ref.apply(this, arguments);
344
344
  };
345
345
  }();
346
- // src/lib/threadMessages/threadMessagesQueryFn/data/runThreadMessages/getLatestRun.ts
346
+ // src/lib/messages/messagesQueryFn/data/runMessages/getLatestRun.ts
347
347
  var getLatestRun = function() {
348
348
  var _ref = _async_to_generator(function(param) {
349
349
  var threadId, client, runsResponse;
@@ -375,14 +375,14 @@ var import_radash = require("radash");
375
375
  var optimisticId = function() {
376
376
  return "-".concat((0, import_radash.uid)(24));
377
377
  };
378
- // src/lib/threadMessages/threadMessagesQueryFn/data/runThreadMessages/index.ts
379
- var runThreadMessages = function() {
378
+ // src/lib/messages/messagesQueryFn/data/runMessages/index.ts
379
+ var runMessages = function() {
380
380
  var _ref = _async_to_generator(function(param) {
381
- var threadMessages, threadId, client, latestRun, threadMessageFromLatestRun;
381
+ var messages, threadId, client, latestRun, messageFromLatestRun;
382
382
  return _ts_generator(this, function(_state) {
383
383
  switch(_state.label){
384
384
  case 0:
385
- threadMessages = param.threadMessages, threadId = param.threadId, client = param.client;
385
+ messages = param.messages, threadId = param.threadId, client = param.client;
386
386
  return [
387
387
  4,
388
388
  getLatestRun({
@@ -398,10 +398,10 @@ var runThreadMessages = function() {
398
398
  []
399
399
  ];
400
400
  }
401
- threadMessageFromLatestRun = threadMessages.find(function(m) {
401
+ messageFromLatestRun = messages.find(function(m) {
402
402
  return m.run_id === latestRun.id;
403
403
  });
404
- if (threadMessageFromLatestRun) {
404
+ if (messageFromLatestRun) {
405
405
  return [
406
406
  2,
407
407
  []
@@ -409,8 +409,8 @@ var runThreadMessages = function() {
409
409
  }
410
410
  return [
411
411
  4,
412
- extendThreadMessage({
413
- threadMessage: {
412
+ extendMessage({
413
+ message: {
414
414
  id: optimisticId(),
415
415
  role: "assistant",
416
416
  created_at: +/* @__PURE__ */ new Date(),
@@ -435,39 +435,39 @@ var runThreadMessages = function() {
435
435
  }
436
436
  });
437
437
  });
438
- return function runThreadMessages(_) {
438
+ return function runMessages(_) {
439
439
  return _ref.apply(this, arguments);
440
440
  };
441
441
  }();
442
- // src/lib/threadMessages/threadMessagesQueryFn/data/index.ts
442
+ // src/lib/messages/messagesQueryFn/data/index.ts
443
443
  var data = function() {
444
444
  var _ref = _async_to_generator(function(param) {
445
- var threadMessagesResponse, pageParam, threadId, client, threadMessages;
445
+ var messagesResponse, pageParam, threadId, client, messages;
446
446
  return _ts_generator(this, function(_state) {
447
447
  switch(_state.label){
448
448
  case 0:
449
- threadMessagesResponse = param.threadMessagesResponse, pageParam = param.pageParam, threadId = param.threadId, client = param.client;
449
+ messagesResponse = param.messagesResponse, pageParam = param.pageParam, threadId = param.threadId, client = param.client;
450
450
  return [
451
451
  4,
452
- (0, import_p_map.default)(threadMessagesResponse.data, function(threadMessage) {
453
- return extendThreadMessage({
452
+ (0, import_p_map.default)(messagesResponse.data, function(message) {
453
+ return extendMessage({
454
454
  client: client,
455
- threadMessage: threadMessage
455
+ message: message
456
456
  });
457
457
  })
458
458
  ];
459
459
  case 1:
460
- threadMessages = _state.sent();
460
+ messages = _state.sent();
461
461
  if (pageParam) {
462
462
  return [
463
463
  2,
464
- threadMessages
464
+ messages
465
465
  ];
466
466
  }
467
467
  return [
468
468
  4,
469
- runThreadMessages({
470
- threadMessages: threadMessages,
469
+ runMessages({
470
+ messages: messages,
471
471
  threadId: threadId,
472
472
  client: client
473
473
  })
@@ -477,7 +477,7 @@ var data = function() {
477
477
  2,
478
478
  _to_consumable_array.apply(void 0, [
479
479
  _state.sent()
480
- ]).concat(_to_consumable_array(threadMessages))
480
+ ]).concat(_to_consumable_array(messages))
481
481
  ];
482
482
  }
483
483
  });
@@ -486,18 +486,18 @@ var data = function() {
486
486
  return _ref.apply(this, arguments);
487
487
  };
488
488
  }();
489
- // src/lib/threadMessages/threadMessagesQueryFn/messagesLimit.ts
489
+ // src/lib/messages/messagesQueryFn/messagesLimit.ts
490
490
  var messagesLimit = 10;
491
- // src/lib/threadMessages/threadMessagesQueryFn/hasNextPage.ts
491
+ // src/lib/messages/messagesQueryFn/hasNextPage.ts
492
492
  var hasNextPage = function(param) {
493
- var threadMessagesResponse = param.threadMessagesResponse;
494
- if (threadMessagesResponse.data.length < messagesLimit) return false;
495
- return threadMessagesResponse.hasNextPage();
493
+ var messagesResponse = param.messagesResponse;
494
+ if (messagesResponse.data.length < messagesLimit) return false;
495
+ return messagesResponse.hasNextPage();
496
496
  };
497
- // src/lib/threadMessages/threadMessagesQueryFn/index.ts
498
- var threadMessagesQueryFn = function() {
497
+ // src/lib/messages/messagesQueryFn/index.ts
498
+ var messagesQueryFn = function() {
499
499
  var _ref = _async_to_generator(function(param) {
500
- var _param_client, client, threadId, pageParam, threadMessagesResponse, _tmp;
500
+ var _param_client, client, threadId, pageParam, messagesResponse, _tmp;
501
501
  return _ts_generator(this, function(_state) {
502
502
  switch(_state.label){
503
503
  case 0:
@@ -511,13 +511,13 @@ var threadMessagesQueryFn = function() {
511
511
  }))
512
512
  ];
513
513
  case 1:
514
- threadMessagesResponse = _state.sent();
514
+ messagesResponse = _state.sent();
515
515
  _tmp = {};
516
516
  return [
517
517
  4,
518
518
  data({
519
519
  client: client,
520
- threadMessagesResponse: threadMessagesResponse,
520
+ messagesResponse: messagesResponse,
521
521
  pageParam: pageParam,
522
522
  threadId: threadId
523
523
  })
@@ -526,14 +526,14 @@ var threadMessagesQueryFn = function() {
526
526
  return [
527
527
  2,
528
528
  (_tmp.data = _state.sent(), _tmp.hasNextPage = hasNextPage({
529
- threadMessagesResponse: threadMessagesResponse
529
+ messagesResponse: messagesResponse
530
530
  }), _tmp.// @ts-ignore-next-line
531
- lastId = threadMessagesResponse.body.last_id, _tmp)
531
+ lastId = messagesResponse.body.last_id, _tmp)
532
532
  ];
533
533
  }
534
534
  });
535
535
  });
536
- return function threadMessagesQueryFn(_) {
536
+ return function messagesQueryFn(_) {
537
537
  return _ref.apply(this, arguments);
538
538
  };
539
539
  }();
@@ -572,7 +572,7 @@ var runsQueryFn = function() {
572
572
  }();
573
573
  // Annotate the CommonJS export names for ESM import in node:
574
574
  0 && (module.exports = {
575
- runsQueryFn: runsQueryFn,
576
- threadMessagesQueryFn: threadMessagesQueryFn
575
+ messagesQueryFn: messagesQueryFn,
576
+ runsQueryFn: runsQueryFn
577
577
  });
578
578
  //# sourceMappingURL=queryFns.cjs.map
@@ -1 +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"]}
1
+ {"version":3,"sources":["../src/queryFns.ts","../src/lib/ai/index.ts","../src/lib/messages/messagesQueryFn/data/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/lib/messages/messagesQueryFn/data/runMessages/getLatestRun.ts","../src/lib/optimistic/optimisticId.ts","../src/lib/messages/messagesQueryFn/data/runMessages/index.ts","../src/lib/messages/messagesQueryFn/messagesLimit.ts","../src/lib/messages/messagesQueryFn/hasNextPage.ts","../src/lib/messages/messagesQueryFn/index.ts","../src/lib/runs/runsQueryFn.ts"],"names":["OpenAI","pMap"],"mappings":"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","sourcesContent":["export { messagesQueryFn } from '@/lib/messages/messagesQueryFn'\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 { extendMessage } from '@/lib/messages/extendMessage'\nimport { runMessages } from './runMessages'\n\nexport const data = async ({\n messagesResponse,\n pageParam,\n threadId,\n client,\n}: {\n messagesResponse: OpenAI.CursorPage<OpenAI.Beta.Threads.Messages.ThreadMessage>\n pageParam?: string\n threadId: string\n client: OpenAI\n}) => {\n const messages = await pMap(messagesResponse.data, (message) => (\n extendMessage({\n client,\n message,\n })\n ))\n\n if (pageParam) {\n return messages\n }\n\n return [\n ...await runMessages({\n messages,\n threadId,\n client,\n }),\n ...messages,\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 message: OpenAI.Beta.Threads.Messages.ThreadMessage\n client: OpenAI\n}\n\nexport const extendMessage = async ({\n message,\n client,\n}: Args) => {\n if (!message.run_id) {\n return {\n ...message,\n runSteps: [],\n }\n }\n\n return {\n ...message,\n runSteps: await getRunSteps({\n threadId: message.thread_id,\n runId: message.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 { Message } from '@/types'\nimport { getLatestRun } from './getLatestRun'\nimport { extendMessage } from '@/lib/messages/extendMessage'\nimport { optimisticId } from '@/lib/optimistic/optimisticId'\n\ntype Args = {\n messages: Message[]\n threadId: string\n client: OpenAI\n}\n\nexport const runMessages = async ({\n messages,\n threadId,\n client,\n}: Args) => {\n const latestRun = await getLatestRun({ threadId, client })\n\n if (!latestRun) {\n return []\n }\n\n const messageFromLatestRun = messages.find(m => m.run_id === latestRun.id)\n\n if (messageFromLatestRun) {\n return []\n }\n\n return [\n await extendMessage({\n message: {\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 messagesResponse,\n}: {\n messagesResponse: OpenAI.CursorPage<OpenAI.Beta.Threads.Messages.ThreadMessage>\n}) => {\n if (messagesResponse.data.length < messagesLimit) return false\n\n return messagesResponse.hasNextPage()\n}\n","import _ from 'lodash'\nimport { defaultClient } from '@/lib/ai'\nimport { MessagesPage } 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 messagesQueryFn = async ({\n client = defaultClient,\n threadId,\n pageParam,\n}: Args): Promise<MessagesPage> => {\n const messagesResponse = 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 messagesResponse,\n pageParam,\n threadId,\n }),\n hasNextPage: hasNextPage({ messagesResponse }),\n // @ts-ignore-next-line\n lastId: messagesResponse.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"]}