@superinterface/react 1.0.5 → 1.1.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.
Files changed (43) hide show
  1. package/dist/index-LPUEY9WE.d.ts +5 -0
  2. package/dist/index.d.ts +135 -130
  3. package/dist/index.js +940 -750
  4. package/dist/index.js.map +1 -1
  5. package/dist/mutationFns.d.ts +9 -4
  6. package/dist/mutationFns.js +21 -19
  7. package/dist/mutationFns.js.map +1 -1
  8. package/dist/queryFns.d.ts +6 -3
  9. package/dist/queryFns.js +29 -24
  10. package/dist/queryFns.js.map +1 -1
  11. package/dist/utils.d.ts +24 -0
  12. package/dist/{lib/index.js → utils.js} +48 -5
  13. package/dist/utils.js.map +1 -0
  14. package/package.json +2 -3
  15. package/dist/chunk-DP5XKPRM.mjs +0 -8
  16. package/dist/chunk-DP5XKPRM.mjs.map +0 -1
  17. package/dist/chunk-E4KDALPU.mjs +0 -11
  18. package/dist/chunk-E4KDALPU.mjs.map +0 -1
  19. package/dist/chunk-QPW4QQ26.mjs +0 -49
  20. package/dist/chunk-QPW4QQ26.mjs.map +0 -1
  21. package/dist/index.d.mts +0 -561
  22. package/dist/index.mjs +0 -1899
  23. package/dist/index.mjs.map +0 -1
  24. package/dist/lib/index.d.mts +0 -3
  25. package/dist/lib/index.d.ts +0 -3
  26. package/dist/lib/index.js.map +0 -1
  27. package/dist/lib/index.mjs +0 -7
  28. package/dist/lib/index.mjs.map +0 -1
  29. package/dist/mutationFns.d.mts +0 -31
  30. package/dist/mutationFns.mjs +0 -84
  31. package/dist/mutationFns.mjs.map +0 -1
  32. package/dist/queryFns.d.mts +0 -15
  33. package/dist/queryFns.mjs +0 -126
  34. package/dist/queryFns.mjs.map +0 -1
  35. package/dist/queryKeys.d.mts +0 -5
  36. package/dist/queryKeys.d.ts +0 -5
  37. package/dist/queryKeys.js +0 -38
  38. package/dist/queryKeys.js.map +0 -1
  39. package/dist/queryKeys.mjs +0 -9
  40. package/dist/queryKeys.mjs.map +0 -1
  41. package/dist/types/index.d.mts +0 -33
  42. package/dist/types/index.mjs +0 -1
  43. package/dist/types/index.mjs.map +0 -1
@@ -38,21 +38,15 @@ module.exports = __toCommonJS(mutationFns_exports);
38
38
 
39
39
  // src/lib/ai/index.ts
40
40
  var import_openai = __toESM(require("openai"));
41
- var clientOptions = {
42
- apiKey: process.env.OPENAI_API_KEY,
43
- // @ts-ignore-next-line
44
- fetch: (url, init) => fetch(url, {
45
- ...init || {},
46
- // @ts-ignore-next-line
47
- cache: "no-store"
48
- })
49
- };
50
- var client = new import_openai.default(clientOptions);
41
+ var defaultClient = new import_openai.default({
42
+ apiKey: process.env.OPENAI_API_KEY
43
+ });
51
44
 
52
45
  // src/lib/runSteps/getRunSteps/index.ts
