From 0170c8abfbf64d31727472db54d3d08dc09205c3 Mon Sep 17 00:00:00 2001 From: Anbraten <6918444+anbraten@users.noreply.github.com> Date: Tue, 4 Jun 2024 18:44:16 +0200 Subject: [PATCH 1/3] feat: support streaming --- bun.lockb | Bin 0 -> 486114 bytes nuxt.config.ts | 5 +- package.json | 38 +- pages/chats/[chat_id].vue | 67 +- pnpm-lock.yaml | 1304 +++++++++++++--------- server/api/chats/[chat_id]/chat.post.ts | 337 ++++-- server/api/repos/[repo_id]/clone.post.ts | 8 +- server/utils/vectorStore.ts | 2 + 8 files changed, 1134 insertions(+), 627 deletions(-) create mode 100755 bun.lockb diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..4d9bf0f0d791c7fd1bb4f844fa745201f7cbaf11 GIT binary patch literal 486114 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

qWhS;qio2#4$NLfomtKK#Oq29P{ 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 import Markdown from '~/components/Markdown.vue'; +import { fetchEventSource } from '@microsoft/fetch-event-source'; const chatsStore = await useChatsStore(); @@ -147,15 +148,71 @@ async function sendMessage() { thinking.value = true; try { - await $fetch(`/api/chats/${chat.value.id}/chat`, { + let aiMessageIndex: number; + let currentRunId: string | null = null; + const _chatId = chat.value.id; + await fetchEventSource(`/api/chats/${chat.value.id}/chat`, { method: 'POST', body: JSON.stringify({ message, }), + headers: { + 'Content-Type': 'application/json', + }, + openWhenHidden: true, + onopen: async (response: Response) => { + currentRunId = response.headers.get('x-langsmith-run-id'); + chat.value!.messages.push({ + id: Date.now(), + chatId: _chatId, + from: 'ai', + content: '', + createdAt: new Date().toISOString(), + }); + aiMessageIndex = chat.value!.messages.length - 1; + }, + onclose: async () => { + // const runId = currentRunId.value; + // if (runId) { + // await shareRun(runId); + // } + console.log('done', currentRunId); + thinking.value = false; + // await refreshChat(); + await chatsStore.refresh(); + }, + onerror: (error: Error) => { + chat.value!.messages.push({ + id: Date.now(), + chatId: _chatId, + from: 'error', + content: error.message, + createdAt: new Date().toISOString(), + }); + thinking.value = false; + throw error; + }, + onmessage: async (msg: any) => { + if (msg.event === 'end') { + thinking.value = false; + } else if (msg.event === 'data' && msg.data) { + const _chat = chat.value!; + _chat.messages[aiMessageIndex].content += msg.data; + chat.value = _chat; + } + }, }); - await refreshChat(); - await chatsStore.refresh(); + // await $fetch(`/api/chats/${chat.value.id}/chat`, { + // method: 'POST', + // body: JSON.stringify({ + // message, + // }), + // }); + + // await refreshChat(); + // await chatsStore.refresh(); + // thinking.value = false; } catch (e) { const error = e as Error; chat.value.messages.push({ @@ -165,12 +222,8 @@ async function sendMessage() { content: error.message, createdAt: new Date().toISOString(), }); - return; - } finally { thinking.value = false; } - - await refreshChat(); } async function deleteChat() { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 085fbdd..8f3fd13 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,26 +15,32 @@ importers: specifier: ^40.0.3 version: 40.0.3 '@langchain/community': - specifier: ^0.2.2 - version: 0.2.2(axios@0.27.2)(better-sqlite3@9.4.3)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + specifier: ^0.2.5 + version: 0.2.5(axios@0.27.2)(better-sqlite3@9.6.0)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + '@langchain/core': + specifier: ^0.1.26 + version: 0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) '@langchain/openai': specifier: ^0.0.33 - version: 0.0.33(encoding@0.1.13) + version: 0.0.33(encoding@0.1.13)(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0)) '@langchain/weaviate': specifier: ^0.0.4 - version: 0.0.4(encoding@0.1.13)(graphql@16.8.1) + version: 0.0.4(encoding@0.1.13)(graphql@16.8.1)(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + '@microsoft/fetch-event-source': + specifier: ^2.0.1 + version: 2.0.1 better-sqlite3: - specifier: ^9.4.3 - version: 9.4.3 + specifier: ^9.6.0 + version: 9.6.0 consola: specifier: ^3.2.3 version: 3.2.3 drizzle-orm: - specifier: ^0.30.4 - version: 0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3) + specifier: ^0.30.10 + version: 0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0) glob: - specifier: ^10.3.10 - version: 10.3.10 + specifier: ^10.4.1 + version: 10.4.1 jsonwebtoken: specifier: ^9.0.2 version: 9.0.2 @@ -42,54 +48,54 @@ importers: specifier: ^4.0.0 version: 4.0.0 langchain: - specifier: ^0.2.2 - version: 0.2.2(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + specifier: ^0.2.4 + version: 0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) nuxt-icon: specifier: ^0.6.10 - version: 0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + version: 0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) octokit: - specifier: ^3.1.2 - version: 3.1.2 + specifier: ^3.2.1 + version: 3.2.1 simple-git: - specifier: ^3.23.0 - version: 3.23.0 + specifier: ^3.24.0 + version: 3.24.0 vue-markdown-render: - specifier: ^2.1.1 - version: 2.1.1(vue@3.4.21(typescript@5.4.5)) + specifier: ^2.2.1 + version: 2.2.1(vue@3.4.21(typescript@5.4.5)) zod: - specifier: ^3.22.4 - version: 3.22.4 + specifier: ^3.23.8 + version: 3.23.8 devDependencies: '@iconify/json': - specifier: ^2.2.195 - version: 2.2.195 + specifier: ^2.2.216 + version: 2.2.216 '@nuxt/devtools': specifier: latest - version: 0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + version: 0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) '@nuxt/ui': - specifier: ^2.14.2 - version: 2.14.2(axios@0.27.2)(focus-trap@7.5.4)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + specifier: ^2.16.0 + version: 2.16.0(axios@0.27.2)(focus-trap@7.5.4)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) '@nuxtjs/tailwindcss': - specifier: ^6.11.4 - version: 6.11.4(rollup@4.18.0) + specifier: ^6.12.0 + version: 6.12.0(rollup@4.18.0) '@types/better-sqlite3': - specifier: ^7.6.9 - version: 7.6.9 + specifier: ^7.6.10 + version: 7.6.10 '@types/jsonwebtoken': specifier: ^9.0.6 version: 9.0.6 '@types/markdown-it': - specifier: ^13.0.7 - version: 13.0.7 + specifier: ^13.0.8 + version: 13.0.8 '@types/node': - specifier: ^20.11.30 - version: 20.11.30 + specifier: ^20.14.1 + version: 20.14.1 dotenv: specifier: ^16.4.5 version: 16.4.5 drizzle-kit: - specifier: ^0.20.14 - version: 0.20.14 + specifier: ^0.20.18 + version: 0.20.18 esbuild: specifier: ^0.20.2 version: 0.20.2 @@ -98,13 +104,13 @@ importers: version: 2.1.1(esbuild@0.20.2) nuxt: specifier: ^3.11.2 - version: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + version: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) prettier: - specifier: ^3.2.5 - version: 3.2.5 + specifier: ^3.3.0 + version: 3.3.0 tsx: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.11.2 + version: 4.11.2 typescript: specifier: ^5.4.5 version: 5.4.5 @@ -474,46 +480,20 @@ packages: '@cloudflare/kv-asset-handler@0.3.1': resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} - '@csstools/cascade-layer-name-parser@1.0.9': - resolution: {integrity: sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - '@csstools/css-parser-algorithms': ^2.6.1 - '@csstools/css-tokenizer': ^2.2.4 - - '@csstools/css-parser-algorithms@2.6.1': - resolution: {integrity: sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - '@csstools/css-tokenizer': ^2.2.4 - - '@csstools/css-tokenizer@2.2.4': - resolution: {integrity: sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==} - engines: {node: ^14 || ^16 || >=18} - '@csstools/selector-resolve-nested@1.1.0': resolution: {integrity: sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.13 - '@csstools/selector-specificity@3.0.2': - resolution: {integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==} + '@csstools/selector-specificity@3.1.1': + resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.13 - '@csstools/utilities@1.0.0': - resolution: {integrity: sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.4 - - '@drizzle-team/studio@0.0.39': - resolution: {integrity: sha512-c5Hkm7MmQC2n5qAsKShjQrHoqlfGslB8+qWzsGGZ+2dHMRTNG60UuzalF0h0rvBax5uzPXuGkYLGaQ+TUX3yMw==} - - '@egoist/tailwindcss-icons@1.7.4': - resolution: {integrity: sha512-883qx0sqeNb8km7os0w8K6UYue88dbgTWwyEUwW74Bgz0H7t+m7PMIIEvSQ4JqHwA823Qd5ciz+NoTBWKaMYfg==} + '@egoist/tailwindcss-icons@1.8.0': + resolution: {integrity: sha512-75LfllKL2lq0sGH+wcpsn/sLtJ0kMkDWmcZTLAB76QLDTmfsFu4QHwZVbtCD2woGyKl9c8KvtOUW9JSjRqOVtA==} peerDependencies: tailwindcss: '*' @@ -976,26 +956,36 @@ packages: peerDependencies: tailwindcss: ^3.0 - '@headlessui/vue@1.7.19': - resolution: {integrity: sha512-VFjKPybogux/5/QYGSq4zgG/x3RcxId15W8uguAJAjPBxelI23dwjOjTx/mIiMkM/Hd3rzFxcf2aIp56eEWRcA==} + '@headlessui/vue@1.7.22': + resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==} engines: {node: '>=10'} peerDependencies: vue: ^3.2.0 - '@iconify-json/heroicons@1.1.20': - resolution: {integrity: sha512-puNt1al/rDw8Rb5x8sfk20UA8AQjMskLMh63nSUBj+8I0lQ7LtX+0Qn8wow2xTXTEsynJ9xXLD8Aat53e0qi8A==} + '@hono/node-server@1.11.2': + resolution: {integrity: sha512-JhX0nUC66GeDxpIdMKWDRMEwtQBa64CY907iAF1sYqb4m2p2PdSU7zkbnNhAZLg/6IjSlTuj6CF307JlBXVvpg==} + engines: {node: '>=18.14.1'} + + '@hono/zod-validator@0.2.2': + resolution: {integrity: sha512-dSDxaPV70Py8wuIU2QNpoVEIOSzSXZ/6/B/h4xA7eOMz7+AarKTSGV8E6QwrdcCbBLkpqfJ4Q2TmBO0eP1tCBQ==} + peerDependencies: + hono: '>=3.9.0' + zod: ^3.19.1 + + '@iconify-json/heroicons@1.1.21': + resolution: {integrity: sha512-A+3L4KN+TjH3V8fQ2N2dkOOnLLxMgMBzO8RDT0P9YL+YzvLMIbe/lkDLSB8NB8x0DKWmkvTimoo1l4DKMwi7Zg==} '@iconify/collections@1.0.407': resolution: {integrity: sha512-1Wn5xz6tsuXFWLyxc4RUoSMMC/WhOgnTd0uiRsRsIEp3HPPGT69vFmdfDamsZi8q3H4olgpkKGwMcY9W3uQ+3w==} - '@iconify/json@2.2.195': - resolution: {integrity: sha512-oDO79OGefkm/F4xeRDWSiigxsf7yMJAHRzyOoqmkrerUDJ/5JxRSsezUJhYlVarbRFdaBLGh7joJwtLO5mAmXw==} + '@iconify/json@2.2.216': + resolution: {integrity: sha512-dS2yVIAel1oIAGnaxR+EJyDRjKV9GGm9tUd8Pd8VEF91HB4HJrsMzkvz23GHDWyIITGdinx4ZUjMz3hOAv+D4Q==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.1.22': - resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + '@iconify/utils@2.1.24': + resolution: {integrity: sha512-H8r2KpL5uKyrkb3z9/3HD/22JcxqW3BJyjEWZhX2T7DehnYVZthEap1cNsEl/UtCDC3TlpNmwiPX8wg3y8E4dg==} '@iconify/vue@4.1.1': resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} @@ -1051,12 +1041,12 @@ packages: '@kwsites/promise-deferred@1.1.1': resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} - '@langchain/community@0.2.2': - resolution: {integrity: sha512-TtlZnPBYt7Sujc1hAYvdZKUmV97wuF15O7b4nBX4lBfQeW38N0DwGbhqpitDbpaJqZ2s8DM4rjapECk0kIdAww==} + '@langchain/community@0.2.5': + resolution: {integrity: sha512-epaUxGJo6DGEDo52LtaN+2Md4SsSE8b6TqAdO9POfxMVPfTnfDJv3d7DrgBL2XRKQRcHndo2YRfiRjHIOXcSzQ==} engines: {node: '>=18'} peerDependencies: '@aws-crypto/sha256-js': ^5.0.0 - '@aws-sdk/client-bedrock-agent-runtime': ^3.485.0 + '@aws-sdk/client-bedrock-agent-runtime': ^3.583.0 '@aws-sdk/client-bedrock-runtime': ^3.422.0 '@aws-sdk/client-dynamodb': ^3.310.0 '@aws-sdk/client-kendra': ^3.352.0 @@ -1073,10 +1063,11 @@ packages: '@datastax/astra-db-ts': ^1.0.0 '@elastic/elasticsearch': ^8.4.0 '@getmetal/metal-sdk': '*' + '@getzep/zep-cloud': '*' '@getzep/zep-js': ^0.9.0 '@gomomento/sdk': ^1.51.1 '@gomomento/sdk-core': ^1.51.1 - '@google-ai/generativelanguage': ^0.2.1 + '@google-ai/generativelanguage': '*' '@google-cloud/storage': ^6.10.1 || ^7.7.0 '@gradientai/nodejs-sdk': ^1.2.0 '@huggingface/inference': ^2.6.4 @@ -1103,8 +1094,9 @@ packages: '@tensorflow-models/universal-sentence-encoder': '*' '@tensorflow/tfjs-converter': '*' '@tensorflow/tfjs-core': '*' + '@upstash/ratelimit': ^1.1.3 '@upstash/redis': ^1.20.6 - '@upstash/vector': ^1.0.7 + '@upstash/vector': ^1.1.1 '@vercel/kv': ^0.2.3 '@vercel/postgres': ^0.5.0 '@writerai/writer-sdk': ^0.40.2 @@ -1124,6 +1116,7 @@ packages: cohere-ai: '*' convex: ^1.3.1 couchbase: ^4.3.0 + crypto-js: ^4.2.0 d3-dsv: ^2.0.0 discord.js: ^14.14.1 dria: ^0.0.3 @@ -1131,7 +1124,7 @@ packages: epub2: ^3.0.1 faiss-node: ^0.5.1 firebase-admin: ^11.9.0 || ^12.0.0 - google-auth-library: ^8.9.0 + google-auth-library: '*' googleapis: ^126.0.1 hnswlib-node: ^3.0.0 html-to-text: ^9.0.5 @@ -1159,7 +1152,7 @@ packages: portkey-ai: ^0.1.11 puppeteer: ^19.7.2 redis: '*' - replicate: ^0.18.0 + replicate: ^0.29.4 sonix-speech-recognition: ^2.1.1 srt-parser-2: ^1.2.3 typeorm: ^0.3.12 @@ -1209,6 +1202,8 @@ packages: optional: true '@getmetal/metal-sdk': optional: true + '@getzep/zep-cloud': + optional: true '@getzep/zep-js': optional: true '@gomomento/sdk': @@ -1269,6 +1264,8 @@ packages: optional: true '@tensorflow/tfjs-core': optional: true + '@upstash/ratelimit': + optional: true '@upstash/redis': optional: true '@upstash/vector': @@ -1311,6 +1308,8 @@ packages: optional: true couchbase: optional: true + crypto-js: + optional: true d3-dsv: optional: true discord.js: @@ -1408,18 +1407,22 @@ packages: youtubei.js: optional: true - '@langchain/core@0.2.0': - resolution: {integrity: sha512-UbCJUp9eh2JXd9AW/vhPbTgtZoMgTqJgSan5Wf/EP27X8JM65lWdCOpJW+gHyBXvabbyrZz3/EGaptTUL5gutw==} + '@langchain/core@0.1.63': + resolution: {integrity: sha512-+fjyYi8wy6x1P+Ee1RWfIIEyxd9Ee9jksEwvrggPwwI/p45kIDTdYTblXsM13y4mNWTiACyLSdbwnPaxxdoz+w==} engines: {node: '>=18'} - '@langchain/core@0.2.2': - resolution: {integrity: sha512-pVsaXfKu8EH010pC2dL/NL1XWnCY46X7FRvg/ScnZ9UiALC153Irb4/Hukjh2H5K0osJws1jza/f3BLruh7jUQ==} + '@langchain/core@0.2.5': + resolution: {integrity: sha512-tMaKRFVewFn8crQwlbXGjT7hlMdX1yXHap1ebBx7Bb2C3C9AeZ+sXbX11m27yamypNlVVegwUcisw3YCaDkZJA==} engines: {node: '>=18'} '@langchain/openai@0.0.33': resolution: {integrity: sha512-hTBo9y9bHtFvMT5ySBW7TrmKhLSA91iNahigeqAFBVrLmBDz+6rzzLFc1mpq6JEAR3fZKdaUXqso3nB23jIpTw==} engines: {node: '>=18'} + '@langchain/openai@0.1.1': + resolution: {integrity: sha512-0M7GOA7+dPMQATn8UrYBUp0tWxBJjsJEdRPf+MhDD4jdK70qfC6tBbB/lrT0HchVnz5GFE7az4EUtSh8LiUgzA==} + engines: {node: '>=18'} + '@langchain/textsplitters@0.0.2': resolution: {integrity: sha512-6bQOuYHTGYlkgPY/8M5WPq4nnXZpEysGzRopQCYjg2WLcEoIPUMMrXsAaNNdvU3BOeMrhin8izvpDPD165hX6Q==} engines: {node: '>=18'} @@ -1432,6 +1435,9 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true + '@microsoft/fetch-event-source@2.0.1': + resolution: {integrity: sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==} + '@netlify/functions@2.6.0': resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} engines: {node: '>=14.0.0'} @@ -1578,8 +1584,8 @@ packages: '@nuxt/ui-templates@1.3.4': resolution: {integrity: sha512-zjuslnkj5zboZGis5QpmR5gvRTx5N8Ha/Rll+RRT8YZhXVNBincifhZ9apUQ9f6T0xJE8IHPyVyPx6WokomdYw==} - '@nuxt/ui@2.14.2': - resolution: {integrity: sha512-xEtgnofE2A/Ou+Afv70m/hLtcfvLs41cs/qZHVcqErv6OO8uKyDETS5bKhiZGlDcI0wccTJq/ULaDUGuwnRN2g==} + '@nuxt/ui@2.16.0': + resolution: {integrity: sha512-yHBZjFaN8/Zst+jTv+DfZS2Ep6UhgKlXL3/b6OX1ICwij3Yw7E4qVNCE9f1SO8DUaLigLURUYYoHG6kLb1qyBg==} engines: {node: '>=v16.20.2'} '@nuxt/vite-builder@3.11.2': @@ -1588,11 +1594,11 @@ packages: peerDependencies: vue: ^3.3.4 - '@nuxtjs/color-mode@3.3.3': - resolution: {integrity: sha512-t6QM/tj1d/53xQ9JznNVIaqIfQWhjHRzNt5VqTxNeAJWG0HCdiHVezkUTMahPUgUbEJnBrtCoquUYwpyFhNF+Q==} + '@nuxtjs/color-mode@3.4.1': + resolution: {integrity: sha512-vZgJqDstxInGw3RGSWbLoCLXtU1mvh1LLeuEA/X3a++DYA4ifwSbNoiSiOyb9qZHFEwz1Xr99H71sXV4IhOaEg==} - '@nuxtjs/tailwindcss@6.11.4': - resolution: {integrity: sha512-09cksgZD4seQj054Z/BeiwFg1bzQTol8KPulLDLGnmMTkEi21vj/z+WlXQRpVbN1GS9+oU9tcSsu2ufXCM3DBg==} + '@nuxtjs/tailwindcss@6.12.0': + resolution: {integrity: sha512-vXvEq8z177TQcx0tc10mw3O6T9WeN0iTL8hIKGDfidmr+HKReexJU01aPgHefFrCu4LJB70egYFYnywzB9lMyQ==} '@octokit/app@14.0.2': resolution: {integrity: sha512-NCSCktSx+XmjuSUVn2dLfqQ9WIYePGP95SDJs4I9cn/0ZkeXcPkaoCLl64Us3dRKL2ozC7hArwze5Eu+/qt1tg==} @@ -1649,23 +1655,32 @@ packages: '@octokit/openapi-types@20.0.0': resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} + '@octokit/openapi-types@22.2.0': + resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} + '@octokit/plugin-paginate-graphql@4.0.1': resolution: {integrity: sha512-R8ZQNmrIKKpHWC6V2gum4x9LG2qF1RxRjo27gjQcG3j+vf2tLsEfE7I/wRWEPzYMaenr1M+qDAtNcwZve1ce1A==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=5' + '@octokit/plugin-paginate-rest@11.3.1': + resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '5' + '@octokit/plugin-paginate-rest@9.2.1': resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '5' - '@octokit/plugin-rest-endpoint-methods@10.4.1': - resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==} + '@octokit/plugin-rest-endpoint-methods@13.2.2': + resolution: {integrity: sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '5' + '@octokit/core': ^5 '@octokit/plugin-retry@6.0.1': resolution: {integrity: sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==} @@ -1690,6 +1705,9 @@ packages: '@octokit/types@12.6.0': resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} + '@octokit/types@13.5.0': + resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==} + '@octokit/webhooks-methods@4.1.0': resolution: {integrity: sha512-zoQyKw8h9STNPqtm28UGOYFE7O6D4Il8VJwhAtMHFt2C4L0VQT1qGKLeefUOqHNs1mNRYSadVv7x0z8U2yyeWQ==} engines: {node: '>= 18'} @@ -2097,8 +2115,8 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1' - '@tailwindcss/typography@0.5.10': - resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} + '@tailwindcss/typography@0.5.13': + resolution: {integrity: sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' @@ -2129,8 +2147,8 @@ packages: '@types/aws-lambda@8.10.119': resolution: {integrity: sha512-Vqm22aZrCvCd6I5g1SvpW151jfqwTzEZ7XJ3yZ6xaZG31nUEOEyzzVImjRcsN8Wi/QyPxId/x8GTtgIbsy8kEw==} - '@types/better-sqlite3@7.6.9': - resolution: {integrity: sha512-FvktcujPDj9XKMJQWFcl2vVl7OdRIqsSRX9b0acWwTmwLK9CF2eqo/FRcmMLNpugKoX/avA6pb7TorDLmpgTnQ==} + '@types/better-sqlite3@7.6.10': + resolution: {integrity: sha512-TZBjD+yOsyrUJGmcUj6OS3JADk3+UZcNv3NOBqGkM09bZdi28fNZw8ODqbMOLfKCu7RYCO62/ldq1iHbzxqoPw==} '@types/btoa-lite@1.0.0': resolution: {integrity: sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==} @@ -2150,8 +2168,8 @@ packages: '@types/linkify-it@3.0.3': resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} - '@types/markdown-it@13.0.7': - resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + '@types/markdown-it@13.0.8': + resolution: {integrity: sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==} '@types/mdurl@1.0.3': resolution: {integrity: sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA==} @@ -2162,8 +2180,8 @@ packages: '@types/node@18.19.26': resolution: {integrity: sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==} - '@types/node@20.11.30': - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + '@types/node@20.14.1': + resolution: {integrity: sha512-T2MzSGEu+ysB/FkWfqmhV3PLyQlowdptmmgD20C6QxsS8Fmv5SjpZ1ayXaEC0S21/h5UJ9iA6W/5vSNU5l00OA==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -2618,8 +2636,8 @@ packages: before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - better-sqlite3@9.4.3: - resolution: {integrity: sha512-ud0bTmD9O3uWJGuXDltyj3R47Nz0OHX8iqPOT5PMspGqlu/qQFn+5S2eFBUCrySpavTjFXbi4EgrfVvPAHlImw==} + better-sqlite3@9.6.0: + resolution: {integrity: sha512-yR5HATnqeYNVnkaUTf4bOP2dJSnyhP4puJN/QPRyx4YkBEEUxib422n2XzPqDEHjQQqazoYoADdAm5vE15+dAQ==} big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} @@ -2733,10 +2751,6 @@ packages: call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} @@ -2799,10 +2813,6 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - clear-module@4.1.2: - resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} - engines: {node: '>=8'} - clear@0.1.0: resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==} @@ -3207,15 +3217,16 @@ packages: resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} engines: {node: '>=0.4.0'} - drizzle-kit@0.20.14: - resolution: {integrity: sha512-0fHv3YIEaUcSVPSGyaaBfOi9bmpajjhbJNdPsRMIUvYdLVxBu9eGjH8mRc3Qk7HVmEidFc/lhG1YyJhoXrn5yA==} + drizzle-kit@0.20.18: + resolution: {integrity: sha512-fLTwcnLqtBxGd+51H/dEm9TC0FW6+cIX/RVPyNcitBO77X9+nkogEfMAJebpd/8Yl4KucmePHRYRWWvUlW0rqg==} hasBin: true - drizzle-orm@0.30.4: - resolution: {integrity: sha512-kWoSMGbrOFkmkAweLTFtHJMpN+nwhx89q0mLELqT2aEU+1szNV8jrnBmJwZ0WGNp7J7yQn/ezEtxBI/qzTSElQ==} + drizzle-orm@0.30.10: + resolution: {integrity: sha512-IRy/QmMWw9lAQHpwbUh1b8fcn27S/a9zMIzqea1WNOxK9/4EB8gIo+FZWLiPXzl2n9ixGSv8BhsLZiOppWEwBw==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' + '@electric-sql/pglite': '>=0.1.1' '@libsql/client': '*' '@neondatabase/serverless': '>=0.1' '@op-engineering/op-sqlite': '>=2' @@ -3225,7 +3236,7 @@ packages: '@types/pg': '*' '@types/react': '>=18' '@types/sql.js': '*' - '@vercel/postgres': '*' + '@vercel/postgres': '>=0.8.0' '@xata.io/client': '*' better-sqlite3: '>=7' bun-types: '*' @@ -3243,6 +3254,8 @@ packages: optional: true '@cloudflare/workers-types': optional: true + '@electric-sql/pglite': + optional: true '@libsql/client': optional: true '@neondatabase/serverless': @@ -3330,8 +3343,9 @@ packages: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} - entities@2.1.0: - resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} @@ -3626,12 +3640,12 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-tsconfig@4.7.0: - resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} - get-tsconfig@4.7.3: resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + giget@1.1.2: resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} hasBin: true @@ -3661,20 +3675,23 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} hasBin: true glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Glob versions prior to v9 are no longer supported glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} @@ -3766,6 +3783,10 @@ packages: heap@0.2.7: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + hono@4.4.3: + resolution: {integrity: sha512-G7rTruKzrHXPz1KB4B50deKydPA9+aeei+WC1hikP0abN9N+a6yORuweageaqWocYfYNkpoqA5ezGV2mzQasvw==} + engines: {node: '>=16.0.0'} + hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} @@ -3862,6 +3883,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.3: resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} @@ -4011,8 +4033,8 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + jackspeak@3.2.3: + resolution: {integrity: sha512-htOzIMPbpLid/Gq9/zaz9SfExABxqRe1sSCdxntlO/aMD6u0issZQiY25n2GKQUtJ02j7z5sfptlAOMpWWOmvw==} engines: {node: '>=14'} jiti@1.20.0: @@ -4125,8 +4147,8 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - langchain@0.2.2: - resolution: {integrity: sha512-4tt2QuwW8AXdIL8CRkQeGOCoYYH3QbLHfQ09yD0iWLV1rwUYJ8mIYFAz/+u6CB8YNEyR/HI105s4xrxFQbWa9g==} + langchain@0.2.3: + resolution: {integrity: sha512-T9xR7zd+Nj0oXy6WoYKmZLy0DlQiDLFPGYWdOXDxy+AvqlujoPdVQgDSpdqiOHvAjezrByAoKxoHCz5XMwTP/Q==} engines: {node: '>=18'} peerDependencies: '@aws-sdk/client-s3': ^3.310.0 @@ -4138,7 +4160,6 @@ packages: '@gomomento/sdk': ^1.51.1 '@gomomento/sdk-core': ^1.51.1 '@gomomento/sdk-web': ^1.51.1 - '@google-ai/generativelanguage': ^2.5.0 '@mendable/firecrawl-js': ^0.0.13 '@notionhq/client': ^2.2.10 '@pinecone-database/pinecone': '*' @@ -4199,7 +4220,161 @@ packages: optional: true '@gomomento/sdk-web': optional: true - '@google-ai/generativelanguage': + '@mendable/firecrawl-js': + optional: true + '@notionhq/client': + optional: true + '@pinecone-database/pinecone': + optional: true + '@supabase/supabase-js': + optional: true + '@vercel/kv': + optional: true + '@xata.io/client': + optional: true + apify-client: + optional: true + assemblyai: + optional: true + axios: + optional: true + cheerio: + optional: true + chromadb: + optional: true + convex: + optional: true + couchbase: + optional: true + d3-dsv: + optional: true + epub2: + optional: true + faiss-node: + optional: true + fast-xml-parser: + optional: true + handlebars: + optional: true + html-to-text: + optional: true + ignore: + optional: true + ioredis: + optional: true + jsdom: + optional: true + mammoth: + optional: true + mongodb: + optional: true + node-llama-cpp: + optional: true + notion-to-md: + optional: true + officeparser: + optional: true + pdf-parse: + optional: true + peggy: + optional: true + playwright: + optional: true + puppeteer: + optional: true + pyodide: + optional: true + redis: + optional: true + sonix-speech-recognition: + optional: true + srt-parser-2: + optional: true + typeorm: + optional: true + weaviate-ts-client: + optional: true + web-auth-library: + optional: true + ws: + optional: true + youtube-transcript: + optional: true + youtubei.js: + optional: true + + langchain@0.2.4: + resolution: {integrity: sha512-zBsBuNREn/3IlWvIQqhQ2iqf6JJhyjjsB1Db/keDkcgThPI3EcblC1pqAXU2BIKHmpNUkHBR2bAUok5+xtgOcw==} + engines: {node: '>=18'} + peerDependencies: + '@aws-sdk/client-s3': ^3.310.0 + '@aws-sdk/client-sagemaker-runtime': ^3.310.0 + '@aws-sdk/client-sfn': ^3.310.0 + '@aws-sdk/credential-provider-node': ^3.388.0 + '@azure/storage-blob': ^12.15.0 + '@browserbasehq/sdk': '*' + '@gomomento/sdk': ^1.51.1 + '@gomomento/sdk-core': ^1.51.1 + '@gomomento/sdk-web': ^1.51.1 + '@mendable/firecrawl-js': ^0.0.13 + '@notionhq/client': ^2.2.10 + '@pinecone-database/pinecone': '*' + '@supabase/supabase-js': ^2.10.0 + '@vercel/kv': ^0.2.3 + '@xata.io/client': ^0.28.0 + apify-client: ^2.7.1 + assemblyai: ^4.0.0 + axios: '*' + cheerio: ^1.0.0-rc.12 + chromadb: '*' + convex: ^1.3.1 + couchbase: ^4.3.0 + d3-dsv: ^2.0.0 + epub2: ^3.0.1 + faiss-node: '*' + fast-xml-parser: '*' + handlebars: ^4.7.8 + html-to-text: ^9.0.5 + ignore: ^5.2.0 + ioredis: ^5.3.2 + jsdom: '*' + mammoth: ^1.6.0 + mongodb: '>=5.2.0' + node-llama-cpp: '*' + notion-to-md: ^3.1.0 + officeparser: ^4.0.4 + pdf-parse: 1.1.1 + peggy: ^3.0.2 + playwright: ^1.32.1 + puppeteer: ^19.7.2 + pyodide: ^0.24.1 + redis: ^4.6.4 + sonix-speech-recognition: ^2.1.1 + srt-parser-2: ^1.2.3 + typeorm: ^0.3.12 + weaviate-ts-client: '*' + web-auth-library: ^1.0.3 + ws: ^8.14.2 + youtube-transcript: ^1.0.6 + youtubei.js: ^9.1.0 + peerDependenciesMeta: + '@aws-sdk/client-s3': + optional: true + '@aws-sdk/client-sagemaker-runtime': + optional: true + '@aws-sdk/client-sfn': + optional: true + '@aws-sdk/credential-provider-node': + optional: true + '@azure/storage-blob': + optional: true + '@browserbasehq/sdk': + optional: true + '@gomomento/sdk': + optional: true + '@gomomento/sdk-core': + optional: true + '@gomomento/sdk-web': optional: true '@mendable/firecrawl-js': optional: true @@ -4287,8 +4462,19 @@ packages: langchainhub@0.0.8: resolution: {integrity: sha512-Woyb8YDHgqqTOZvWIbm2CaFDGfZ4NTSyXV687AG4vXEfoNo7cGQp7nhl7wL3ehenKWmNEmcxCLgOZzW8jE6lOQ==} - langsmith@0.1.14: - resolution: {integrity: sha512-iEzQLLB7/0nRpAwNBAR7B7N64fyByg5UsNjSvLaCCkQ9AS68PSafjB8xQkyI8QXXrGjU1dEqDRoa8m4SUuRdUw==} + langsmith@0.1.30: + resolution: {integrity: sha512-g8f10H1iiRjCweXJjgM3Y9xl6ApCa1OThDvc0BlSDLVrGVPy1on9wT39vAzYkeadC7oG48p7gfpGlYH3kLkJ9Q==} + peerDependencies: + '@langchain/core': '*' + langchain: '*' + openai: '*' + peerDependenciesMeta: + '@langchain/core': + optional: true + langchain: + optional: true + openai: + optional: true launch-editor@2.6.0: resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} @@ -4311,8 +4497,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@3.0.3: - resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} + linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} listhen@1.7.2: resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} @@ -4433,8 +4619,8 @@ packages: resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} engines: {node: ^16.14.0 || >=18.0.0} - markdown-it@12.3.2: - resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} + markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} hasBin: true mdn-data@2.0.28: @@ -4526,6 +4712,10 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -4564,6 +4754,10 @@ packages: resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} engines: {node: '>=16 || 14 >=14.17'} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -4641,11 +4835,6 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4850,8 +5039,8 @@ packages: object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - octokit@3.1.2: - resolution: {integrity: sha512-MG5qmrTL5y8KYwFgE1A4JWmgfQBaIETE/lOlfwNYx1QOtCQHGVxkRJmdUJltFc1HVn73d61TlMhMyNTOtMl+ng==} + octokit@3.2.1: + resolution: {integrity: sha512-u+XuSejhe3NdIvty3Jod00JvTdAE/0/+XbhIDhefHbu+2OcTRHd80aCiH6TX19ZybJmwPQBKFQmHGxp0i9mJrg==} engines: {node: '>= 18'} ofetch@1.3.3: @@ -4946,10 +5135,6 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} hasBin: true - parent-module@2.0.0: - resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} - engines: {node: '>=8'} - parse-git-config@3.0.0: resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} engines: {node: '>=8'} @@ -4986,9 +5171,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-to-regexp@6.2.1: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} @@ -5057,12 +5242,6 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-custom-properties@13.3.6: - resolution: {integrity: sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.4 - postcss-discard-comments@6.0.2: resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} engines: {node: ^14 || ^16 || >=18.0} @@ -5156,8 +5335,8 @@ packages: peerDependencies: postcss: ^8.2.14 - postcss-nesting@12.1.0: - resolution: {integrity: sha512-QOYnosaZ+mlP6plQrAxFw09UUp2Sgtxj1BVHN+rSVbtV0Yx48zRt9/9F/ZOoxOKBBEsaJk2MYhhVRjeRRw5yuw==} + postcss-nesting@12.1.5: + resolution: {integrity: sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -5238,14 +5417,14 @@ packages: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} - postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} - postcss-selector-parser@6.0.16: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + postcss-svgo@6.0.3: resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} engines: {node: ^14 || ^16 || >= 18} @@ -5261,10 +5440,6 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.28: - resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -5274,8 +5449,8 @@ packages: engines: {node: '>=10'} hasBin: true - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.0: + resolution: {integrity: sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==} engines: {node: '>=14'} hasBin: true @@ -5571,9 +5746,6 @@ packages: simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - simple-git@3.23.0: - resolution: {integrity: sha512-P9ggTW8vb/21CAL/AmnACAhqBDfnqSSZVpV7WuFtsFR9HLunf5IqQvk+OXAQTfkcZep8pKnt3DV3o7w3TegEkQ==} - simple-git@3.24.0: resolution: {integrity: sha512-QqAKee9Twv+3k8IFOFfPB2hnk6as6Y6ACUpwCtQvRYBAes23Wv3SZlHVobAzqcE8gfsisCvPw3HGW3HYM+VYYw==} @@ -5763,18 +5935,18 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwind-config-viewer@1.7.3: - resolution: {integrity: sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==} - engines: {node: '>=8'} + tailwind-config-viewer@2.0.2: + resolution: {integrity: sha512-YkMEbWgvTyEp7J5S7qY9KGLHml6SLO8kQg4Q5xNM4tWJ+cFtSO/Rv2UKfYHYnE7UsY4Lb1LkHmNs3YSbU2mT2Q==} + engines: {node: '>=13'} hasBin: true peerDependencies: tailwindcss: 1 || 2 || 2.0.1-compat || 3 - tailwind-merge@2.2.2: - resolution: {integrity: sha512-tWANXsnmJzgw6mQ07nE3aCDkCK4QdT3ThPMCzawoYA2Pws7vSTCvz3Vrjg61jVUGfFZPJzxEP+NimbcW+EdaDw==} + tailwind-merge@2.3.0: + resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} - tailwindcss@3.4.1: - resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} + tailwindcss@3.4.3: + resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} engines: {node: '>=14.0.0'} hasBin: true @@ -5859,8 +6031,8 @@ packages: resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} hasBin: true - tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + tsx@4.11.2: + resolution: {integrity: sha512-V5DL5v1BuItjsQ2FN9+4OjR7n5cr8hSgN+VGmm/fd2/0cgQdBIWHcQ3bFYm/5ZTmyxkTDBUIaRuW2divgfPe0A==} engines: {node: '>=18.0.0'} hasBin: true @@ -6233,8 +6405,8 @@ packages: vue-devtools-stub@0.1.0: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} - vue-markdown-render@2.1.1: - resolution: {integrity: sha512-szuJVbCwgIpVsggd8IHGB2lLo8BH8Ojd+wakaOTASNxdYcccKxoMcvDqUsLoGwgKDY8yJf0U/+ppffEYxsEHkA==} + vue-markdown-render@2.2.1: + resolution: {integrity: sha512-XkYnC0PMdbs6Vy6j/gZXSvCuOS0787Se5COwXlepRqiqPiunyCIeTPQAO2XnB4Yl04EOHXwLx5y6IuszMWSgyQ==} peerDependencies: vue: ^3.3.4 @@ -6377,10 +6549,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} - engines: {node: '>= 14'} - yaml@2.4.1: resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} engines: {node: '>= 14'} @@ -6419,8 +6587,8 @@ packages: peerDependencies: zod: ^3.23.3 - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} snapshots: @@ -6969,44 +7137,25 @@ snapshots: dependencies: mime: 3.0.0 - '@csstools/cascade-layer-name-parser@1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)': - dependencies: - '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) - '@csstools/css-tokenizer': 2.2.4 - - '@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4)': - dependencies: - '@csstools/css-tokenizer': 2.2.4 - - '@csstools/css-tokenizer@2.2.4': {} - - '@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.13)': - dependencies: - postcss-selector-parser: 6.0.13 - - '@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.13)': + '@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.1.0)': dependencies: - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.1.0 - '@csstools/utilities@1.0.0(postcss@8.4.38)': + '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)': dependencies: - postcss: 8.4.38 - - '@drizzle-team/studio@0.0.39': - dependencies: - superjson: 2.2.1 + postcss-selector-parser: 6.1.0 - '@egoist/tailwindcss-icons@1.7.4(tailwindcss@3.4.1)': + '@egoist/tailwindcss-icons@1.8.0(tailwindcss@3.4.3)': dependencies: - '@iconify/utils': 2.1.22 - tailwindcss: 3.4.1 + '@iconify/utils': 2.1.24 + tailwindcss: 3.4.3 transitivePeerDependencies: - supports-color '@esbuild-kit/cjs-loader@2.4.2': dependencies: '@esbuild-kit/core-utils': 3.2.2 - get-tsconfig: 4.7.0 + get-tsconfig: 4.7.3 '@esbuild-kit/core-utils@3.2.2': dependencies: @@ -7016,7 +7165,7 @@ snapshots: '@esbuild-kit/esm-loader@2.5.5': dependencies: '@esbuild-kit/core-utils': 3.2.2 - get-tsconfig: 4.7.0 + get-tsconfig: 4.7.3 '@esbuild/aix-ppc64@0.19.12': optional: true @@ -7262,16 +7411,23 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.1)': + '@headlessui/tailwindcss@0.2.0(tailwindcss@3.4.3)': dependencies: - tailwindcss: 3.4.1 + tailwindcss: 3.4.3 - '@headlessui/vue@1.7.19(vue@3.4.21(typescript@5.4.5))': + '@headlessui/vue@1.7.22(vue@3.4.21(typescript@5.4.5))': dependencies: '@tanstack/vue-virtual': 3.2.0(vue@3.4.21(typescript@5.4.5)) vue: 3.4.21(typescript@5.4.5) - '@iconify-json/heroicons@1.1.20': + '@hono/node-server@1.11.2': {} + + '@hono/zod-validator@0.2.2(hono@4.4.3)(zod@3.23.8)': + dependencies: + hono: 4.4.3 + zod: 3.23.8 + + '@iconify-json/heroicons@1.1.21': dependencies: '@iconify/types': 2.0.0 @@ -7279,22 +7435,22 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify/json@2.2.195': + '@iconify/json@2.2.216': dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 '@iconify/types@2.0.0': {} - '@iconify/utils@2.1.22': + '@iconify/utils@2.1.24': dependencies: '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.7.8 '@iconify/types': 2.0.0 debug: 4.3.4 kolorist: 1.8.0 local-pkg: 0.5.0 - mlly: 1.6.1 + mlly: 1.7.0 transitivePeerDependencies: - supports-color @@ -7367,21 +7523,21 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} - '@langchain/community@0.2.2(axios@0.27.2)(better-sqlite3@9.4.3)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0)': + '@langchain/community@0.2.5(axios@0.27.2)(better-sqlite3@9.6.0)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0)': dependencies: - '@langchain/core': 0.2.0 - '@langchain/openai': 0.0.33(encoding@0.1.13) + '@langchain/core': 0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + '@langchain/openai': 0.1.1(encoding@0.1.13)(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0)) binary-extensions: 2.2.0 expr-eval: 2.0.2 flat: 5.0.2 js-yaml: 4.1.0 - langchain: 0.2.2(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) - langsmith: 0.1.14 + langchain: 0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + langsmith: 0.1.30(@langchain/core@0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) uuid: 9.0.1 - zod: 3.22.4 - zod-to-json-schema: 3.23.0(zod@3.22.4) + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) optionalDependencies: - better-sqlite3: 9.4.3 + better-sqlite3: 9.6.0 ignore: 5.3.1 ioredis: 5.3.2 jsonwebtoken: 9.0.2 @@ -7394,62 +7550,152 @@ snapshots: - encoding - fast-xml-parser - handlebars + - openai - peggy - pyodide - '@langchain/core@0.2.0': + '@langchain/core@0.1.63(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': dependencies: ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.12 - langsmith: 0.1.14 + langsmith: 0.1.30(@langchain/core@0.1.63(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) ml-distance: 4.0.1 mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - zod: 3.22.4 - zod-to-json-schema: 3.23.0(zod@3.22.4) + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + transitivePeerDependencies: + - langchain + - openai - '@langchain/core@0.2.2': + '@langchain/core@0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': dependencies: ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.12 - langsmith: 0.1.14 + langsmith: 0.1.30(@langchain/core@0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) ml-distance: 4.0.1 mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 - zod: 3.22.4 - zod-to-json-schema: 3.23.0(zod@3.22.4) + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + transitivePeerDependencies: + - langchain + - openai - '@langchain/openai@0.0.33(encoding@0.1.13)': + '@langchain/core@0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': dependencies: - '@langchain/core': 0.2.0 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.12 + langsmith: 0.1.30(@langchain/core@0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + ml-distance: 4.0.1 + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + transitivePeerDependencies: + - langchain + - openai + + '@langchain/core@0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': + dependencies: + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.12 + langsmith: 0.1.30(@langchain/core@0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + ml-distance: 4.0.1 + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + transitivePeerDependencies: + - langchain + - openai + + '@langchain/openai@0.0.33(encoding@0.1.13)(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))': + dependencies: + '@langchain/core': 0.1.63(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) js-tiktoken: 1.0.12 openai: 4.47.1(encoding@0.1.13) - zod: 3.22.4 - zod-to-json-schema: 3.22.4(zod@3.22.4) + zod: 3.23.8 + zod-to-json-schema: 3.22.4(zod@3.23.8) transitivePeerDependencies: - encoding + - langchain - '@langchain/textsplitters@0.0.2': + '@langchain/openai@0.0.33(encoding@0.1.13)(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))': dependencies: - '@langchain/core': 0.2.0 + '@langchain/core': 0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) js-tiktoken: 1.0.12 + openai: 4.47.1(encoding@0.1.13) + zod: 3.23.8 + zod-to-json-schema: 3.22.4(zod@3.23.8) + transitivePeerDependencies: + - encoding + - langchain + + '@langchain/openai@0.1.1(encoding@0.1.13)(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))': + dependencies: + '@langchain/core': 0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + js-tiktoken: 1.0.12 + openai: 4.47.1(encoding@0.1.13) + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + transitivePeerDependencies: + - encoding + - langchain + + '@langchain/openai@0.1.1(encoding@0.1.13)(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))': + dependencies: + '@langchain/core': 0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + js-tiktoken: 1.0.12 + openai: 4.47.1(encoding@0.1.13) + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + transitivePeerDependencies: + - encoding + - langchain - '@langchain/weaviate@0.0.4(encoding@0.1.13)(graphql@16.8.1)': + '@langchain/textsplitters@0.0.2(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': dependencies: - '@langchain/core': 0.2.2 + '@langchain/core': 0.1.63(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + js-tiktoken: 1.0.12 + transitivePeerDependencies: + - langchain + - openai + + '@langchain/textsplitters@0.0.2(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': + dependencies: + '@langchain/core': 0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + js-tiktoken: 1.0.12 + transitivePeerDependencies: + - langchain + - openai + + '@langchain/weaviate@0.0.4(encoding@0.1.13)(graphql@16.8.1)(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13))': + dependencies: + '@langchain/core': 0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) uuid: 9.0.1 weaviate-ts-client: 2.1.1(encoding@0.1.13)(graphql@16.8.1) transitivePeerDependencies: - encoding - graphql + - langchain + - openai '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': dependencies: @@ -7460,12 +7706,14 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color + '@microsoft/fetch-event-source@2.0.1': {} + '@netlify/functions@2.6.0': dependencies: '@netlify/serverless-functions-api': 1.14.0 @@ -7496,7 +7744,7 @@ snapshots: '@npmcli/fs@3.1.0': dependencies: - semver: 7.6.0 + semver: 7.6.2 '@npmcli/git@5.0.1': dependencies: @@ -7521,7 +7769,7 @@ snapshots: '@npmcli/package-json@5.1.0': dependencies: '@npmcli/git': 5.0.1 - glob: 10.3.10 + glob: 10.4.1 hosted-git-info: 7.0.0 json-parse-even-better-errors: 3.0.0 normalize-package-data: 6.0.0 @@ -7563,35 +7811,35 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))': + '@nuxt/devtools-kit@0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))': dependencies: '@nuxt/kit': 3.7.4(rollup@4.18.0) '@nuxt/schema': 3.7.4(rollup@4.18.0) execa: 7.2.0 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - rollup - supports-color - '@nuxt/devtools-kit@1.1.3(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))': + '@nuxt/devtools-kit@1.1.3(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))': dependencies: '@nuxt/kit': 3.11.1(rollup@4.18.0) '@nuxt/schema': 3.11.1(rollup@4.18.0) execa: 7.2.0 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - rollup - supports-color - '@nuxt/devtools-kit@1.3.1(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))': + '@nuxt/devtools-kit@1.3.1(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.18.0) '@nuxt/schema': 3.11.2(rollup@4.18.0) execa: 7.2.0 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - rollup - supports-color @@ -7622,10 +7870,10 @@ snapshots: rc9: 2.1.2 semver: 7.6.2 - '@nuxt/devtools@0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))': + '@nuxt/devtools@0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))': dependencies: '@antfu/utils': 0.7.6 - '@nuxt/devtools-kit': 0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + '@nuxt/devtools-kit': 0.8.5(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) '@nuxt/devtools-wizard': 0.8.5 '@nuxt/kit': 3.7.4(rollup@4.18.0) birpc: 0.2.14 @@ -7643,7 +7891,7 @@ snapshots: launch-editor: 2.6.0 local-pkg: 0.4.3 magicast: 0.3.0 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) nypm: 0.3.3 ofetch: 1.3.3 ohash: 1.1.3 @@ -7653,12 +7901,12 @@ snapshots: pkg-types: 1.0.3 rc9: 2.1.1 semver: 7.5.4 - simple-git: 3.23.0 + simple-git: 3.24.0 sirv: 2.0.3 unimport: 3.4.0(rollup@4.18.0) - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) - vite-plugin-inspect: 0.7.38(@nuxt/kit@3.7.4(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) - vite-plugin-vue-inspector: 3.7.1(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) + vite-plugin-inspect: 0.7.38(@nuxt/kit@3.7.4(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) + vite-plugin-vue-inspector: 3.7.1(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) wait-on: 7.0.1 which: 3.0.1 ws: 8.14.2 @@ -7670,14 +7918,14 @@ snapshots: - supports-color - utf-8-validate - '@nuxt/devtools@1.3.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': + '@nuxt/devtools@1.3.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': dependencies: '@antfu/utils': 0.7.8 - '@nuxt/devtools-kit': 1.3.1(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + '@nuxt/devtools-kit': 1.3.1(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) '@nuxt/devtools-wizard': 1.3.1 '@nuxt/kit': 3.11.2(rollup@4.18.0) - '@vue/devtools-applet': 7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) - '@vue/devtools-core': 7.2.1(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-applet': 7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-core': 7.2.1(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) '@vue/devtools-kit': 7.2.1(vue@3.4.21(typescript@5.4.5)) birpc: 0.2.17 consola: 3.2.3 @@ -7694,7 +7942,7 @@ snapshots: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.4 - nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + nuxt: 3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) nypm: 0.3.8 ohash: 1.1.3 pacote: 18.0.6 @@ -7707,9 +7955,9 @@ snapshots: simple-git: 3.24.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.18.0) - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) - vite-plugin-inspect: 0.8.4(@nuxt/kit@3.11.2(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) - vite-plugin-vue-inspector: 5.1.2(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) + vite-plugin-inspect: 0.8.4(@nuxt/kit@3.11.2(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) + vite-plugin-vue-inspector: 5.1.2(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) which: 3.0.1 ws: 8.17.0 transitivePeerDependencies: @@ -7885,31 +8133,31 @@ snapshots: '@nuxt/ui-templates@1.3.4': {} - '@nuxt/ui@2.14.2(axios@0.27.2)(focus-trap@7.5.4)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': + '@nuxt/ui@2.16.0(axios@0.27.2)(focus-trap@7.5.4)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': dependencies: - '@egoist/tailwindcss-icons': 1.7.4(tailwindcss@3.4.1) - '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.1) - '@headlessui/vue': 1.7.19(vue@3.4.21(typescript@5.4.5)) - '@iconify-json/heroicons': 1.1.20 - '@nuxt/kit': 3.11.1(rollup@4.18.0) - '@nuxtjs/color-mode': 3.3.3(rollup@4.18.0) - '@nuxtjs/tailwindcss': 6.11.4(rollup@4.18.0) + '@egoist/tailwindcss-icons': 1.8.0(tailwindcss@3.4.3) + '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.3) + '@headlessui/vue': 1.7.22(vue@3.4.21(typescript@5.4.5)) + '@iconify-json/heroicons': 1.1.21 + '@nuxt/kit': 3.11.2(rollup@4.18.0) + '@nuxtjs/color-mode': 3.4.1(rollup@4.18.0) + '@nuxtjs/tailwindcss': 6.12.0(rollup@4.18.0) '@popperjs/core': 2.11.8 - '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.1) - '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.1) - '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.1) - '@tailwindcss/typography': 0.5.10(tailwindcss@3.4.1) + '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.3) + '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.3) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.3) + '@tailwindcss/typography': 0.5.13(tailwindcss@3.4.3) '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.5)) '@vueuse/integrations': 10.9.0(axios@0.27.2)(focus-trap@7.5.4)(fuse.js@6.6.2)(jwt-decode@4.0.0)(vue@3.4.21(typescript@5.4.5)) '@vueuse/math': 10.9.0(vue@3.4.21(typescript@5.4.5)) defu: 6.1.4 fuse.js: 6.6.2 - nuxt-icon: 0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + nuxt-icon: 0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) ohash: 1.1.3 pathe: 1.1.2 scule: 1.3.0 - tailwind-merge: 2.2.2 - tailwindcss: 3.4.1 + tailwind-merge: 2.3.0 + tailwindcss: 3.4.3 transitivePeerDependencies: - '@vue/composition-api' - async-validator @@ -7931,12 +8179,12 @@ snapshots: - vite - vue - '@nuxt/vite-builder@3.11.2(@types/node@20.11.30)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))(vue@3.4.21(typescript@5.4.5))': + '@nuxt/vite-builder@3.11.2(@types/node@20.14.1)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))(vue@3.4.21(typescript@5.4.5))': dependencies: '@nuxt/kit': 3.11.2(rollup@4.18.0) '@rollup/plugin-replace': 5.0.5(rollup@4.18.0) - '@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) autoprefixer: 10.4.19(postcss@8.4.38) clear: 0.1.0 consola: 3.2.3 @@ -7963,9 +8211,9 @@ snapshots: ufo: 1.5.3 unenv: 1.9.0 unplugin: 1.10.1 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) - vite-node: 1.4.0(@types/node@20.11.30)(terser@5.19.2) - vite-plugin-checker: 0.6.4(typescript@5.4.5)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) + vite-node: 1.4.0(@types/node@20.14.1)(terser@5.19.2) + vite-plugin-checker: 0.6.4(typescript@5.4.5)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)) vue: 3.4.21(typescript@5.4.5) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -7988,31 +8236,30 @@ snapshots: - vti - vue-tsc - '@nuxtjs/color-mode@3.3.3(rollup@4.18.0)': + '@nuxtjs/color-mode@3.4.1(rollup@4.18.0)': dependencies: - '@nuxt/kit': 3.11.1(rollup@4.18.0) + '@nuxt/kit': 3.11.2(rollup@4.18.0) pathe: 1.1.2 + pkg-types: 1.1.1 + semver: 7.6.2 transitivePeerDependencies: - rollup - supports-color - '@nuxtjs/tailwindcss@6.11.4(rollup@4.18.0)': + '@nuxtjs/tailwindcss@6.12.0(rollup@4.18.0)': dependencies: - '@nuxt/kit': 3.11.1(rollup@4.18.0) + '@nuxt/kit': 3.11.2(rollup@4.18.0) autoprefixer: 10.4.19(postcss@8.4.38) - chokidar: 3.5.3 - clear-module: 4.1.2 consola: 3.2.3 defu: 6.1.4 h3: 1.11.1 - micromatch: 4.0.5 pathe: 1.1.2 postcss: 8.4.38 - postcss-custom-properties: 13.3.6(postcss@8.4.38) - postcss-nesting: 12.1.0(postcss@8.4.38) - tailwind-config-viewer: 1.7.3(tailwindcss@3.4.1) - tailwindcss: 3.4.1 + postcss-nesting: 12.1.5(postcss@8.4.38) + tailwind-config-viewer: 2.0.2(tailwindcss@3.4.3) + tailwindcss: 3.4.3 ufo: 1.5.3 + unctx: 2.3.1 transitivePeerDependencies: - rollup - supports-color @@ -8037,7 +8284,7 @@ snapshots: '@octokit/request-error': 5.0.1 '@octokit/types': 12.6.0 deprecation: 2.3.1 - lru-cache: 10.0.1 + lru-cache: 10.2.0 universal-github-app-jwt: 1.1.2 universal-user-agent: 6.0.0 @@ -8118,19 +8365,26 @@ snapshots: '@octokit/openapi-types@20.0.0': {} + '@octokit/openapi-types@22.2.0': {} + '@octokit/plugin-paginate-graphql@4.0.1(@octokit/core@5.1.0)': dependencies: '@octokit/core': 5.1.0 + '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.1.0)': + dependencies: + '@octokit/core': 5.1.0 + '@octokit/types': 13.5.0 + '@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.1.0)': dependencies: '@octokit/core': 5.1.0 '@octokit/types': 12.6.0 - '@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.1.0)': + '@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@5.1.0)': dependencies: '@octokit/core': 5.1.0 - '@octokit/types': 12.6.0 + '@octokit/types': 13.5.0 '@octokit/plugin-retry@6.0.1(@octokit/core@5.1.0)': dependencies: @@ -8162,6 +8416,10 @@ snapshots: dependencies: '@octokit/openapi-types': 20.0.0 + '@octokit/types@13.5.0': + dependencies: + '@octokit/openapi-types': 22.2.0 + '@octokit/webhooks-methods@4.1.0': {} '@octokit/webhooks-types@7.3.2': {} @@ -8467,26 +8725,26 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.1)': + '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.3)': dependencies: - tailwindcss: 3.4.1 + tailwindcss: 3.4.3 - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.1)': + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.3)': dependencies: - tailwindcss: 3.4.1 + tailwindcss: 3.4.3 - '@tailwindcss/forms@0.5.7(tailwindcss@3.4.1)': + '@tailwindcss/forms@0.5.7(tailwindcss@3.4.3)': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.1 + tailwindcss: 3.4.3 - '@tailwindcss/typography@0.5.10(tailwindcss@3.4.1)': + '@tailwindcss/typography@0.5.13(tailwindcss@3.4.3)': dependencies: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.1 + tailwindcss: 3.4.3 '@tanstack/virtual-core@3.2.0': {} @@ -8508,9 +8766,9 @@ snapshots: '@types/aws-lambda@8.10.119': {} - '@types/better-sqlite3@7.6.9': + '@types/better-sqlite3@7.6.10': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.14.1 '@types/btoa-lite@1.0.0': {} @@ -8520,15 +8778,15 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.14.1 '@types/jsonwebtoken@9.0.6': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.14.1 '@types/linkify-it@3.0.3': {} - '@types/markdown-it@13.0.7': + '@types/markdown-it@13.0.8': dependencies: '@types/linkify-it': 3.0.3 '@types/mdurl': 1.0.3 @@ -8537,14 +8795,14 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.14.1 form-data: 4.0.0 '@types/node@18.19.26': dependencies: undici-types: 5.26.5 - '@types/node@20.11.30': + '@types/node@20.14.1': dependencies: undici-types: 5.26.5 @@ -8583,13 +8841,13 @@ snapshots: unhead: 1.9.11 vue: 3.4.21(typescript@5.4.5) - '@unocss/astro@0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))': + '@unocss/astro@0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))': dependencies: '@unocss/core': 0.58.6 '@unocss/reset': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + '@unocss/vite': 0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) optionalDependencies: - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - rollup @@ -8645,7 +8903,7 @@ snapshots: '@unocss/preset-icons@0.58.6': dependencies: - '@iconify/utils': 2.1.22 + '@iconify/utils': 2.1.24 '@unocss/core': 0.58.6 ofetch: 1.3.4 transitivePeerDependencies: @@ -8720,7 +8978,7 @@ snapshots: dependencies: '@unocss/core': 0.58.6 - '@unocss/vite@0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))': + '@unocss/vite@0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -8732,7 +8990,7 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.10 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - rollup @@ -8754,19 +9012,19 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': dependencies: '@babel/core': 7.24.3 '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.3) - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': dependencies: - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) vue: 3.4.21(typescript@5.4.5) '@volar/language-core@2.2.5': @@ -8871,12 +9129,12 @@ snapshots: '@vue/devtools-api@6.6.1': {} - '@vue/devtools-applet@7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-applet@7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': dependencies: - '@vue/devtools-core': 7.2.1(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-core': 7.2.1(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) '@vue/devtools-kit': 7.2.1(vue@3.4.21(typescript@5.4.5)) '@vue/devtools-shared': 7.2.1 - '@vue/devtools-ui': 7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vue@3.4.21(typescript@5.4.5)) + '@vue/devtools-ui': 7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vue@3.4.21(typescript@5.4.5)) lodash-es: 4.17.21 perfect-debounce: 1.0.0 shiki: 1.5.2 @@ -8901,14 +9159,14 @@ snapshots: - unocss - vite - '@vue/devtools-core@7.2.1(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-core@7.2.1(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5))': dependencies: '@vue/devtools-kit': 7.2.1(vue@3.4.21(typescript@5.4.5)) '@vue/devtools-shared': 7.2.1 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) transitivePeerDependencies: - vite - vue @@ -8926,7 +9184,7 @@ snapshots: dependencies: rfdc: 1.3.1 - '@vue/devtools-ui@7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vue@3.4.21(typescript@5.4.5))': + '@vue/devtools-ui@7.2.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vue@3.4.21(typescript@5.4.5))': dependencies: '@unocss/reset': 0.58.6 '@vue/devtools-shared': 7.2.1 @@ -8936,7 +9194,7 @@ snapshots: colord: 2.9.3 floating-vue: 5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)) focus-trap: 7.5.4 - unocss: 0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + unocss: 0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) vue: 3.4.21(typescript@5.4.5) transitivePeerDependencies: - '@vue/composition-api' @@ -9108,7 +9366,7 @@ snapshots: archiver-utils@5.0.2: dependencies: - glob: 10.3.10 + glob: 10.4.1 graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 @@ -9205,7 +9463,7 @@ snapshots: before-after-hook@2.2.3: {} - better-sqlite3@9.4.3: + better-sqlite3@9.6.0: dependencies: bindings: 1.5.0 prebuild-install: 7.1.1 @@ -9334,7 +9592,7 @@ snapshots: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 - glob: 10.3.10 + glob: 10.4.1 lru-cache: 7.18.3 minipass: 7.0.3 minipass-collect: 1.0.2 @@ -9349,7 +9607,7 @@ snapshots: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 - glob: 10.3.10 + glob: 10.4.1 lru-cache: 10.0.1 minipass: 7.0.3 minipass-collect: 1.0.2 @@ -9370,8 +9628,6 @@ snapshots: function-bind: 1.1.1 get-intrinsic: 1.2.1 - callsites@3.1.0: {} - camelcase-css@2.0.1: {} camelcase@6.3.0: {} @@ -9442,11 +9698,6 @@ snapshots: clean-stack@2.2.0: {} - clear-module@4.1.2: - dependencies: - parent-module: 2.0.0 - resolve-from: 5.0.0 - clear@0.1.0: {} cli-color@2.0.3: @@ -9664,10 +9915,10 @@ snapshots: es5-ext: 0.10.62 type: 1.2.0 - db0@0.1.4(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3)): + db0@0.1.4(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0)): optionalDependencies: - better-sqlite3: 9.4.3 - drizzle-orm: 0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3) + better-sqlite3: 9.6.0 + drizzle-orm: 0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0) de-indent@1.0.2: {} @@ -9790,10 +10041,11 @@ snapshots: dependencies: wordwrap: 1.0.0 - drizzle-kit@0.20.14: + drizzle-kit@0.20.18: dependencies: - '@drizzle-team/studio': 0.0.39 '@esbuild-kit/esm-loader': 2.5.5 + '@hono/node-server': 1.11.2 + '@hono/zod-validator': 0.2.2(hono@4.4.3)(zod@3.23.8) camelcase: 7.0.1 chalk: 5.3.0 commander: 9.5.0 @@ -9802,17 +10054,19 @@ snapshots: esbuild-register: 3.5.0(esbuild@0.19.12) glob: 8.1.0 hanji: 0.0.5 + hono: 4.4.3 json-diff: 0.9.0 minimatch: 7.4.6 - semver: 7.5.4 - zod: 3.22.4 + semver: 7.6.2 + superjson: 2.2.1 + zod: 3.23.8 transitivePeerDependencies: - supports-color - drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3): + drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0): optionalDependencies: - '@types/better-sqlite3': 7.6.9 - better-sqlite3: 9.4.3 + '@types/better-sqlite3': 7.6.10 + better-sqlite3: 9.6.0 duplexer@0.1.2: {} @@ -9854,7 +10108,7 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 - entities@2.1.0: {} + entities@3.0.1: {} entities@4.5.0: {} @@ -10239,11 +10493,11 @@ snapshots: get-stream@8.0.1: {} - get-tsconfig@4.7.0: + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 - get-tsconfig@4.7.3: + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -10254,7 +10508,7 @@ snapshots: https-proxy-agent: 5.0.1 mri: 1.2.0 node-fetch-native: 1.2.0 - pathe: 1.1.1 + pathe: 1.1.2 tar: 6.1.15 transitivePeerDependencies: - supports-color @@ -10291,13 +10545,13 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.10: + glob@10.4.1: dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.3 - path-scurry: 1.10.1 + jackspeak: 3.2.3 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 glob@7.1.6: dependencies: @@ -10438,6 +10692,8 @@ snapshots: heap@0.2.7: {} + hono@4.4.3: {} + hookable@5.5.3: {} hosted-git-info@7.0.0: @@ -10653,7 +10909,7 @@ snapshots: isexe@3.1.1: {} - jackspeak@2.3.6: + jackspeak@3.2.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -10797,24 +11053,52 @@ snapshots: kolorist@1.8.0: {} - langchain@0.2.2(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0): + langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0): + dependencies: + '@langchain/core': 0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + '@langchain/openai': 0.0.33(encoding@0.1.13)(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0)) + '@langchain/textsplitters': 0.0.2(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + binary-extensions: 2.2.0 + js-tiktoken: 1.0.12 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langchainhub: 0.0.8 + langsmith: 0.1.30(@langchain/core@0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + ml-distance: 4.0.1 + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 9.0.1 + yaml: 2.4.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + optionalDependencies: + axios: 0.27.2 + ignore: 5.3.1 + ioredis: 5.3.2 + weaviate-ts-client: 2.1.1(encoding@0.1.13)(graphql@16.8.1) + ws: 8.17.0 + transitivePeerDependencies: + - encoding + - openai + + langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0): dependencies: - '@langchain/core': 0.2.0 - '@langchain/openai': 0.0.33(encoding@0.1.13) - '@langchain/textsplitters': 0.0.2 + '@langchain/core': 0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + '@langchain/openai': 0.1.1(encoding@0.1.13)(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0)) + '@langchain/textsplitters': 0.0.2(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) binary-extensions: 2.2.0 js-tiktoken: 1.0.12 js-yaml: 4.1.0 jsonpointer: 5.0.1 langchainhub: 0.0.8 - langsmith: 0.1.14 + langsmith: 0.1.30(@langchain/core@0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) ml-distance: 4.0.1 openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 9.0.1 yaml: 2.4.1 - zod: 3.22.4 - zod-to-json-schema: 3.22.4(zod@3.22.4) + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) optionalDependencies: axios: 0.27.2 ignore: 5.3.1 @@ -10823,16 +11107,57 @@ snapshots: ws: 8.17.0 transitivePeerDependencies: - encoding + - openai langchainhub@0.0.8: {} - langsmith@0.1.14: + langsmith@0.1.30(@langchain/core@0.1.63(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)): + dependencies: + '@types/uuid': 9.0.8 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + optionalDependencies: + '@langchain/core': 0.1.63(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + langchain: 0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + openai: 4.47.1(encoding@0.1.13) + + langsmith@0.1.30(@langchain/core@0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)): + dependencies: + '@types/uuid': 9.0.8 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + optionalDependencies: + '@langchain/core': 0.1.63(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + langchain: 0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + openai: 4.47.1(encoding@0.1.13) + + langsmith@0.1.30(@langchain/core@0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)): + dependencies: + '@types/uuid': 9.0.8 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + optionalDependencies: + '@langchain/core': 0.2.5(langchain@0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + langchain: 0.2.3(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + openai: 4.47.1(encoding@0.1.13) + + langsmith@0.1.30(@langchain/core@0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)))(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)): dependencies: '@types/uuid': 9.0.8 commander: 10.0.1 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 9.0.1 + optionalDependencies: + '@langchain/core': 0.2.5(langchain@0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0))(openai@4.47.1(encoding@0.1.13)) + langchain: 0.2.4(axios@0.27.2)(encoding@0.1.13)(ignore@5.3.1)(ioredis@5.3.2)(openai@4.47.1(encoding@0.1.13))(weaviate-ts-client@2.1.1(encoding@0.1.13)(graphql@16.8.1))(ws@8.17.0) + openai: 4.47.1(encoding@0.1.13) launch-editor@2.6.0: dependencies: @@ -10854,7 +11179,7 @@ snapshots: lines-and-columns@1.2.4: {} - linkify-it@3.0.3: + linkify-it@4.0.1: dependencies: uc.micro: 1.0.6 @@ -11008,11 +11333,11 @@ snapshots: promise-retry: 2.0.1 ssri: 10.0.5 - markdown-it@12.3.2: + markdown-it@13.0.2: dependencies: argparse: 2.0.1 - entities: 2.1.0 - linkify-it: 3.0.3 + entities: 3.0.1 + linkify-it: 4.0.1 mdurl: 1.0.1 uc.micro: 1.0.6 @@ -11087,6 +11412,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + minimist@1.2.8: {} minipass-collect@1.0.2: @@ -11126,6 +11455,8 @@ snapshots: minipass@7.0.3: {} + minipass@7.1.2: {} + minizlib@2.1.2: dependencies: minipass: 3.3.6 @@ -11207,8 +11538,6 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.6: {} - nanoid@3.3.7: {} nanoid@4.0.2: {} @@ -11219,7 +11548,7 @@ snapshots: next-tick@1.1.0: {} - nitropack@2.9.6(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13): + nitropack@2.9.6(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13): dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 @@ -11242,7 +11571,7 @@ snapshots: cookie-es: 1.1.0 croner: 8.0.1 crossws: 0.2.4 - db0: 0.1.4(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3)) + db0: 0.1.4(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0)) defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 @@ -11310,7 +11639,7 @@ snapshots: node-abi@3.47.0: dependencies: - semver: 7.6.0 + semver: 7.6.2 node-addon-api@7.0.0: {} @@ -11334,7 +11663,7 @@ snapshots: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 10.3.10 + glob: 10.4.1 graceful-fs: 4.2.11 make-fetch-happen: 13.0.0 nopt: 7.2.1 @@ -11379,7 +11708,7 @@ snapshots: dependencies: hosted-git-info: 7.0.0 is-core-module: 2.13.0 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} @@ -11467,11 +11796,11 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - nuxt-icon@0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)): + nuxt-icon@0.6.10(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)): dependencies: '@iconify/collections': 1.0.407 '@iconify/vue': 4.1.1(vue@3.4.21(typescript@5.4.5)) - '@nuxt/devtools-kit': 1.1.3(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + '@nuxt/devtools-kit': 1.1.3(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) '@nuxt/kit': 3.11.1(rollup@4.18.0) transitivePeerDependencies: - nuxt @@ -11480,15 +11809,15 @@ snapshots: - vite - vue - nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)): + nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.3.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.11.30)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)))(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) + '@nuxt/devtools': 1.3.1(@unocss/reset@0.58.6)(axios@0.27.2)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(jwt-decode@4.0.0)(nuxt@3.11.2(@parcel/watcher@2.4.1)(@types/node@20.14.1)(@unocss/reset@0.58.6)(axios@0.27.2)(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13)(floating-vue@5.2.2(@nuxt/kit@3.11.2(rollup@4.18.0))(vue@3.4.21(typescript@5.4.5)))(fuse.js@6.6.2)(ioredis@5.3.2)(jwt-decode@4.0.0)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)))(rollup@4.18.0)(unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)))(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue@3.4.21(typescript@5.4.5)) '@nuxt/kit': 3.11.2(rollup@4.18.0) '@nuxt/schema': 3.11.2(rollup@4.18.0) '@nuxt/telemetry': 2.5.3(rollup@4.18.0) '@nuxt/ui-templates': 1.3.4 - '@nuxt/vite-builder': 3.11.2(@types/node@20.11.30)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))(vue@3.4.21(typescript@5.4.5)) + '@nuxt/vite-builder': 3.11.2(@types/node@20.14.1)(rollup@4.18.0)(terser@5.19.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))(vue@3.4.21(typescript@5.4.5)) '@unhead/dom': 1.9.11 '@unhead/ssr': 1.9.11 '@unhead/vue': 1.9.11(vue@3.4.21(typescript@5.4.5)) @@ -11512,7 +11841,7 @@ snapshots: knitwork: 1.1.0 magic-string: 0.30.10 mlly: 1.6.1 - nitropack: 2.9.6(better-sqlite3@9.4.3)(drizzle-orm@0.30.4(@types/better-sqlite3@7.6.9)(better-sqlite3@9.4.3))(encoding@0.1.13) + nitropack: 2.9.6(better-sqlite3@9.6.0)(drizzle-orm@0.30.10(@types/better-sqlite3@7.6.10)(better-sqlite3@9.6.0))(encoding@0.1.13) nuxi: 3.11.1 nypm: 0.3.8 ofetch: 1.3.4 @@ -11540,7 +11869,7 @@ snapshots: vue-router: 4.3.0(vue@3.4.21(typescript@5.4.5)) optionalDependencies: '@parcel/watcher': 2.4.1 - '@types/node': 20.11.30 + '@types/node': 20.14.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -11617,18 +11946,18 @@ snapshots: object-inspect@1.12.3: {} - octokit@3.1.2: + octokit@3.2.1: dependencies: '@octokit/app': 14.0.2 '@octokit/core': 5.1.0 '@octokit/oauth-app': 6.1.0 '@octokit/plugin-paginate-graphql': 4.0.1(@octokit/core@5.1.0) - '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.1.0) - '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.1.0) + '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@5.1.0) + '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@5.1.0) '@octokit/plugin-retry': 6.0.1(@octokit/core@5.1.0) '@octokit/plugin-throttling': 8.2.0(@octokit/core@5.1.0) '@octokit/request-error': 5.0.1 - '@octokit/types': 12.6.0 + '@octokit/types': 13.5.0 ofetch@1.3.3: dependencies: @@ -11786,10 +12115,6 @@ snapshots: - bluebird - supports-color - parent-module@2.0.0: - dependencies: - callsites: 3.1.0 - parse-git-config@3.0.0: dependencies: git-config-path: 2.0.0 @@ -11817,10 +12142,10 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: lru-cache: 10.2.0 - minipass: 7.0.3 + minipass: 7.1.2 path-to-regexp@6.2.1: {} @@ -11884,15 +12209,6 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-custom-properties@13.3.6(postcss@8.4.38): - dependencies: - '@csstools/cascade-layer-name-parser': 1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4) - '@csstools/css-parser-algorithms': 2.6.1(@csstools/css-tokenizer@2.2.4) - '@csstools/css-tokenizer': 2.2.4 - '@csstools/utilities': 1.0.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-discard-comments@6.0.2(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -11913,24 +12229,24 @@ snapshots: dependencies: enhanced-resolve: 4.5.0 - postcss-import@15.1.0(postcss@8.4.28): + postcss-import@15.1.0(postcss@8.4.38): dependencies: - postcss: 8.4.28 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - postcss-js@4.0.1(postcss@8.4.28): + postcss-js@4.0.1(postcss@8.4.38): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.28 + postcss: 8.4.38 - postcss-load-config@4.0.1(postcss@8.4.28): + postcss-load-config@4.0.1(postcss@8.4.38): dependencies: lilconfig: 2.1.0 - yaml: 2.3.1 + yaml: 2.4.1 optionalDependencies: - postcss: 8.4.28 + postcss: 8.4.38 postcss-merge-longhand@6.0.5(postcss@8.4.38): dependencies: @@ -11970,17 +12286,17 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - postcss-nested@6.0.1(postcss@8.4.28): + postcss-nested@6.0.1(postcss@8.4.38): dependencies: - postcss: 8.4.28 - postcss-selector-parser: 6.0.13 + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 - postcss-nesting@12.1.0(postcss@8.4.38): + postcss-nesting@12.1.5(postcss@8.4.38): dependencies: - '@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.0.13) - '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.13) + '@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.1.0) + '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0) postcss: 8.4.38 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.1.0 postcss-normalize-charset@6.0.2(postcss@8.4.38): dependencies: @@ -12049,12 +12365,12 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@6.0.13: + postcss-selector-parser@6.0.16: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@6.0.16: + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -12072,12 +12388,6 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.4.28: - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - postcss@8.4.38: dependencies: nanoid: 3.3.7 @@ -12099,7 +12409,7 @@ snapshots: tar-fs: 2.1.1 tunnel-agent: 0.6.0 - prettier@3.2.5: {} + prettier@3.3.0: {} pretty-bytes@6.1.1: {} @@ -12181,7 +12491,7 @@ snapshots: read-package-json@7.0.0: dependencies: - glob: 10.3.10 + glob: 10.4.1 json-parse-even-better-errors: 3.0.0 normalize-package-data: 6.0.0 npm-normalize-package-bin: 3.0.1 @@ -12439,14 +12749,6 @@ snapshots: once: 1.4.0 simple-concat: 1.0.1 - simple-git@3.23.0: - dependencies: - '@kwsites/file-exists': 1.1.1 - '@kwsites/promise-deferred': 1.1.1 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - simple-git@3.24.0: dependencies: '@kwsites/file-exists': 1.1.1 @@ -12594,7 +12896,7 @@ snapshots: sucrase@3.34.0: dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 glob: 7.1.6 lines-and-columns: 1.2.4 @@ -12634,7 +12936,7 @@ snapshots: tabbable@6.2.0: {} - tailwind-config-viewer@1.7.3(tailwindcss@3.4.1): + tailwind-config-viewer@2.0.2(tailwindcss@3.4.3): dependencies: '@koa/router': 12.0.1 commander: 6.2.1 @@ -12644,36 +12946,36 @@ snapshots: open: 7.4.2 portfinder: 1.0.32 replace-in-file: 6.3.5 - tailwindcss: 3.4.1 + tailwindcss: 3.4.3 transitivePeerDependencies: - supports-color - tailwind-merge@2.2.2: + tailwind-merge@2.3.0: dependencies: '@babel/runtime': 7.24.1 - tailwindcss@3.4.1: + tailwindcss@3.4.3: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.3.1 + fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.20.0 + jiti: 1.21.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.28 - postcss-import: 15.1.0(postcss@8.4.28) - postcss-js: 4.0.1(postcss@8.4.28) - postcss-load-config: 4.0.1(postcss@8.4.28) - postcss-nested: 6.0.1(postcss@8.4.28) - postcss-selector-parser: 6.0.13 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.1(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.0.16 resolve: 1.22.4 sucrase: 3.34.0 transitivePeerDependencies: @@ -12772,10 +13074,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - tsx@4.7.1: + tsx@4.11.2: dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.3 + esbuild: 0.20.2 + get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 @@ -12920,9 +13222,9 @@ snapshots: universalify@2.0.0: {} - unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)): + unocss@0.58.6(postcss@8.4.38)(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)): dependencies: - '@unocss/astro': 0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + '@unocss/astro': 0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) '@unocss/cli': 0.58.6(rollup@4.18.0) '@unocss/core': 0.58.6 '@unocss/extractor-arbitrary-variants': 0.58.6 @@ -12941,9 +13243,9 @@ snapshots: '@unocss/transformer-compile-class': 0.58.6 '@unocss/transformer-directives': 0.58.6 '@unocss/transformer-variant-group': 0.58.6 - '@unocss/vite': 0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)) + '@unocss/vite': 0.58.6(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)) optionalDependencies: - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - postcss - rollup @@ -13080,17 +13382,17 @@ snapshots: vary@1.1.2: {} - vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)): + vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)): dependencies: - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) - vite-node@1.4.0(@types/node@20.11.30)(terser@5.19.2): + vite-node@1.4.0(@types/node@20.14.1)(terser@5.19.2): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - '@types/node' - less @@ -13101,7 +13403,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(typescript@5.4.5)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)): + vite-plugin-checker@0.6.4(typescript@5.4.5)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2))(vue-tsc@2.0.19(typescript@5.4.5)): dependencies: '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 @@ -13114,7 +13416,7 @@ snapshots: semver: 7.6.0 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 @@ -13123,7 +13425,7 @@ snapshots: typescript: 5.4.5 vue-tsc: 2.0.19(typescript@5.4.5) - vite-plugin-inspect@0.7.38(@nuxt/kit@3.7.4(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)): + vite-plugin-inspect@0.7.38(@nuxt/kit@3.7.4(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)): dependencies: '@antfu/utils': 0.7.6 '@rollup/pluginutils': 5.0.4(rollup@4.18.0) @@ -13133,14 +13435,14 @@ snapshots: open: 9.1.0 picocolors: 1.0.0 sirv: 2.0.3 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) optionalDependencies: '@nuxt/kit': 3.7.4(rollup@4.18.0) transitivePeerDependencies: - rollup - supports-color - vite-plugin-inspect@0.8.4(@nuxt/kit@3.11.2(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)): + vite-plugin-inspect@0.8.4(@nuxt/kit@3.11.2(rollup@4.18.0))(rollup@4.18.0)(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)): dependencies: '@antfu/utils': 0.7.8 '@rollup/pluginutils': 5.1.0(rollup@4.18.0) @@ -13151,14 +13453,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) optionalDependencies: '@nuxt/kit': 3.11.2(rollup@4.18.0) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@3.7.1(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)): + vite-plugin-vue-inspector@3.7.1(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)): dependencies: '@babel/core': 7.23.0 '@babel/plugin-proposal-decorators': 7.23.0(@babel/core@7.23.0) @@ -13171,11 +13473,11 @@ snapshots: kolorist: 1.8.0 magic-string: 0.30.3 shell-quote: 1.8.1 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - supports-color - vite-plugin-vue-inspector@5.1.2(vite@5.2.11(@types/node@20.11.30)(terser@5.19.2)): + vite-plugin-vue-inspector@5.1.2(vite@5.2.11(@types/node@20.14.1)(terser@5.19.2)): dependencies: '@babel/core': 7.24.3 '@babel/plugin-proposal-decorators': 7.23.0(@babel/core@7.24.3) @@ -13186,17 +13488,17 @@ snapshots: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.10 - vite: 5.2.11(@types/node@20.11.30)(terser@5.19.2) + vite: 5.2.11(@types/node@20.14.1)(terser@5.19.2) transitivePeerDependencies: - supports-color - vite@5.2.11(@types/node@20.11.30)(terser@5.19.2): + vite@5.2.11(@types/node@20.14.1)(terser@5.19.2): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.0 optionalDependencies: - '@types/node': 20.11.30 + '@types/node': 20.14.1 fsevents: 2.3.3 terser: 5.19.2 @@ -13233,9 +13535,9 @@ snapshots: vue-devtools-stub@0.1.0: {} - vue-markdown-render@2.1.1(vue@3.4.21(typescript@5.4.5)): + vue-markdown-render@2.2.1(vue@3.4.21(typescript@5.4.5)): dependencies: - markdown-it: 12.3.2 + markdown-it: 13.0.2 vue: 3.4.21(typescript@5.4.5) vue-observe-visibility@2.0.0-alpha.1(vue@3.4.21(typescript@5.4.5)): @@ -13359,8 +13661,6 @@ snapshots: yallist@4.0.0: {} - yaml@2.3.1: {} - yaml@2.4.1: {} yargs-parser@21.1.1: {} @@ -13387,12 +13687,12 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-to-json-schema@3.22.4(zod@3.22.4): + zod-to-json-schema@3.22.4(zod@3.23.8): dependencies: - zod: 3.22.4 + zod: 3.23.8 - zod-to-json-schema@3.23.0(zod@3.22.4): + zod-to-json-schema@3.23.0(zod@3.23.8): dependencies: - zod: 3.22.4 + zod: 3.23.8 - zod@3.22.4: {} + zod@3.23.8: {} diff --git a/server/api/chats/[chat_id]/chat.post.ts b/server/api/chats/[chat_id]/chat.post.ts index 0eb102c..ad3868f 100644 --- a/server/api/chats/[chat_id]/chat.post.ts +++ b/server/api/chats/[chat_id]/chat.post.ts @@ -1,16 +1,146 @@ -import { ChatOpenAI } from '@langchain/openai'; -import { - ChatPromptTemplate, - MessagesPlaceholder, - AIMessagePromptTemplate, - HumanMessagePromptTemplate, -} from '@langchain/core/prompts'; -import { RunnableSequence } from '@langchain/core/runnables'; -import { StringOutputParser } from '@langchain/core/output_parsers'; import { chatMessageSchema, chatSchema, repoSchema } from '~/server/schemas'; import { and, eq } from 'drizzle-orm'; -import { BufferMemory } from 'langchain/memory'; -import { formatDocumentsAsString } from 'langchain/util/document'; + +import type { Document } from '@langchain/core/documents'; + +import { Runnable, RunnableSequence, RunnableMap, RunnableBranch, RunnableLambda } from '@langchain/core/runnables'; +import { HumanMessage, AIMessage, BaseMessage } from '@langchain/core/messages'; +import { BaseChatModel } from '@langchain/core/language_models/chat_models'; +import { ChatOpenAI, OpenAIEmbeddings } from '@langchain/openai'; +import { StringOutputParser } from '@langchain/core/output_parsers'; +import { PromptTemplate, ChatPromptTemplate, MessagesPlaceholder } from '@langchain/core/prompts'; +import { ChatMessageHistory } from 'langchain/memory'; + +const RESPONSE_TEMPLATE = `You are an expert programmer and problem-solver, tasked to answer any question about Langchain. +Using the provided context, answer the user's question to the best of your ability using the resources provided. +Generate a comprehensive and informative answer (but no more than 80 words) for a given question based solely on the provided search results (URL and content). +You must only use information from the provided search results. +Use an unbiased and journalistic tone. +Combine search results together into a coherent answer. +Do not repeat text. +Cite search results using [\${{number}}] notation. +Only cite the most relevant results that answer the question accurately. +Place these citations at the end of the sentence or paragraph that reference them - do not put them all at the end. +If different results refer to different entities within the same name, write separate answers for each entity. +If there is nothing in the context relevant to the question at hand, just say "Hmm, I'm not sure." Don't try to make up an answer. + +You should use bullet points in your answer for readability +Put citations where they apply rather than putting them all at the end. + +Anything between the following \`context\` html blocks is retrieved from a knowledge bank, not part of the conversation with the user. + + +{context} + + +REMEMBER: If there is no relevant information within the context, just say "Hmm, I'm not sure." Don't try to make up an answer. +Anything between the preceding 'context' html blocks is retrieved from a knowledge bank, not part of the conversation with the user.`; + +const REPHRASE_TEMPLATE = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question. + +Chat History: +{chat_history} +Follow Up Input: {question} +Standalone Question:`; + +type RetrievalChainInput = { + chat_history: string; + question: string; +}; + +const createRetrieverChain = (llm: BaseChatModel, retriever: Runnable) => { + // Small speed/accuracy optimization: no need to rephrase the first question + // since there shouldn't be any meta-references to prior chat history + const CONDENSE_QUESTION_PROMPT = PromptTemplate.fromTemplate(REPHRASE_TEMPLATE); + const condenseQuestionChain = RunnableSequence.from([ + CONDENSE_QUESTION_PROMPT, + llm, + new StringOutputParser(), + ]).withConfig({ + runName: 'CondenseQuestion', + }); + const hasHistoryCheckFn = RunnableLambda.from( + (input: RetrievalChainInput) => input.chat_history.length > 0, + ).withConfig({ runName: 'HasChatHistoryCheck' }); + const conversationChain = condenseQuestionChain.pipe(retriever).withConfig({ + runName: 'RetrievalChainWithHistory', + }); + const basicRetrievalChain = RunnableLambda.from((input: RetrievalChainInput) => input.question) + .withConfig({ + runName: 'Itemgetter:question', + }) + .pipe(retriever) + .withConfig({ runName: 'RetrievalChainWithNoHistory' }); + + return RunnableBranch.from([[hasHistoryCheckFn, conversationChain], basicRetrievalChain]).withConfig({ + runName: 'FindDocs', + }); +}; + +const formatDocs = (docs: Document[]) => { + return docs.map((doc, i) => `${doc.pageContent}`).join('\n'); +}; + +const formatChatHistoryAsString = (history: BaseMessage[]) => { + return history.map((message) => `${message._getType()}: ${message.content}`).join('\n'); +}; + +const serializeHistory = (input: any) => { + const chatHistory = input.chat_history || []; + const convertedChatHistory = []; + for (const message of chatHistory) { + if (message.human !== undefined) { + convertedChatHistory.push(new HumanMessage({ content: message.human })); + } + if (message['ai'] !== undefined) { + convertedChatHistory.push(new AIMessage({ content: message.ai })); + } + } + return convertedChatHistory; +}; + +const createChain = (llm: BaseChatModel, retriever: Runnable) => { + const retrieverChain = createRetrieverChain(llm, retriever); + const context = RunnableMap.from({ + context: RunnableSequence.from([ + ({ question, chat_history }) => ({ + question, + chat_history: formatChatHistoryAsString(chat_history), + }), + retrieverChain, + RunnableLambda.from(formatDocs).withConfig({ + runName: 'FormatDocumentChunks', + }), + ]), + question: RunnableLambda.from((input: RetrievalChainInput) => input.question).withConfig({ + runName: 'Itemgetter:question', + }), + chat_history: RunnableLambda.from((input: RetrievalChainInput) => input.chat_history).withConfig({ + runName: 'Itemgetter:chat_history', + }), + }).withConfig({ tags: ['RetrieveDocs'] }); + const prompt = ChatPromptTemplate.fromMessages([ + ['system', RESPONSE_TEMPLATE], + new MessagesPlaceholder('chat_history'), + ['human', '{question}'], + ]); + + const responseSynthesizerChain = RunnableSequence.from([prompt, llm]).withConfig({ + tags: ['GenerateResponse'], + }); + return RunnableSequence.from([ + { + question: RunnableLambda.from((input: RetrievalChainInput) => input.question).withConfig({ + runName: 'Itemgetter:question', + }), + chat_history: RunnableLambda.from(serializeHistory).withConfig({ + runName: 'SerializeHistory', + }), + }, + context, + responseSynthesizerChain, + ]); +}; export default defineEventHandler(async (event) => { const user = await requireUser(event); @@ -57,112 +187,133 @@ export default defineEventHandler(async (event) => { const config = useRuntimeConfig(); - const model = new ChatOpenAI({ modelName: config.ai.model, openAIApiKey: config.ai.token }).pipe( - new StringOutputParser(), - ); + const llm = new ChatOpenAI({ modelName: config.ai.model, openAIApiKey: config.ai.token, temperature: 0 }); const vectorStore = await getRepoVectorStore(repo.id); const retriever = vectorStore.asRetriever({ - searchType: 'mmr', // Use max marginal relevance search - searchKwargs: { fetchK: 5 }, + // searchType: 'mmr', // Use max marginal relevance search + // searchKwargs: { fetchK: 5 }, + k: 6, }); - const memory = new BufferMemory({ - returnMessages: true, // Return stored messages as instances of `BaseMessage` - memoryKey: 'chat_history', // This must match up with our prompt template input variable. - }); + const chatHistory = new ChatMessageHistory(); const messages = await db.select().from(chatMessageSchema).where(eq(chatMessageSchema.chatId, chat.id)).all(); for (const message of messages) { if (message.from === 'user') { - await memory.chatHistory.addAIChatMessage(message.content); + await chatHistory.addAIMessage(message.content); } else if (message.from === 'ai') { - await memory.chatHistory.addUserMessage(message.content); + await chatHistory.addUserMessage(message.content); } } - const questionGeneratorTemplate = ChatPromptTemplate.fromMessages([ - AIMessagePromptTemplate.fromTemplate( - 'Given the following conversation about a codebase and a follow up question, rephrase the follow up question to be a standalone question.', - ), - new MessagesPlaceholder('chat_history'), - AIMessagePromptTemplate.fromTemplate(`Follow Up Input: {question} - Standalone question:`), - ]); + const answerChain = createChain(llm, retriever); - const combineDocumentsPrompt = ChatPromptTemplate.fromMessages([ - AIMessagePromptTemplate.fromTemplate( - "Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\n{context}\n\n", - ), - new MessagesPlaceholder('chat_history'), - HumanMessagePromptTemplate.fromTemplate('Question: {question}'), - ]); + const llmDisplayName = config.ai.model; + + // const result = await answerChain.invoke( + // { + // question: message, + // chat_history: await chatHistory.getMessages(), + // }, + // { + // tags: ['model:' + llmDisplayName, 'RetrieveDocs'], + // metadata: { + // conversation_id: chat.id, + // llm: llmDisplayName, + // }, + // }, + // ); + + let runIdResolver: (runId: string) => void; + const runIdPromise = new Promise((resolve) => { + runIdResolver = resolve; + }); - const combineDocumentsChain = RunnableSequence.from([ + const stream = await answerChain.stream( { - question: (output: string) => output, - chat_history: async () => { - const { chat_history } = await memory.loadMemoryVariables({}); - return chat_history; - }, - context: async (output: string) => { - const relevantDocs = await retriever.getRelevantDocuments(output); - return formatDocumentsAsString(relevantDocs); - }, + question: message, + chat_history: await chatHistory.getMessages(), }, - combineDocumentsPrompt, - model, - new StringOutputParser(), - ]); - - const conversationalQaChain = RunnableSequence.from([ { - question: (i: { question: string }) => i.question, - chat_history: async () => { - const { chat_history } = await memory.loadMemoryVariables({}); - return chat_history; + tags: ['model:' + llmDisplayName, 'RetrieveDocs'], + metadata: { + conversation_id: chat.id, + llm: llmDisplayName, }, + callbacks: [ + { + handleChainStart(_llm, _prompts, runId) { + runIdResolver(runId); + }, + }, + ], }, - questionGeneratorTemplate, - model, - new StringOutputParser(), - combineDocumentsChain, - ]); + // { + // includeNames: ['FindDocs'], + // }, + ); - const result = await conversationalQaChain.invoke({ - question: message, - }); + async function finishChat(result: string) { + // summarize the dialog when we got the second question from the user + // if (messages.length >= 2 && chat.name.startsWith('Chat with')) { + // const context = [ + // 'Provide keywords or a short summary with maximal six words for the following dialog:\n', + // ...messages.map((m) => `${m.from}: ${m.content}`), + // `user: ${message}`, + // `ai: ${result}`, + // ]; + // const chatSummary = await model.invoke(context.join('\n')); + // await db.update(chatSchema).set({ name: chatSummary }).where(eq(chatSchema.id, chat.id)).run(); + // } - // summarize the dialog when we got the second question from the user - if (messages.length >= 2 && chat.name.startsWith('Chat with')) { - const context = [ - 'Provide keywords or a short summary with maximal six words for the following dialog:\n', - ...messages.map((m) => `${m.from}: ${m.content}`), - `user: ${message}`, - `ai: ${result}`, - ]; - const chatSummary = await model.invoke(context.join('\n')); - await db.update(chatSchema).set({ name: chatSummary }).where(eq(chatSchema.id, chat.id)).run(); + await db + .insert(chatMessageSchema) + .values([ + { + chatId: chat!.id, + from: 'user', + content: message, + createdAt: new Date(), + }, + { + chatId: chat!.id, + from: 'ai', + content: result, + createdAt: new Date(), + }, + ]) + .run(); } - await db - .insert(chatMessageSchema) - .values([ - { - chatId: chat.id, - from: 'user', - content: message, - createdAt: new Date(), - }, - { - chatId: chat.id, - from: 'ai', - content: result, - createdAt: new Date(), - }, - ]) - .run(); + // Only return a selection of output to the frontend + let result = ''; + const textEncoder = new TextEncoder(); + const clientStream = new ReadableStream({ + async start(controller) { + for await (const chunk of stream) { + result += JSON.stringify(chunk.content); + controller.enqueue(textEncoder.encode('event: data\ndata: ' + chunk.content + '\n\n')); + } + controller.enqueue(textEncoder.encode('event: end\n\n')); - return { answer: result }; + await finishChat(result); + + controller.close(); + }, + }); + + // setResponseHeader(event, 'Content-Type', 'text/html'); + // setResponseHeader(event, 'Cache-Control', 'no-cache'); + // setResponseHeader(event, 'Transfer-Encoding', 'chunked'); + // return sendStream(event, clientStream); + + const runId = await runIdPromise; + return new Response(clientStream, { + headers: { + 'Content-Type': 'text/event-stream', + 'X-Langsmith-Run-Id': runId, + }, + }); }); diff --git a/server/api/repos/[repo_id]/clone.post.ts b/server/api/repos/[repo_id]/clone.post.ts index 0b99a1a..72d26e5 100644 --- a/server/api/repos/[repo_id]/clone.post.ts +++ b/server/api/repos/[repo_id]/clone.post.ts @@ -3,7 +3,7 @@ import { simpleGit } from 'simple-git'; import { repoSchema } from '~/server/schemas'; import { eq } from 'drizzle-orm'; import { Glob } from 'glob'; -import { CharacterTextSplitter } from 'langchain/text_splitter'; +import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter'; import { Document } from 'langchain/document'; import { TextLoader } from 'langchain/document_loaders/fs/text'; @@ -76,10 +76,9 @@ export default defineEventHandler(async (event) => { const docs: Document[] = []; - const splitter = new CharacterTextSplitter({ - separator: ' ', - chunkSize: 2000, + const splitter = new RecursiveCharacterTextSplitter({ chunkOverlap: 200, + chunkSize: 4000, }); // index issues @@ -227,6 +226,7 @@ export default defineEventHandler(async (event) => { log({ docs: docs.length }); + // TODO: support incremental indexing await deleteRepoVectorStore(repo.id); const vectorStore = await getRepoVectorStore(repo.id); diff --git a/server/utils/vectorStore.ts b/server/utils/vectorStore.ts index 274d30f..d89f8c6 100644 --- a/server/utils/vectorStore.ts +++ b/server/utils/vectorStore.ts @@ -47,6 +47,8 @@ export async function getRepoVectorStore(repoId: number) { client, indexName, tenant: `repo-${repoId}`, + textKey: 'text', + metadataKeys: ['source'], }, ); } From 81c48dcf6a4e9d199b6b419d20186e1dee3387bd Mon Sep 17 00:00:00 2001 From: Anbraten <6918444+anbraten@users.noreply.github.com> Date: Tue, 4 Jun 2024 18:45:23 +0200 Subject: [PATCH 2/3] rm bun --- bun.lockb | Bin 486114 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 bun.lockb diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 4d9bf0f0d791c7fd1bb4f844fa745201f7cbaf11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486114 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

qWhS;qio2#4$NLfomtKK#Oq29P{ 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 Date: Wed, 12 Jun 2024 08:14:39 +0200 Subject: [PATCH 3/3] stream --- pages/chats/[chat_id].vue | 160 ++++++--- server/api/chats/[chat_id]/chat.post.ts | 10 +- server/api/chats/[chat_id]/stream_log.post.ts | 320 ++++++++++++++++++ 3 files changed, 436 insertions(+), 54 deletions(-) create mode 100644 server/api/chats/[chat_id]/stream_log.post.ts diff --git a/pages/chats/[chat_id].vue b/pages/chats/[chat_id].vue index 1a51156..561b388 100644 --- a/pages/chats/[chat_id].vue +++ b/pages/chats/[chat_id].vue @@ -105,6 +105,8 @@