53
46
  var getRunSteps = async ({
54
47
  threadId,
55
- runId
48
+ runId,
49
+ client
56
50
  }) => {
57
51
  const runStepsResponse = await client.beta.threads.runs.steps.list(
58
52
  threadId,
@@ -63,7 +57,8 @@ var getRunSteps = async ({
63
57
 
64
58
  // src/lib/messages/extendMessage.ts
65
59
  var extendMessage = async ({
66
- message
60
+ message,
61
+ client
67
62
  }) => {
68
63
  if (!message.run_id) {
69
64
  return {
@@ -75,20 +70,26 @@ var extendMessage = async ({
75
70
  ...message,
76
71
  runSteps: await getRunSteps({
77
72
  threadId: message.thread_id,
78
- runId: message.run_id
73
+ runId: message.run_id,
74
+ client
79
75
  })
80
76
  };
81
77
  };
82
78
 
83
79
  // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn.ts
84
- var mutationFn = async ({ content, threadId }) => {
80
+ var mutationFn = async ({
81
+ client = defaultClient,
82
+ content,
83
+ threadId
84
+ }) => {
85
85
  const message = await client.beta.threads.messages.create(threadId, {
86
86
  content,
87
87
  role: "user"
88
88
  });
89
89
  return {
90
90
  message: await extendMessage({
91
- message
91
+ message,
92
+ client
92
93
  })
93
94
  };
94
95
  };
@@ -118,6 +119,7 @@ var toolOutput = async ({
118
119
 
119
120
  // src/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/index.ts
120
121
  var mutationFn2 = async ({
122
+ client = defaultClient,
121
123
  latestRun,
122
124
  functions = {}
123
125
  }) => {
@@ -134,22 +136,22 @@ var mutationFn2 = async ({
134
136
  }
135
137
  );
136
138
  return {
137
- // @ts-ignore-next-line
138
139
  run
139
140
  };
140
141
  };
141
142
 
142
143
  // src/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn.ts
143
144
  var mutationFn3 = async ({
145
+ client = defaultClient,
146
+ model,
144
147
  threadId,
145
148
  assistantId
146
149
  }) => {
147
150
  const run = await client.beta.threads.runs.create(threadId, {
148
- assistant_id: assistantId
149
- // model: 'gpt-3.5-turbo-1106',
151
+ assistant_id: assistantId,
152
+ model
150
153
  });
151
154
  return {
152
- // @ts-ignore-next-line
153
155
  run
154
156
  };
155
157
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mutationFns.ts","../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn.ts","../src/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/index.ts","../src/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/toolOutput/index.ts","../src/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn.ts"],"sourcesContent":["export { mutationFn as createMessageMutationFn } from '@/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn'\nexport { mutationFn as handleActionMutationFn } from '@/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn'\nexport { mutationFn as createRunMutationFn } from '@/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn'\n","import OpenAI, { ClientOptions } from 'openai'\n\nexport const clientOptions: ClientOptions = {\n apiKey: process.env.OPENAI_API_KEY!,\n // @ts-ignore-next-line\n fetch: (url: RequestInfo, init?: RequestInit): Promise<Response> => (\n fetch(url, {\n ...(init || {}),\n // @ts-ignore-next-line\n cache: 'no-store',\n })\n )\n}\n\nexport const client = new OpenAI(clientOptions)\n","import { client } from '@/lib/ai'\n\ntype Args = {\n threadId: string\n runId: string\n}\n\nexport const getRunSteps = async ({\n threadId,\n runId,\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}\n\nexport const extendMessage = async ({\n message,\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 }),\n }\n}\n","import { client } from '@/lib/ai'\nimport { Message } from '@/types'\nimport { extendMessage } from '@/lib/messages/extendMessage'\n\nexport type Args = {\n content: string\n threadId: string\n}\n\nexport type Response = {\n message: Message\n}\n\nexport const mutationFn = async ({ content, threadId }: 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 }),\n }\n}\n","import { Run, Functions } from '@/types'\nimport pMap from 'p-map'\nimport { client } from '@/lib/ai'\nimport { toolOutput } from './toolOutput'\n\ntype Args = {\n latestRun: Run\n functions?: Functions\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const mutationFn = async ({\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 // @ts-ignore-next-line\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","import { Run } from '@/types'\nimport { client } from '@/lib/ai'\n\ntype Args = {\n threadId: string\n assistantId: string\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const mutationFn = async ({\n threadId,\n assistantId,\n}: Args): Promise<Response> => {\n const run = await client.beta.threads.runs.create(threadId, {\n assistant_id: assistantId,\n // model: 'gpt-3.5-turbo-1106',\n })\n\n return {\n // @ts-ignore-next-line\n run,\n }\n // ...run,\n // assistantConversationId,\n // },\n // }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,6BAAAA;AAAA,EAAA,8BAAAA;AAAA;AAAA;;;ACAA,oBAAsC;AAE/B,IAAM,gBAA+B;AAAA,EAC1C,QAAQ,QAAQ,IAAI;AAAA;AAAA,EAEpB,OAAO,CAAC,KAAkB,SACxB,MAAM,KAAK;AAAA,IACT,GAAI,QAAQ,CAAC;AAAA;AAAA,IAEb,OAAO;AAAA,EACT,CAAC;AAEL;AAEO,IAAM,SAAS,IAAI,cAAAC,QAAO,aAAa;;;ACPvC,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,EACA;AACF,MAAY;AACV,QAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM;AAAA,IAC5D;AAAA,IACA;AAAA,EACF;AAEA,SAAO,iBAAiB;AAC1B;;;ACVO,IAAM,gBAAgB,OAAO;AAAA,EAClC;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,IACjB,CAAC;AAAA,EACH;AACF;;;ACXO,IAAM,aAAa,OAAO,EAAE,SAAS,SAAS,MAA+B;AAClF,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,IACF,CAAC;AAAA,EACH;AACF;;;ACvBA,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;;;ADdO,IAAMC,cAAa,OAAO;AAAA,EAC/B;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;AAAA,IAEL;AAAA,EACF;AACF;;;AE1BO,IAAMC,cAAa,OAAO;AAAA,EAC/B;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IAC1D,cAAc;AAAA;AAAA,EAEhB,CAAC;AAED,SAAO;AAAA;AAAA,IAEL;AAAA,EACF;AAKF;","names":["mutationFn","OpenAI","mutationFn","pMap","mutationFn"]}
1
+ {"version":3,"sources":["../src/mutationFns.ts","../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn.ts","../src/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/index.ts","../src/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn/toolOutput/index.ts","../src/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn.ts"],"sourcesContent":["export {\n mutationFn as createMessageMutationFn,\n Response as CreateMessageResponse,\n} from '@/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn'\nexport { mutationFn as handleActionMutationFn } from '@/hooks/actions/useHandleAction/lib/mutationOptions/mutationFn'\nexport { mutationFn as createRunMutationFn } from '@/hooks/runs/useCreateRun/lib/mutationOptions/mutationFn'\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 mutationFn = 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 { 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 mutationFn = 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","import { Run } from '@/types'\nimport { defaultClient } from '@/lib/ai'\n\nexport type Args = {\n client?: typeof defaultClient\n threadId: string\n assistantId: string\n model?: string\n}\n\nexport type Response = {\n run: Run\n}\n\nexport const mutationFn = async ({\n client = defaultClient,\n model,\n threadId,\n assistantId,\n}: Args): Promise<Response> => {\n const run = await client.beta.threads.runs.create(threadId, {\n assistant_id: assistantId,\n model,\n })\n\n return {\n run,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,6BAAAA;AAAA,EAAA,8BAAAA;AAAA;AAAA;;;ACAA,oBAAmB;AAEZ,IAAM,gBAAgB,IAAI,cAAAC,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,aAAa,OAAO;AAAA,EAC/B,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;;;AC7BA,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,IAAMC,cAAa,OAAO;AAAA,EAC/B,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;;;AEzBO,IAAMC,cAAa,OAAO;AAAA,EAC/B,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,MAAM,MAAM,OAAO,KAAK,QAAQ,KAAK,OAAO,UAAU;AAAA,IAC1D,cAAc;AAAA,IACd;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,EACF;AACF;","names":["mutationFn","OpenAI","mutationFn","pMap","mutationFn"]}
@@ -1,15 +1,18 @@
1
+ import { d as defaultClient } from './index-LPUEY9WE.js';
1
2
  import { MessagesPage, RunsPage } from './types/index.js';
2
3
  import 'openai';
3
4
 
4
5
  type Args$1 = {
6
+ client?: typeof defaultClient;
5
7
  threadId: string;
6
- cursor?: string;
8
+ pageParam?: string;
7
9
  };
8
- declare const queryFn$1: ({ threadId, cursor, }: Args$1) => Promise<MessagesPage>;
10
+ declare const queryFn$1: ({ client, threadId, pageParam, }: Args$1) => Promise<MessagesPage>;
9
11
 
10
12
  type Args = {
13
+ client?: typeof defaultClient;
11
14
  threadId: string;
12
15
  };
13
- declare const queryFn: ({ threadId, }: Args) => Promise<RunsPage>;
16
+ declare const queryFn: ({ client, threadId, }: Args) => Promise<RunsPage>;
14
17
 
15
18
  export { queryFn$1 as messagesQueryFn, queryFn as runsQueryFn };
package/dist/queryFns.js CHANGED
@@ -37,16 +37,9 @@ module.exports = __toCommonJS(queryFns_exports);
37
37
 
38
38
  // src/lib/ai/index.ts
39
39
  var import_openai = __toESM(require("openai"));
40
- var clientOptions = {
41
- apiKey: process.env.OPENAI_API_KEY,
42
- // @ts-ignore-next-line
43
- fetch: (url, init) => fetch(url, {
44
- ...init || {},
45
- // @ts-ignore-next-line
46
- cache: "no-store"
47
- })
48
- };
49
- var client = new import_openai.default(clientOptions);
40
+ var defaultClient = new import_openai.default({
41
+ apiKey: process.env.OPENAI_API_KEY
42
+ });
50
43
 
51
44
  // src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.ts
52
45
  var import_p_map = __toESM(require("p-map"));
@@ -54,7 +47,8 @@ var import_p_map = __toESM(require("p-map"));
54
47
  // src/lib/runSteps/getRunSteps/index.ts
55
48
  var getRunSteps = async ({
56
49
  threadId,
57
- runId
50
+ runId,
51
+ client
58
52
  }) => {
59
53
  const runStepsResponse = await client.beta.threads.runs.steps.list(
60
54
  threadId,
@@ -65,7 +59,8 @@ var getRunSteps = async ({
65
59
 
66
60
  // src/lib/messages/extendMessage.ts
67
61
  var extendMessage = async ({
68
- message
62
+ message,
63
+ client
69
64
  }) => {
70
65
  if (!message.run_id) {
71
66
  return {
@@ -77,14 +72,16 @@ var extendMessage = async ({
77
72
  ...message,
78
73
  runSteps: await getRunSteps({
79
74
  threadId: message.thread_id,
80
- runId: message.run_id
75
+ runId: message.run_id,
76
+ client
81
77
  })
82
78
  };
83
79
  };
84
80
 
85
81
  // src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/getLatestRun.ts
86
82
  var getLatestRun = async ({
87
- threadId
83
+ threadId,
84
+ client
88
85
  }) => {
89
86
  const runsResponse = await client.beta.threads.runs.list(threadId, {
90
87
  limit: 1
@@ -99,9 +96,10 @@ var optimisticId = () => `-${(0, import_radash.uid)(24)}`;
99
96
  // src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/index.ts
100
97
  var runMessages = async ({
101
98
  messages,
102
- threadId
99
+ threadId,
100
+ client
103
101
  }) => {
104
- const latestRun = await getLatestRun({ threadId });
102
+ const latestRun = await getLatestRun({ threadId, client });
105
103
  if (!latestRun) {
106
104
  return [];
107
105
  }
@@ -122,7 +120,8 @@ var runMessages = async ({
122
120
  thread_id: latestRun.thread_id,
123
121
  file_ids: [],
124
122
  metadata: {}
125
- }
123
+ },
124
+ client
126
125
  })
127
126
  ];
128
127
  };
@@ -130,19 +129,22 @@ var runMessages = async ({
130
129
  // src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.ts
131
130
  var data = async ({
132
131
  messagesResponse,
133
- cursor,
134
- threadId
132
+ pageParam,
133
+ threadId,
134
+ client
135
135
  }) => {
136
136
  const messages = await (0, import_p_map.default)(messagesResponse.data, (message) => extendMessage({
137
+ client,
137
138
  message
138
139
  }));
139
- if (cursor) {
140
+ if (pageParam) {
140
141
  return messages;
141
142
  }
142
143
  return [
143
144
  ...await runMessages({
144
145
  messages,
145
- threadId
146
+ threadId,
147
+ client
146
148
  }),
147
149
  ...messages
148
150
  ];
@@ -162,17 +164,19 @@ var hasNextPage = ({
162
164
 
163
165
  // src/hooks/messages/useMessages/lib/queryOptions/queryFn/index.ts
164
166
  var queryFn = async ({
167
+ client = defaultClient,
165
168
  threadId,
166
- cursor
169
+ pageParam
167
170
  }) => {
168
171
  const messagesResponse = await client.beta.threads.messages.list(threadId, {
169
- ...cursor ? { after: cursor } : {},
172
+ ...pageParam ? { after: pageParam } : {},
170
173
  limit: messagesLimit
171
174
  });
172
175
  return {
173
176
  data: await data({
177
+ client,
174
178
  messagesResponse,
175
- cursor,
179
+ pageParam,
176
180
  threadId
177
181
  }),
178
182
  hasNextPage: hasNextPage({ messagesResponse }),
@@ -183,6 +187,7 @@ var queryFn = async ({
183
187
 
184
188
  // src/hooks/runs/useRuns/lib/queryOptions/queryFn.ts
185
189
  var queryFn2 = async ({
190
+ client = defaultClient,
186
191
  threadId
187
192
  }) => {
188
193
  const response = await client.beta.threads.runs.list(threadId, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/queryFns.ts","../src/lib/ai/index.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/getLatestRun.ts","../src/lib/optimistic/optimisticId.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/index.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/messagesLimit.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/hasNextPage.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/index.ts","../src/hooks/runs/useRuns/lib/queryOptions/queryFn.ts"],"sourcesContent":["export { queryFn as messagesQueryFn } from '@/hooks/messages/useMessages/lib/queryOptions/queryFn'\nexport { queryFn as runsQueryFn } from '@/hooks/runs/useRuns/lib/queryOptions/queryFn'\n","import OpenAI, { ClientOptions } from 'openai'\n\nexport const clientOptions: ClientOptions = {\n apiKey: process.env.OPENAI_API_KEY!,\n // @ts-ignore-next-line\n fetch: (url: RequestInfo, init?: RequestInit): Promise<Response> => (\n fetch(url, {\n ...(init || {}),\n // @ts-ignore-next-line\n cache: 'no-store',\n })\n )\n}\n\nexport const client = new OpenAI(clientOptions)\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 cursor,\n threadId,\n}: {\n messagesResponse: OpenAI.CursorPage<OpenAI.Beta.Threads.Messages.ThreadMessage>\n cursor?: string\n threadId: string\n}) => {\n const messages = await pMap(messagesResponse.data, (message) => (\n extendMessage({\n message,\n })\n ))\n\n if (cursor) {\n return messages\n }\n\n return [\n ...await runMessages({\n messages,\n threadId,\n }),\n ...messages,\n ]\n}\n","import { client } from '@/lib/ai'\n\ntype Args = {\n threadId: string\n runId: string\n}\n\nexport const getRunSteps = async ({\n threadId,\n runId,\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}\n\nexport const extendMessage = async ({\n message,\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 }),\n }\n}\n","import { client } from '@/lib/ai'\n\ntype Args = {\n threadId: string\n}\n\nexport const getLatestRun = async ({\n threadId,\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}\n\nexport const runMessages = async ({\n messages,\n threadId,\n}: Args) => {\n const latestRun = await getLatestRun({ threadId })\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 }),\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 { client } from '@/lib/ai'\nimport { MessagesPage } from '@/types'\nimport { data } from './data'\nimport { messagesLimit } from './messagesLimit'\nimport { hasNextPage } from './hasNextPage'\n\ntype Args = {\n threadId: string\n cursor?: string\n}\n\nexport const queryFn = async ({\n threadId,\n cursor,\n}: Args): Promise<MessagesPage> => {\n const messagesResponse = await client.beta.threads.messages.list(threadId, {\n ...(cursor ? { after: cursor } : {}),\n limit: messagesLimit,\n })\n\n return {\n data: await data({\n messagesResponse,\n cursor,\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 { client } from '@/lib/ai'\n\ntype Args = {\n threadId: string\n}\n\nexport const queryFn = async ({\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"],"mappings":"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","names":["queryFn","OpenAI","pMap","queryFn"]}
1
+ {"version":3,"sources":["../src/queryFns.ts","../src/lib/ai/index.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/getLatestRun.ts","../src/lib/optimistic/optimisticId.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/data/runMessages/index.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/messagesLimit.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/hasNextPage.ts","../src/hooks/messages/useMessages/lib/queryOptions/queryFn/index.ts","../src/hooks/runs/useRuns/lib/queryOptions/queryFn.ts"],"sourcesContent":["export { queryFn as messagesQueryFn } from '@/hooks/messages/useMessages/lib/queryOptions/queryFn'\nexport { queryFn as runsQueryFn } from '@/hooks/runs/useRuns/lib/queryOptions/queryFn'\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 queryFn = 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 queryFn = 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"],"mappings":"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","names":["queryFn","OpenAI","pMap","queryFn"]}
@@ -0,0 +1,24 @@
1
+ export { HydrationBoundary, QueryClient, dehydrate } from '@tanstack/react-query';
2
+ import OpenAI from 'openai';
3
+
4
+ type Args = {
5
+ message: OpenAI.Beta.Threads.Messages.ThreadMessage;
6
+ client: OpenAI;
7
+ };
8
+ declare const extendMessage: ({ message, client, }: Args) => Promise<{
9
+ runSteps: OpenAI.Beta.Threads.Runs.Steps.RunStep[];
10
+ id: string;
11
+ assistant_id: string | null;
12
+ content: (OpenAI.Beta.Threads.Messages.MessageContentImageFile | OpenAI.Beta.Threads.Messages.MessageContentText)[];
13
+ created_at: number;
14
+ file_ids: string[];
15
+ metadata: unknown;
16
+ object: "thread.message";
17
+ role: "user" | "assistant";
18
+ run_id: string | null;
19
+ thread_id: string;
20
+ }>;
21
+
22
+ declare const optimisticId: () => string;
23
+
24
+ export { extendMessage, optimisticId };
@@ -17,18 +17,61 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/lib/index.ts
21
- var lib_exports = {};
22
- __export(lib_exports, {
20
+ // src/utils.ts
21
+ var utils_exports = {};
22
+ __export(utils_exports, {
23
+ HydrationBoundary: () => import_react_query.HydrationBoundary,
24
+ QueryClient: () => import_react_query.QueryClient,
25
+ dehydrate: () => import_react_query.dehydrate,
26
+ extendMessage: () => extendMessage,
23
27
  optimisticId: () => optimisticId
24
28
  });
25
- module.exports = __toCommonJS(lib_exports);
29
+ module.exports = __toCommonJS(utils_exports);
30
+ var import_react_query = require("@tanstack/react-query");
31
+
32
+ // src/lib/runSteps/getRunSteps/index.ts
33
+ var getRunSteps = async ({
34
+ threadId,
35
+ runId,
36
+ client
37
+ }) => {
38
+ const runStepsResponse = await client.beta.threads.runs.steps.list(
39
+ threadId,
40
+ runId
41
+ );
42
+ return runStepsResponse.data;
43
+ };
44
+
45
+ // src/lib/messages/extendMessage.ts
46
+ var extendMessage = async ({
47
+ message,
48
+ client
49
+ }) => {
50
+ if (!message.run_id) {
51
+ return {
52
+ ...message,
53
+ runSteps: []
54
+ };
55
+ }
56
+ return {
57
+ ...message,
58
+ runSteps: await getRunSteps({
59
+ threadId: message.thread_id,
60
+ runId: message.run_id,
61
+ client
62
+ })
63
+ };
64
+ };
26
65
 
27
66
  // src/lib/optimistic/optimisticId.ts
28
67
  var import_radash = require("radash");
29
68
  var optimisticId = () => `-${(0, import_radash.uid)(24)}`;
30
69
  // Annotate the CommonJS export names for ESM import in node:
31
70
  0 && (module.exports = {
71
+ HydrationBoundary,
72
+ QueryClient,
73
+ dehydrate,
74
+ extendMessage,
32
75
  optimisticId
33
76
  });
34
- //# sourceMappingURL=index.js.map
77
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts","../src/lib/optimistic/optimisticId.ts"],"sourcesContent":["export {\n QueryClient,\n HydrationBoundary,\n dehydrate,\n} from '@tanstack/react-query'\nexport { extendMessage } from '@/lib/messages/extendMessage'\nexport { optimisticId } from '@/lib/optimistic/optimisticId'\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 { uid } from 'radash'\n\nexport const optimisticId = () => (\n `-${uid(24)}`\n)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAIO;;;ACIA,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;;;AC3BA,oBAAoB;AAEb,IAAM,eAAe,MAC1B,QAAI,mBAAI,EAAE,CAAC;","names":[]}
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@superinterface/react",
3
- "version": "1.0.5",
3
+ "version": "1.1.1",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
8
8
  ".": "./dist/index.js",
9
9
  "./*": "./dist/*.js",
10
- "./types": "./dist/types/index.js",
11
- "./lib": "./dist/lib/index.js"
10
+ "./types": "./dist/types/index.js"
12
11
  },
13
12
  "files": [
14
13
  "dist"
@@ -1,8 +0,0 @@
1
- // src/lib/optimistic/optimisticId.ts
2
- import { uid } from "radash";
3
- var optimisticId = () => `-${uid(24)}`;
4
-
5
- export {
6
- optimisticId
7
- };
8
- //# sourceMappingURL=chunk-DP5XKPRM.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/optimistic/optimisticId.ts"],"sourcesContent":["import { uid } from 'radash'\n\nexport const optimisticId = () => (\n `-${uid(24)}`\n)\n"],"mappings":";AAAA,SAAS,WAAW;AAEb,IAAM,eAAe,MAC1B,IAAI,IAAI,EAAE,CAAC;","names":[]}
@@ -1,11 +0,0 @@
1
- // src/hooks/messages/useMessages/lib/queryOptions/queryKey.ts
2
- var queryKey = () => ["messages"];
3
-
4
- // src/hooks/runs/useRuns/lib/queryOptions/queryKey.ts
5
- var queryKey2 = () => ["runs"];
6
-
7
- export {
8
- queryKey,
9
- queryKey2
10
- };
11
- //# sourceMappingURL=chunk-E4KDALPU.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/messages/useMessages/lib/queryOptions/queryKey.ts","../src/hooks/runs/useRuns/lib/queryOptions/queryKey.ts"],"sourcesContent":["export const queryKey = () => (\n ['messages']\n)\n","export const queryKey = () => (\n ['runs']\n)\n"],"mappings":";AAAO,IAAM,WAAW,MACtB,CAAC,UAAU;;;ACDN,IAAMA,YAAW,MACtB,CAAC,MAAM;","names":["queryKey"]}
@@ -1,49 +0,0 @@
1
- // src/lib/ai/index.ts
2
- import OpenAI from "openai";
3
- var clientOptions = {
4
- apiKey: process.env.OPENAI_API_KEY,
5
- // @ts-ignore-next-line
6
- fetch: (url, init) => fetch(url, {
7
- ...init || {},
8
- // @ts-ignore-next-line
9
- cache: "no-store"
10
- })
11
- };
12
- var client = new OpenAI(clientOptions);
13
-
14
- // src/lib/runSteps/getRunSteps/index.ts
15
- var getRunSteps = async ({
16
- threadId,
17
- runId
18
- }) => {
19
- const runStepsResponse = await client.beta.threads.runs.steps.list(
20
- threadId,
21
- runId
22
- );
23
- return runStepsResponse.data;
24
- };
25
-
26
- // src/lib/messages/extendMessage.ts
27
- var extendMessage = async ({
28
- message
29
- }) => {
30
- if (!message.run_id) {
31
- return {
32
- ...message,
33
- runSteps: []
34
- };
35
- }
36
- return {
37
- ...message,
38
- runSteps: await getRunSteps({
39
- threadId: message.thread_id,
40
- runId: message.run_id
41
- })
42
- };
43
- };
44
-
45
- export {
46
- client,
47
- extendMessage
48
- };
49
- //# sourceMappingURL=chunk-QPW4QQ26.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/ai/index.ts","../src/lib/runSteps/getRunSteps/index.ts","../src/lib/messages/extendMessage.ts"],"sourcesContent":["import OpenAI, { ClientOptions } from 'openai'\n\nexport const clientOptions: ClientOptions = {\n apiKey: process.env.OPENAI_API_KEY!,\n // @ts-ignore-next-line\n fetch: (url: RequestInfo, init?: RequestInit): Promise<Response> => (\n fetch(url, {\n ...(init || {}),\n // @ts-ignore-next-line\n cache: 'no-store',\n })\n )\n}\n\nexport const client = new OpenAI(clientOptions)\n","import { client } from '@/lib/ai'\n\ntype Args = {\n threadId: string\n runId: string\n}\n\nexport const getRunSteps = async ({\n threadId,\n runId,\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}\n\nexport const extendMessage = async ({\n message,\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 }),\n }\n}\n"],"mappings":";AAAA,OAAO,YAA+B;AAE/B,IAAM,gBAA+B;AAAA,EAC1C,QAAQ,QAAQ,IAAI;AAAA;AAAA,EAEpB,OAAO,CAAC,KAAkB,SACxB,MAAM,KAAK;AAAA,IACT,GAAI,QAAQ,CAAC;AAAA;AAAA,IAEb,OAAO;AAAA,EACT,CAAC;AAEL;AAEO,IAAM,SAAS,IAAI,OAAO,aAAa;;;ACPvC,IAAM,cAAc,OAAO;AAAA,EAChC;AAAA,EACA;AACF,MAAY;AACV,QAAM,mBAAmB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM;AAAA,IAC5D;AAAA,IACA;AAAA,EACF;AAEA,SAAO,iBAAiB;AAC1B;;;ACVO,IAAM,gBAAgB,OAAO;AAAA,EAClC;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,IACjB,CAAC;AAAA,EACH;AACF;","names":[]}